public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doPost-----UserServlet---doPost--->");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String method = request.getParameter("method");
PrintWriter out = response.getWriter();
if ("ajaxhtml".equals(method)) {
System.out.println("ajaxhtml------------------------------------>");
// 调用javaBean的方法
User user = new User();
UserService service = new UserServiceImpl();
List<User> userAll = service.getUserAll();
request.setAttribute("user", userAll);
request.getRequestDispatcher("newList.jsp").forward(request,
response);
} else if ("ajaxjson".equals(method)) {
String uname = request.getParameter("uname");
String upass = request.getParameter("upass");
// 判断:注意第二个equals判断是否加了!
if (uname == null && uname.equals("")) {
// 返回页面提示信息
out.print("1");
} else if (upass == null && upass.equals("")) {
// 返回页面提示信息
out.print("2");
} else {
// 1.去数据库里查询是否有这个用户和密码
User user = new User();
user.setUname(uname);
user.setUpass(upass);
UserService service = new UserServiceImpl();
User users = service.getUserByUnameAndUpass(user);
if (users != null && !users.equals("")) {
request.getSession().setAttribute("user", user);
List<User> userAll = service.getUserAll();
StringBuffer json = new StringBuffer("[");
for (int i = 0; i < userAll.size(); i++) {
User u = userAll.get(i);
// [{"id":"1","uname":"aa","upass":"aa"},{"id":"2","uname":"bb","upass":"bb"}]
// 集合数据拼接成json数组
String str = "{\"id\":\"" + u.getId()
+ "\",\"uname\":\"" + u.getUname()
+ "\",\"upass\":\"" + u.getUpass() + "\"}";
json.append(str);
if (i < userAll.size() - 1) {
json.append(",");
}
}
json.append("]");
out.print(json);
} else {
out.print("3");
}
}
out.close();
// 统计人数的相应业务的处理
} else if ("listener2".equals(method)) {
System.out
.println("listener2------------------------------------>");
String uname = request.getParameter("uname");
// 判断:注意第二个equals判断是否加了!
if (uname != null && !uname.equals("")) {
User user = new User();
user.setUname(uname);
request.getSession().setAttribute("user", user);
// 加listener2 是因为我把success放在listener2目录下:
response.sendRedirect("listener2/success.jsp");
} else {
// 返回页面提示信息
request.setAttribute("mess", "用户名不能为空");
System.out.println(1111);
System.out.println("UserServlet------else---null->");
request.getRequestDispatcher("listener2/login.jsp").forward(
request, response);
}
} else if ("listener".equals(method)) {
String uname = request.getParameter("uname");
// 判断:注意第二个equals判断是否加了!
if (uname != null && !uname.equals("")) {
User user = new User();
user.setUname(uname);
request.getSession().setAttribute("user", user);
// 加listener 是因为我把success放在listener目录下:
response.sendRedirect("listener/success.jsp");
} else {
// 返回页面提示信息
request.setAttribute("mess", "用户名不能为空");
System.out.println("UserServlet------else---->");
request.getRequestDispatcher("listener/login.jsp").forward(
request, response);
}
} else if ("login".equals(method)) {
System.out.println("login--------------->" + method);
String uname = request.getParameter("uname");
String upass = request.getParameter("upass");
User user = new User();
user.setUname(uname);
user.setUpass(upass);
// 1.把数据保存在User里
// 然后到后台去查询
UserService service = new UserServiceImpl();
User users = service.getUserByUnameAndUpass(user);
System.out.println("doPost---------->" + users);
if (users != null && !users.equals("")) {
// 把users保存在Session作用域里
request.getSession().setAttribute("user", users);
System.out
.println("UserServlet------users != null&&users.equals(')---->"
+ users.getUname() + users.getUpass());
response.sendRedirect("success.jsp");
} else {
// 返回页面提示信息
request.setAttribute("mess", "用户名或密码有误");
System.out.println("UserServlet------else---->");
request.getRequestDispatcher("login.jsp").forward(request,
response);
}
System.out.println("doPost----end--UserServlet-->");
} else {
// 解析upload.jsp页面
// 判断是否是这个类型:multipart/form-data post
// 核心上传组件是哪几个对象
// 明确:核心 FileItemFactory ServletFileUpload FileItem对象
// 提交图片或文件 表单元素 判断一下
// 路径也要考虑
// 页面元素和图片(文件)名获取的方式不同
// FileItem对象取想要的元素:
// 页面元素 (类似于获取这样的getParameter元素); 保存在User对象
// 上传的文件和图片 文件名和图片名拿到,保存在User对象里
// 最后: service.add(User);
// 具体如下:
// 声明或初始化
User user = new User();
String uploadfilepath = null;
String uploadfileName = null;
// images
uploadfilepath = request.getSession().getServletContext()
.getRealPath("images/");
System.out.println(uploadfilepath);
File uploadnewname = new File(uploadfilepath);
// 不存在这个目录,就自动创建一个新的
if (!uploadnewname.exists()) {
uploadnewname.mkdir();
}
// 判断是否是multipart/form-data post
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {// 是multipart/form-data post类型
// 上传的核心组件
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// 解析
List<FileItem> fileitem = null;
try {
fileitem = upload.parseRequest(request);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 迭代器遍历
Iterator<FileItem> items = fileitem.iterator();
while (items.hasNext()) {
FileItem item = items.next();
// 表单元素
if (item.isFormField()) {
String name = item.getFieldName();
// 获取实体类中的相同元素后,把元素放在User对象中
if ("uname".equals(name)) {
user.setUname(item.getString("UTF-8"));
} else if ("upass".equals(name)) {
user.setUpass(item.getString("UTF-8"));
} else if ("uremark".equals(name)) {
user.setUremark(item.getString("UTF-8"));
}
System.out.println(user);
} else {
// 获取上传图片名或文件名
uploadfileName = item.getName();
File file = new File(uploadfileName);
user.setUfile(file.getName());
// 设置保存的路径
File filepath = new File(uploadfilepath, file.getName());
// 写入路径
try {
item.write(filepath);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("上传文件的路径: " + filepath);
}
}
} else {// 不是multipart/form-data post的情况
// PrintWriter out = response.getWriter();
out.println("系统出现问题!");
out.close();
}
// 调用javabean
UserService service = new UserServiceImpl();
service.save(user);
}
}
|