package com.jzh.news.servlet; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import com.google.gson.Gson; import com.jzh.news.dao.UserDaoImpl; import com.jzh.news.entity.User; import com.jzh.news.util.Base64Coder; import com.jzh.news.xmpp.XmppTool; public class DoGetUser extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String action = request.getParameter("action"); PrintWriter out = response.getWriter(); JSONObject array = new JSONObject(); UserDaoImpl ndi = new UserDaoImpl(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf.format(new Date()); if (action.equals("login")) {// �û���¼ String user = request.getParameter("user"); String password = request.getParameter("password"); List<User> list = new ArrayList<User>(); if (password.equals("QQSJHAAJSHAJSH")) { list = ndi.Search(user); } else if (password.equals("SINAHKSJDHSKDH")) { list = ndi.Search(user); } else { list = ndi.Search(user, password); } if (list.size() < 1) { array.put("code", "failure"); array.put("msg", "�û�������������"); array.put("data", ""); } else { System.out.println("\n�û�����" + user + "\n��" + time + "��¼��"); array.put("code", "success"); array.put("msg", "��¼�ɹ�"); array.put("data", list.get(0)); } } else if (action.equals("save")) { String user = request.getParameter("user"); String password = request.getParameter("password"); String qq = request.getParameter("qq"); String icon = request.getParameter("icon"); String nickname = request.getParameter("nickname"); String city = request.getParameter("city"); String location = request.getParameter("location"); String sex = request.getParameter("sex"); String years = request.getParameter("years"); User users = new User(user, password, qq, icon, nickname, city, sex, years, location, "û���ԣ���ǩ����"); if (ndi.Save(users)) { array.put("code", "success"); array.put("msg", "ע��ɹ�"); System.out.println("\n�û�����" + user + "ע��ɹ�" + "\ntime:" + time); out.print(array); out.flush(); out.close(); XmppTool.create(users); return; } else { array.put("code", "failure"); array.put("msg", "ע��ʧ��"); } } else if (action.equals("search")) { String user = request.getParameter("user"); List<User> list = new ArrayList<User>(); list = ndi.Search(user); if (list.size() < 1) { array.put("code", "success"); array.put("msg", "δע��"); } else { array.put("code", "failure"); array.put("msg", "��ע��"); } } else if (action.equals("search_meeesage")) { String user = request.getParameter("user"); List<User> list = new ArrayList<User>(); list = ndi.Search(user); if (list.size() < 1) { array.put("code", "failure"); array.put("msg", "�û����ϻ�ȡʧ��"); array.put("data", ""); } else { array.put("code", "success"); array.put("msg", "�û����ϻ�ȡ�ɹ�"); array.put("data", list.get(0)); } } else if (action.equals("update_message")) { String nickname = request.getParameter("nickname"); String sex = request.getParameter("sex"); String years = request.getParameter("years"); String qq = request.getParameter("qq"); String user = request.getParameter("user"); String city = request.getParameter("city"); String qianming = request.getParameter("qianming"); System.out.println(user + "\t�޸�������" + "\ntime:" + time); User users = new User(); users.setUser(user); users.setNickname(nickname); users.setSex(sex); users.setYears(years); users.setQq(qq); users.setCity(city); users.setQianming(qianming); if (!ndi.update_message(users)) { array.put("code", "failure"); array.put("msg", "�û������޸�ʧ��"); } else { array.put("code", "success"); array.put("msg", "�û������޸ijɹ�"); User u = ndi.Search_xmpp_message(users.getUser()); String str = new Gson().toJson(u); ndi.update_xmpp_message(u.getUser().toLowerCase(), str); } } else if (action.equals("update_password")) { String user = request.getParameter("user"); String password = request.getParameter("password"); System.out.println(user + "\t�޸�������" + "\ntime:" + time); if (!ndi.update_message(user, password)) { array.put("code", "failure"); } else { array.put("code", "success"); } } else if (action.equals("update_icon")) { String files = request.getParameter("file"); String filename = request.getParameter("filename"); String user = request.getParameter("user"); System.out.println(user + "\t�޸���ͷ��" + "\ntime:" + time); if (files != null) { byte[] b = Base64Coder.decodeLines(files); File file = new File("c:/yyquan_icon/"); if (!file.exists()) { file.mkdirs(); } FileOutputStream fos = new FileOutputStream(file.getPath() + "/" + filename); fos.write(b); fos.flush(); fos.close(); if (!ndi.update_icon(user, filename)) { array.put("code", "failure"); } else { array.put("code", "success"); User u = ndi.Search_xmpp_message(user); String str = new Gson().toJson(u); ndi.update_xmpp_message(u.getUser().toLowerCase(), str); } } } else if (action.equals("search_icon")) { response.setContentType("image/gif"); String name = request.getParameter("name"); String imagePath = "c:/yyquan_icon/" + name; FileInputStream fis = new FileInputStream(imagePath); int size = fis.available(); // �õ��ļ���С byte data[] = new byte[size]; fis.read(data); // ������ fis.close(); OutputStream os = response.getOutputStream(); os.write(data); os.flush(); os.close(); } out.print(array); out.flush(); out.close(); } }