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);
}
浙公网安备 33010602011771号