前端输入数据交给/student(也就是这个类处理)处理 userRequset=save(执行save方法)
问题是switch里面不加break 为什么会报提交后无法调用重定向 不应该是直接重定向别的页面去了吗 请各位老师傅请教 多谢了
@WebServlet("/students")
public class StudentServlet extends HttpServlet {
private StudentService bSer=new StudentServiceimpl();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
String userRequest = req.getParameter("userRequest");
userRequest=(userRequest!=null)?userRequest:"";
switch (userRequest){
case "save":
save(req,resp);
break;
case "input":
input(req,resp);
break;
case "delete":
delete(req,resp);
break;
default:
showAll(req,resp);
}
}
private void showAll(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
Object user_in_session = req.getSession().getAttribute("USER_IN_SESSION");
if (user_in_session==null){
resp.sendRedirect("/login.jsp");
return;
}
StudentUserQuery studentUserQuery = new StudentUserQuery();
String currentPage = req.getParameter("currentPage");
if (IsNotNullUtil.isNotNull(currentPage)){
studentUserQuery.setCurrentPage(Integer.parseInt(currentPage));
}
String pageSize = req.getParameter("pageSize");
if (IsNotNullUtil.isNotNull(pageSize)){
studentUserQuery.setPageSize(Integer.parseInt(pageSize));
}
String bname = req.getParameter("bname");
if ((IsNotNullUtil.isNotNull(bname))){
studentUserQuery.setBname(bname);
}
String minSalePrice = req.getParameter("minSalePrice");
if (IsNotNullUtil.isNotNull(minSalePrice)){
studentUserQuery.setMinSalePrice(new BigDecimal(minSalePrice));
}
String maxSalePrice = req.getParameter("maxSalePrice");
if (IsNotNullUtil.isNotNull(maxSalePrice)){
studentUserQuery.setMaxSalePrice(new BigDecimal(maxSalePrice));
}
PageShow pageShow = bSer.query(studentUserQuery);
req.setAttribute("studentUserQuery",studentUserQuery);
req.setAttribute("pageShow",pageShow);
req.getRequestDispatcher("/WEB-INF/bookShow.jsp").forward(req,resp);
}
private void delete(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String id = req.getParameter("id");
if (IsNotNullUtil.isNotNull(id)){
bSer.delById(Long.valueOf(id));
}
resp.sendRedirect("/students");
}
private void input(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String id = req.getParameter("id");
if (IsNotNullUtil.isNotNull(id)){
Students students = bSer.selOneById(Long.parseLong(id));
req.setAttribute("students",students);
return;
}
try {
req.getRequestDispatcher("/WEB-INF/addOrUpd.jsp").forward(req, resp);
}catch (Exception e){
e.printStackTrace();
}
}
private void save(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String sid = req.getParameter("sid");
String sname = req.getParameter("sname");
String sub_id = req.getParameter("sub_id");
String address = req.getParameter("address");
String phone = req.getParameter("phone");
String email = req.getParameter("email");
String age = req.getParameter("age");
Students students = new Students();
if (IsNotNullUtil.isNotNull(sid)){
students.setSid(sid);
}
if (IsNotNullUtil.isNotNull(sname)){
students.setSname(sname);
}
if (IsNotNullUtil.isNotNull(sub_id)){
students.setSub_id(Integer.valueOf(sub_id));
}
if (IsNotNullUtil.isNotNull(address)){
students.setAddress(address);
}
if (IsNotNullUtil.isNotNull(phone)){
students.setPhone(phone);
}
if (IsNotNullUtil.isNotNull(email)){
students.setEmail(email);
}
if (IsNotNullUtil.isNotNull(age)){
students.setAge(Integer.valueOf(age));
}
bSer.save(students);
resp.sendRedirect("/students");
}
}
回答:有点奇怪呀,你这个重定向,一会重定向到页面,一会又跳到请求,都可以实现的吗,不是跳到页面才对的吗
注意请求及页面的命名不要冲突,不然容易搞混