Java getRequestDispatcher()和forward()方法是如何工作的?
我正在使用JSP、JSTL和Java servlet创建登录/注册页面,并且在servlet的doPost()方法中使用:Java getRequestDispatcher()和forward()方法是如何工作的?,java,jsp,servlets,Java,Jsp,Servlets,我正在使用JSP、JSTL和Java servlet创建登录/注册页面,并且在servlet的doPost()方法中使用: request.setAttribute("message", "invalid login"); request.getRequestDispatcher("index.jsp").forward(request, response); 当用户从index.jsp输入无效的登录凭据时发出警报 这是有效的,但我不知道为什么有效;以下是我的问题: 为什么对请求对象而不是响应
request.setAttribute("message", "invalid login");
request.getRequestDispatcher("index.jsp").forward(request, response);
当用户从index.jsp输入无效的登录凭据时发出警报
这是有效的,但我不知道为什么有效;以下是我的问题:
HttpServletRequest
一直传递,直到最终处理响应为止。也就是说,当呈现JSP时,请求对象仍然可用。这就是在整个请求处理过程中传递任意数据的方式RequestDispatcher
是根据请求创建的,因为它需要了解servlet环境。否则它就不知道如何发送任何东西HttpServletRequest
一直传递,直到最终处理响应为止。也就是说,当呈现JSP时,请求对象仍然可用。这就是在整个请求处理过程中传递任意数据的方式RequestDispatcher
是根据请求创建的,因为它需要了解servlet环境。否则它就不知道如何发送任何东西