重定向与请求转发

简介: 介绍JavaWeb中的实现页面跳转的同卵双胞胎兄弟—重定向与请求转发以及代码实现流程

1、重定向

    response.sendRedirect();

介绍

重定向,也称客户端跳转,相当于客户端向服务端发送请求之后,服务器返回一个响应,客户端接收到响应之后又向服务端发送一次请求,一共是2次请求,前后页不共用一个request,不能读取转向前通过request.setAttribute()设置的属性值。在前后两次执行后,地址栏发生改变,是目标文件的地址。

一般应用于数据的修改、删除、添加操作的相关信息显示操作

写法(注意斜杠)

URL种所包含的"/"表示根目录的路径

a. 跳转到jsp页面:

response.sendRedirect("/WebApps下的相对路径") 或者
response.sendRedirect(request.getContextPath()+"/相对路径")

b. 跳转到servlet中的某个方法(mvc架构下)

response.sendRedirect(request.getContextPath()+"/servlet/servlet项目名/method=方法名")

举例:

1、重定向到servlet中的某个方法
在这里插入图片描述
2、重定向到某个jsp页面
在这里插入图片描述

2、请求转发

request.getRequestDispatcher().forward(request, response)

介绍

请求转发,也称服务器跳转,相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,前后页共用一个request,可以通过此来传递一些数据或者session信息,request.setAttribute()和request.getAttribute()。在前后两次执行后,地址栏不变,仍是当前文件的地址。
一般用于数据的查询,插入,更新等操作的相关信息显示操作。

写法

注意斜杠、以及后跟.forward(request, response)

URL中所包含的“/”表示应用程序(项目)的路径。

a. 跳转到jsp页面

request.getRequestDispatcher("/WebRoot下的相对路径").forward(request, response);

b. 跳转到servlet中的某个方法(mvc架构下)

request.getRequestDispatcher("/servlet/servlet项目名/method=方法名").forward(request, response);

举例

1、请求转发到某个jsp页面
在这里插入图片描述
2、请求转发到servlet中的某个方法
在这里插入图片描述

相关文章
|
6月前
|
存储
Ruquest请求转发
Ruquest请求转发
55 0
|
6月前
|
前端开发
请求转发和重定向的区别
请求转发和重定向的区别
86 0
|
6月前
|
存储 数据处理
Request请求转发与Respones请求重定向有什么区别?
Request请求转发与Respones请求重定向有什么区别?
|
存储 应用服务中间件 数据库
Servlet请求转发和重定向
Servlet请求转发和重定向
170 0
|
应用服务中间件 nginx
重定向和反向代理的区别
重定向和反向代理的区别
253 0
重定向和请求转发的区别
重定向和请求转发的区别
95 0
|
存储 Java 应用服务中间件
一文了解转发与重定向
一文了解转发与重定向
106 0
|
应用服务中间件
重定向(重要)!!
重定向(重要)!!
178 1
重定向(重要)!!
|
Java 数据库
Servlet的请求转发和重定向的区别
Servlet的请求转发和重定向的区别
134 0
Servlet的请求转发和重定向的区别
|
应用服务中间件
请求转发(重要)!!
请求转发(重要)!!
148 0
请求转发(重要)!!