package service.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import service.dao.MyOpenconnection; import service.utils.HttpUtil; import service.utils.JSONUtil; import service.utils.StringUtil; public class RegisterServlet extends HttpServlet { private String savedPath; private String filename; @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("jinlail "); Connection connection = null; String email = request.getParameter("email"); String gender = request.getParameter("gender"); String nickname = new String(request.getParameter("nickname").getBytes( "iso-8859-1"), "utf-8"); String password = request.getParameter("pwd"); String avatar = request.getParameter("avatar"); if(!StringUtil.isNull(avatar)){ ServletContext s1 = this.getServletContext(); String photoRootPath=s1.getRealPath("/") + "images/"; String photoPath = photoRootPath + email.hashCode(); savedPath = email.hashCode() + "/"; filename = CommonServlet.getRandomFileName(); try { download(avatar, filename, photoPath); } catch (Exception e1) { e1.printStackTrace(); } } String sql = "select * from t_kx_users where email = ?"; try { connection = MyOpenconnection.getconnection(); PreparedStatement preparedStatement = connection .prepareStatement(sql); preparedStatement.setString(1, email); ResultSet rs = preparedStatement.executeQuery(); if(!rs.next()){ sql = "insert into t_kx_users(email, name, password, avatar, sex_id) values(?,?,?,?,?)"; preparedStatement = connection .prepareStatement(sql); preparedStatement.setString(1, email); preparedStatement.setString(2, nickname); preparedStatement.setString(3, password); preparedStatement.setString(4, savedPath + filename); preparedStatement.setString(5, gender); preparedStatement.execute(); sendJSON(true, "ע��ɹ���", response); }else{ sendJSON(false, "�û����Ѵ��ڣ�", response); } } catch (Exception e) { response.getWriter().println(e.getMessage()); MyOpenconnection.closeConnection(connection); }finally{ MyOpenconnection.closeConnection(connection); } } public static void download(String urlString, String filename,String savePath) throws Exception { // ����URL URL url = new URL(urlString); // ������ URLConnection con = url.openConnection(); //��������ʱΪ5s con.setConnectTimeout(5*1000); // ������ InputStream is = con.getInputStream(); // 1K�����ݻ��� byte[] bs = new byte[1024]; // ��ȡ�������ݳ��� int len; // ������ļ��� File sf=new File(savePath); if(!sf.exists()){ sf.mkdirs(); } OutputStream os = new FileOutputStream(sf.getPath()+"\\"+filename); // ��ʼ��ȡ while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } // ��ϣ��ر��������� os.close(); is.close(); } protected void sendJSON(boolean success, Object obj, HttpServletResponse response) { try { Map resultmap = new HashMap(); resultmap = HttpUtil.getResult(success, obj, 0, null); OutputStream os = response.getOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(os); oos.writeObject(JSONUtil.map2json(resultmap)); } catch (Exception e) { e.printStackTrace(); } } }