第一个问题:在以下情况下使用哪个范围对象:
- 您希望维护客户需要在多个页面中输入的用户配置文件。
- 您希望验证用户在同一个 Web 应用程序中起诉另一个 servlet 时输入的用户 ID 和密码。
第二个问题: RequestDispatcher 对象有两个方法,include()
和forward()
. 有什么区别?
第三个问题: Servlet 使用一个javax.servlet.http.HttpServletResponse
对象。你如何使用它来返回文本数据和二进制数据?
(a) 会话范围
RequestDispather.forward()
一旦您将请求从说 Servlet A 转发到任何其他 Servlet/JSP 控件,就会从 Servlet A 转移到转发的 patrty 并且它永远不会针对该请求返回给 A。
RequestDispather.Include()
如果 Servlet A(上例)包含其他 Servlet/JSP(比如 B 或 B.jsp)的响应,则包括您正在做的事情,所以暂时控制转到 B 或 B.jsp(它们将生成响应)控制来了回到 A & 生成的响应被添加到 A 的响应中。
检查HttpServletResponse API以进行响应写入
回答:
Forward() 方法用于将请求从 Servlet 转发到 Servlet/JSP/HTML 或 JSP 到 Servlet/JSP/HTML
include() 方法用于将 Servlet 或 JSP 的响应包含在另一个 Servlet 或 JSP 中
您可以创建一个单独的 Servlet 类来验证另一个 Servlet 类的用户 ID 和密码,这可以通过 Servlet 链接概念来完成。在验证 Server 类中,调用请求调度器将响应转发给 Main Servlet 类。
例如。
RequestDispatcher rd=req.getRequestDispatcher("url/servlet name");
rd.forward(req,res)