JavaWeb中的实现页面跳转的同卵双胞胎兄弟——重定向与请求转发

2020-07-26 00:07:55 浏览数 (1)

重定向与请求转发

  • 1、重定向
    • 介绍
    • 写法(注意斜杠)
      • a. 跳转到jsp页面:
      • b. 跳转到servlet中的某个方法(mvc架构下)
    • 举例:
  • 2、请求转发
    • 介绍
    • 写法
      • a. 跳转到jsp页面
      • b. 跳转到servlet中的某个方法(mvc架构下)
    • 举例

1、重定向

代码语言:javascript复制
	response.sendRedirect();

介绍

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

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

写法(注意斜杠)

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

a. 跳转到jsp页面:

代码语言:javascript复制
response.sendRedirect("/WebApps下的相对路径") 或者
response.sendRedirect(request.getContextPath() "/相对路径")

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

代码语言:javascript复制
response.sendRedirect(request.getContextPath() "/servlet/servlet项目名/method=方法名")

举例:

1、重定向到servlet中的某个方法

2、重定向到某个jsp页面

2、请求转发

代码语言:javascript复制
request.getRequestDispatcher().forward(request, response)

介绍

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

写法

注意斜杠、以及后跟.forward(request, response) URL中所包含的“/”表示应用程序(项目)的路径。

a. 跳转到jsp页面

代码语言:javascript复制
request.getRequestDispatcher("/WebRoot下的相对路径").forward(request, response);

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

代码语言:javascript复制
request.getRequestDispatcher("/servlet/servlet项目名/method=方法名").forward(request, response);

举例

1、请求转发到某个jsp页面

2、请求转发到servlet中的某个方法

0 人点赞