初识 JSP---(转发和重定向)

简介: 转发和重定向在 JavaWeb 中,有两种跳转方式:1.转发  2.重定向转发客户端访问 servlet ,有转发指令,将 servlet 发送给另一个servlet,然后由这个 servlet 返回给客户...

转发和重定向

在 JavaWeb 中,有两种跳转方式:

1.转发  2.重定向

转发

客户端访问 servlet ,有转发指令,将 servlet 发送给另一个servlet,然后由这个 servlet 返回给客户端,这就是转发(整个过程中对服务器的请求只发送一次)

只发出一次请求,地址栏是初次发出的请求地址,在最终的servlet中,request对象和中转的request的对象是同一个request对象,只能转发当前web应用资源(“/”代表的是相当于web工程的路径 如果是相对路径就不用写“/”)

 

例子:response.sendDispatcher("showLogin")(告知转发器要跳转到那个页面去). forword(req,resp);(通过转发器进行转发)

结果(地址栏不发生改变)

重定向

客户端访问 servlet ,有重定向指令,将 servlet 先返回客户端(跟服务器链接断开),客户端再发起一次请求给另一个 servlet,然后由这个 servlet 返回给客户,这就是重定向(整个过程中对服务器的请求发送两次)

重定向是发出两(多)次请求,两个请求不是同一个request,地址栏是最后发出请求的地址。如果“/”写在重定向的话,代表的是web站点的根路径

 

例子:response.sendRedirect("ServletForWard1");

 

结果(地址栏发生改变)

转发和重定向的区别

1.本质区别:转发实质上只发送一次请求,重定向实质上发送两次请求

2.转发请求的第一个request对象和中转request对象是同一个request对象,重定向的请求request对象和中转request对象不是同一个request对象

3.转发只能将请求发送给web资源(当前项目),重定向可以发送给任意资源

4.转发的地址栏是第一次请求的地址,重定向的地址栏是最后一次请求的地址

5.转发:“/”代表web项目的根路径,重定向:“/”代表web站点的根路径

 

包含:include

例子:

结果

目录
相关文章
|
5月前
|
Java
JSP 教程 之 JSP 页面重定向 2
JSP页面重定向使用`response.sendRedirect()`或设置状态码和`Location`头来实现。简单示例展示如何将用户重定向至百度首页。保存代码到PageRedirecting.jsp,访问即生效。
48 3
|
5月前
|
Java
JSP 教程 之 JSP 页面重定向 1
JSP教程讲解了如何进行页面重定向,主要使用response对象的sendRedirect()方法,例如:`response.sendRedirect("http://www.baidu.com")`。此外,也可结合setStatus()和setHeader()方法实现相同功能,如:设置状态码为临时移动(SC_MOVED_TEMPORARILY)并设定Location头为指定URL,以引导浏览器访问新位置。
42 2
|
Java 应用服务中间件
jsp页面重定向
创建一个web项目,启动tomcat的时候,默认进入index.jsp页面。在index.jsp页面里面添加代码跳转到指定页面。
70 0
|
Java
JSP如何进行页面重定向
JSP如何进行页面重定向
72 0
|
Java
JSP 页面重定向
JSP 页面重定向
59 0
|
Java
servlet和jsp的转发与重定向代码以及区别
1.首先说明以下重定向和转发的区别 重定向:浏览器发送请求到服务器之后,服务器会发一个状态码和再次请求的地址给到浏览器,浏览器根据地址再次请求服务器的过程。
1734 0
JSP 请求重定向和请求转发
一、请求重定向:【客户端行为】,服务端response.sendRedirect("xx.jsp"),【从本质上讲等于两次请求】,前一次的请求对象不会保存,地址栏的URL地址会改变。 二、请求转发:【服务器行为】,服务端request.
|
1月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
61 0
|
3月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上