重定向与请求转发
- 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中的某个方法