javaWeb第四天: 请求转发和重定向和Servlet的三大作用域对象

本文介绍了Web组件间的三种跳转方式:请求转发、URL重定向和请求包含。请求转发在地址栏不变且能共享数据,而URL重定向则导致地址变化并涉及两次独立请求。Servlet的三大作用域对象——request、session和application,分别用于请求、会话及全局数据共享。了解这些概念对于Web应用开发至关重要。
摘要由CSDN通过智能技术生成

目录

一、web组件之间的跳转方式:

方式一:请求转发(forward)

方式二:URL重定向(redirect)

方式三:请求包含(include)

二、请求转发和URL重定向

三、Servlet的三大作用域对象(目的~共享数据):


一、web组件之间的跳转方式:

方式一:请求转发(forward)

方式二:URL重定向(redirect)

方式三:请求包含(include)

二、请求转发和URL重定向

1,请求转发request.getRequestDispatcher(String path).forward(request, response);

■   请求转发特点:

①    浏览器地址栏不变,依然是/forward/s1,不是目标地址 /forward/s2.

②    请求转发只发送一个请求

③    请求转发实现了共享同一请求中的数据。/forward/s1的请求到达/forward/s2后,只是对/forward/s1的请求进行封装,目的还是为了共享/forward/s1的请求中的数据。

④    最终响应给浏览器的是由目标servlet2来决定的。

⑤    请求转发不能跨域进行访问,只能跳转到当前应用中的资源。不能脱离根目录下的资源,例如想请求转发到百度。

⑥    请求转发可以实现访问WEB-INF目录中的资源(因为其在根目录下)。

2,URL重定向:response.sendRedirect(String url); //参数:url: 表示目标资源地址。

■   URL重定向特点:

①    浏览器地址发生改变,从/redirect/s1 变成了目标地址 /redirect/s2。

②    URL 重定向发送了两次请求

③    不共享请求中的数据因为URL 重定向是两次独立的请求)。

④    最终响应给浏览器的是由目标servlet2来决定的。

   ✿ 相当于把目标地址拷贝到浏览器地址栏,敲回车

⑤    URL重定向可以进行跨域访问,可以访问其他应用中的资源。

⑥    URL 重定向不能访问WEB-INF目录中的资源。

三、Servlet的三大作用域对象(目的~共享数据):

1,request:每一次请求都是一个新的request对象,若是在Web组件之间需要共享同一 个请求中的数据,只能使用请求转发。

2, session:每一次会话都是一个新的session对象,若是需要一次会话中进行多个请求的数据共享,只能使用session。

3, application:应用对象,Tomcat 启动到关闭,表示一个应用,在一个应用中有且只有一个application对象,作用域整个web应用,可以实现多次会话之间的数据共享。

评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟庭大师兄

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值