- Java code
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String password = request.getParameter("password"); if(null == name || null == password || name.trim().equals("") || password.equals("")) { request.setAttribute("message", "请输入用户名和密码"); request.getRequestDispatcher("/index.jsp").forward(request, response); } if(name.equals(password)) { request.setAttribute("name", name); request.getRequestDispatcher("/welcome.jsp").forward(request, response); }else { request.setAttribute("message", "请输入正确的用户名和密码"); request.getRequestDispatcher("/index.jsp").forward(request, response); } }
刚进新公司,写了个servlet的想练练手,结果报错了
以上代码,我理解的是如果进到第一个if后,用request请求转发,代码应该就不会往下走了。。
结果是代码还是继续了,最后报错。。不理解了。
求解答。
------解决方案--------------------------------------------------------
- Java code
if(null == name && name.trim().equals("") ) { request.setAttribute("message", "请输入用户名和密码"); request.getRequestDispatcher("/index.jsp").forward(request, response); }if(null == password && password.equals("")){}
------解决方案--------------------------------------------------------
转发了方法其实并没有结束,如果想结束方法还得在后面加return关键字。