servlet应用2
来源:互联网 发布:w7电脑找不到wifi网络 编辑:程序博客网 时间:2024/05/29 15:14
Servlet的应用(二)
重定向和请求分派
• 重定向
– HttpServletRequest接口提供的sendRedirect()方法用于生成302响应码和Location响应头,从而通知客户端去重新访问Location响应头中指定的URL,其完整的定义语法如下:
• public void sendRedirect(String location) throws IOException;
– 其中的location参数指定了重定向的URL,它可以使用绝对URL和相对URL,Servlet容器会自动将相对URL转换成绝对URL后,再生成location头字段。
• 请求分派
– Servlet API中定义了一个RequestDispatcher接口,俗称请求分派器。它定义了如下两个方法:
• public void forward(ServletRequest request, ServletResponse response)
• throws ServletException,IOException;
• public void include(ServletRequest request, ServletResponse response)
• throws ServletException,IOException;
– 获取RequestDispatcher实例的方式主要有两种:
• 调用ServletContext接口提供的getRequestDispatcher(String url)方法。
• 调用ServletRequest接口提供的getRequestDispatcher(String url)方法。
• RequestDispatcher接口的forward()方法用于将请求转发到RequestDispatcher实例封装的资源,由新的资源对客户端作出响应,它的原理可以用图4.16来表示。
• 同样使用“http://localhost:8080/jsp_04_servlet/servlet1?name=test”路径访问这个Servlet1,客户端浏览器将得到如图4.17所示的效果。
• 重定向和请求分派的比较
HttpServletResponse的sendRedirect()方法实现的重定向和RequestDispatcher的forward()方法实现的请求转发的比较:
– 请求分派只能将请求转发给同一个Web应用中的其他组件;而重定向不仅可以定向到当前应用程序中的其他资源,也可以重定向到其他站点的资源上。
– 重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;而请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
– 请求分派的发起者和被调用者之间共享相同的request实例和response实例,它们属于同一个“请求/响应”过程;而重定向的发起者和被调用者使用各自的request实例和response实例,它们各自属于独立的“请求/响应”过程。
–
- (23)Servlet应用2
- servlet应用2
- Servlet应用
- servlet应用
- servlet应用
- Servlet 应用
- 【Servlet】 应用
- servlet应用
- Servlet 应用
- Servlet的应用----servlet基础
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Filter Servlet 应用
- Spring中Aspectj和Schema-based AOP混用引起的错误
- Page和window的区别
- phpDoc使用入门
- 把流中的字符串转换为 UTF 格式 - 回复 "lostapple" 的问题
- java正则累积
- servlet应用2
- 第二、UIScrollView的使用大全
- 《Java中的鼠标和键盘事件 》
- scanf()函数的说明
- android消息机制
- servletConfig和servletContext
- Window.ShowModalDialog使用手册
- 《Java多线程机制 》
- 测试 TStreamWriter、TStreamReader