Servlet开发(四)Response对象、Request对象的请求重定向、请求转发
来源:互联网 发布:知联会是什么组织 编辑:程序博客网 时间:2024/05/16 00:59
(WEB学习笔记 三)
(在实际开发中,如果需要从一个网页跳到另一个网页,则可以根据需要选择请求重定向或者请求转发)
请求重定向(通过response实现请求重定向 ):指一个web资源收到客户端请求后,通知客户端去访问另外一个web资源。
请求转发(request对象实现请求转发): 指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。
一、请求重定向
示例代码:
public class ResquestDemo6 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.sendRedirect("/JavaServlet/Identity.html"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
1) 使用方法
response.sendRedirect("/JavaServlet/Identity.html");
2)地址栏是否变化
改变为重定向的地址栏
3)几次请求几次响应
两次请求两次响应
4)范围
同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源
5) 方法的相对URL以“/”开头,它是相对于整个WEB站点(WEBRoot)的根目录
二、请求转发
示例代码:
public class RequestDemo7 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher rd= request.getRequestDispatcher("/Identity.html"); rd.forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
1)使用方法
RequestDispatcher rd= request.getRequestDispatcher("Identity.html");rd.forward(request, response);
2)地址栏不发生改变
3)几次请求几次响应
一次请求一次响应
4) 范围
只能将请求转发给同一个web应用中的组件
5 )方法的相对URL以“/”开头 它是相对于当前WEB应用程序(整个工程)的根目录
三、请求重定向和请求转发的区别
分为四个部分:
1)地址栏是否改变
调用HttpServletResponse.sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;
调用RequestDispatcher.forward 方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
(请求重定向改变为重定向的地址栏,请求转发不改变)
2)几次请求几次响应
HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求;
RequestDispatcher.forward方法在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为。
(请求重定向:两次请求两次响应;请求转发:一次请求一次响应)
3)是否可以转发给其他组件
RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;
而HttpServletResponse.sendRedirect 方法还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。
4) “/”开始代表的含义
如果传递给HttpServletResponse.sendRedirect 方法的相对URL以“/”开头,它是相对于整个WEB站点的根目录;
如果创建RequestDispatcher对象时指定的相对URL以“/”开头,它是相对于当前WEB应用程序的根目录。
- Servlet开发(四)Response对象、Request对象的请求重定向、请求转发
- JSP内置对象:request对象,response对象、请求重定向、请求转发
- request的请求转发和response请求重定向
- 请求转发(request)和重定向(response)
- 笔记之Servlet的Request对象(获取请求参数的方法、表单格式、防盗链、请求重定向)
- Response对象实现请求重定向
- 请求重定向response.sendRedirect()和请求转发request.getRequestDispather().forward(request,response)区别
- servlet的重定向和请求转发
- servlet的请求转发与重定向
- Servlet的请求转发和重定向
- servlet的请求转发和重定向
- servlet的请求转发和重定向
- 关于域对象和请求转发、重定向的适用范围
- Request对象请求转发
- servlet中的HttpServletResponse对象、请求转发、请求重定向和path"/"介绍
- JSP内置对象request,response,重定向与转发
- 内部跳转(请求转发)request.getRequsetDispatcher()和外部跳转(重定向)response.sendRedirect()的区别
- javaEE:day9-request和response的转发、重定向、请求包含小细节
- C++设计模式系列之二结构型模式
- Android Studio中获取sha1证书指纹
- svn服务器搭建流程
- Java 用两种方法实现插入排序
- phpcms制作静态手机移动站
- Servlet开发(四)Response对象、Request对象的请求重定向、请求转发
- Mac系统mds、mds_stores、mdworker疯狂工作的问题
- JavaScript基础
- 代码触发表格编辑事件
- SpringIOC容器
- ssh整合是Caused by: java.io.FileNotFoundException: class path resource [bean/test/User.hbm.xml] cannot
- 24个小诀窍让你的工作更有效率
- Java-排序算法2
- ajax 跨域调取新浪股票的接口