@WebServlet("/user")
public class UserServlet extends HttpServlet {
private UserDAO userDAO =new UserDAO();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String act = request.getParameter("act");
if (act == null){
act = "list";//默认展示列表项
}
switch (act){
case "go_edit"://跳转到编辑页面,如果是修改需要回填数据
goEdit(request,response);
break;
case "edit"://执行添加或修改操作
edit(request,response);
break;
case "delete"://删除
delete(request,response);
break;
default:
list(request,response);
}
}
protected void list (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
//封装查询条件
UserCriteria criteria =new UserCriteria();
//参数提取
RequestUtil.populate(request,criteria,"yyyy-MM-dd");
//查条数
Long totalCount =userDAO.getCount(criteria);
request.setAttribute("pageInfo",new PageInfo(criteria,totalCount));
if (totalCount>0){
//有数据就查询列表
List<User> userList =userDAO.selectList(criteria);
request.setAttribute("userList",userList);
}
request.getRequestDispatcher(SystemConstants.PAGE_PATH +"user_list.jsp").forward(request,response);
}
protected void goEdit (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Integer id =RequestUtil.getInteger(request,"id");
if(id !=null){
User user =userDAO.selectById(id);
request.setAttribute("user",user);
}
request.getRequestDispatcher(SystemConstants.PAGE_PATH+"user_edit.jsp").forward(request,response);
}
protected void edit (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
User user = new User();
RequestUtil.populate(request,user,"yyyy-MM-dd");
if (CommonUtil.isEmpty(user.getName())){
error("姓名不能为空",request,response);
return;
}
if (CommonUtil.isEmpty(user.getUsername())){
error("用户名不能为空",request,response);
return;
}
int result= 0;
if (user.getId() == null){
if(userDAO.getUserByUsername(user.getUsername())!=null){
error("用户名已存在",request,response);
return;
}
user.setPassword("000000");
SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
user.setCreatedDate(format.format(new Date()));
user.setStatus(SystemConstants.STATUS_AVAILABLE);
result = userDAO.add(user);
}else {
result = userDAO.update(user);
}
if (result == 1){
//成功后返回登录
request.getRequestDispatcher(SystemConstants.PAGE_PATH + "/user?act=list");
}else {
error("修改失败,请稍后再试",request,response);
}
}
public void error(String message,HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
request.setAttribute("message",message);
request.getRequestDispatcher(SystemConstants.PAGE_PATH + "user_edit.jsp").forward(request,response);
}
protected void delete (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Integer id =RequestUtil.getInteger(request,"id");
userDAO.delete(id);
response.sendRedirect(request.getContextPath()+"user?act=list");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}
```java
public class RequestUtil {
public static Integer getInteger(HttpServletRequest request,String name){
String s=request.getParameter(name);
if (s!=null&&s.trim().length()>0){
try {
return Integer.parseInt(s);
}catch (Exception e){
}
}
return null;
}
public static Long getLong(HttpServletRequest request,String name){
String s=request.getParameter(name);
if (s!=null && s.trim().length()>0){
try {
return Long.parseLong(s);
}catch (Exception e){
}
}
return null;
}
public static Double getDouble(HttpServletRequest request,String name){
String s=request.getParameter(name);
if (s!=null && s.trim().length()>0){
try {
return Double.parseDouble(s);
}catch (Exception e){
}
}
return null;
}
public static String getString(HttpServletRequest request,String name){
String s=request.getParameter(name);
if (s!=null && s.trim().length()>0){
try {
return s;
}catch (Exception e){
}
}
return null;
}
public static String getStringWithBlank(HttpServletRequest request,String name){
return request.getParameter(name);
}
public static Date getDate(HttpServletRequest request, String name,String pattern){
SimpleDateFormat format=new SimpleDateFormat(pattern);
String s=request.getParameter(name);
if (s!=null && s.trim().length()>0){
try {
return format.parse(s);
}catch (Exception e){
}
}
return null;
}
public static <T> void populate(HttpServletRequest request, T clazz){
try {
ConvertUtils.register(new DateConverter(null),Date.class);
ConvertUtils.register(new LongConverter(null),Long.class);
ConvertUtils.register(new IntegerConverter(null),Integer.class);
ConvertUtils.register(new DoubleConverter(null),Double.class);
ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class);
BeanUtils.populate(clazz,request.getParameterMap());
}catch (IllegalAccessException e){
e.printStackTrace();
}catch (InvocationTargetException e){
e.printStackTrace();
}
}
public static <T> void populate(HttpServletRequest request, T clazz,String datePattern){
DateConverter converter=new DateConverter();
converter.setPattern(new String(datePattern));
ConvertUtils.register(converter,Date.class);
populate(request,clazz);
}
}

日历乱码以及无法时间查询,请问应该咋解决?