package com.bjsxt.servlet;
import com.bjsxt.commons.JsonUtils;
import com.bjsxt.pojo.User;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/*
* 用户管理Servlet
* */
@WebServlet("/user.do")
public class UserServlet extends HttpServlet {
//生成模拟数据的初始化
public void init() throws ServletException {
User user=new User();
user.setUserid(1);
user.setUsername("Oldlu");
user.setUsersex("male");
user.setUserbirth(new Date());
User user2=new User();
user2.setUserid(2);
user2.setUsername("suyue");
user2.setUsersex("famale");
user2.setUserbirth(new Date());
List<User> list=new ArrayList<>();
list.add(user);
list.add(user2);
ServletContext servletContext=this.getServletContext();
servletContext.setAttribute("list",list);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String flag=req.getParameter("flag");
if("getData".equals(flag)){
this.getData(req,resp);
}else if("addUser".equals(flag)){
this.addUser(req,resp);
}
}
private void getData(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
//获取页面初始化数据
List<User> list=(List<User>) this.getServletContext().getAttribute("list");
String s= JsonUtils.objectToJson(list);
resp.setContentType("application/json");
PrintWriter pw=resp.getWriter();
pw.print(s);
pw.flush();
pw.close();
}
//处理添加用户请求
private void addUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
User user=this.creatUser(req);
ServletContext servletContext=this.getServletContext();
List<User> list=(List<User>) servletContext.getAttribute("list");
list.add(user);
resp.setContentType("text/plain;charset=utf-8");
PrintWriter pw=resp.getWriter();
pw.print("添加成功");
pw.flush();
pw.close();
}
//获取请求数据
private User creatUser(HttpServletRequest req){
String userid=req.getParameter("userid");
String username=req.getParameter("username");
String usersex=req.getParameter("usersex");
String userbirth=req.getParameter("userbirth");
User user=new User();
user.setUserid(Integer.parseInt(userid));
user.setUsername(username);
user.setUsersex(usersex);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date parse = sdf.parse(userbirth);
user.setUserbirth(parse);
} catch (ParseException e) {
e.printStackTrace();
}
return user;
}
}
老师可不可以帮我看一下,我这个代码哪个
try {
Date parse = sdf.parse(userbirth);
user.setUserbirth(parse);
} catch (ParseException e) {
e.printStackTrace();
}
这里面出错,我每次加上这个try catch,我的代码就运行不过去,但是它也不报错。就卡在哪里。把它注释了代码就能正常运行但是哪个日期就显示null。不注释的话就直接卡在哪里面了。
