servlet层调用方法if和switch的区别
1.这样是可行的
if("insert".equals(method)) { insert(request,response); } else if("delete".equals(method)) { try { delete(request,response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if("update".equals(method)) { update(request,response); } else if("list".equals(method)) { try { list(request,response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
2.这样不行
switch(method){ case "insert": insert(request,response);break; case "delete": try { delete(request,response); } catch (Exception e) { e.printStackTrace(); } break; case "update": try { update(request,response); } catch (Exception e) { e.printStackTrace(); } break; case "list": try { list(request,response); } catch (Exception e) { e.printStackTrace(); } break; }
3.但是这么写可以
switch (method){ case "findAll"://查询所有数据 List<Student> list = studentRepository.findAll();//调用StudentRepository中的findAll()方法 req.setAttribute("list",list);//存入request中 req.getRequestDispatcher("index.jsp").forward(req,resp);//转发到index.jsp中 case "delete"://删除操作 String idStr=req.getParameter("id"); Integer id=Integer.parseInt(idStr); studentRepository.deleteById(id);//根据id删除 resp.sendRedirect("/student"); break; case "findById": idStr=req.getParameter("id"); id=Integer.parseInt(idStr); req.setAttribute("student",studentRepository.findById(id)); req.getRequestDispatcher("update.jsp").forward(req,resp); break; case "add": req.getRequestDispatcher("add.jsp").forward(req,resp); }