04_Web组件之间跳转以及作用域

Web组件之间跳转: 从AServlet 跳转到 BServlet.

三种类型:
1):请求转发(forward)
2):URL重定向(redirect)
3):请求包含(include)

请求转发(forward):

AServlet操作完毕之后,请求转发到BServlet,继续完成余下的功能.

语法:

request.getRequestDispatcher(String path).forward(request,response);
参数:
    path:表示目标资源名称
请求转发的特点:
1):浏览器地址栏路径没变,依然是Servlet1的资源名称.
2):只发送了一个请求.
3):共享同一个请求,在请求中共享数据.
4):最终的响应输出由Servlet2来决定.
5):只能访问当前应用中的资源,不能跨域跳转.
6):可以访问WEB-INF中的资源.

URL重定向(redirect):

AServlet操作完毕之后,重定向到BServlet,继续完成余下的功能.
语法:

response.sendRedirect(String path);
参数:
    path:表示目标资源名称.
URL重定向的特点:
1):浏览器地址栏路径发送变化,变成Servlet2的资源名称.
2):只发送了两个请求.
3):因为是不同的请求,所以不能共享请求中的数据.
4):最终的响应输出由Servlet2来决定.
5):可以跨域访问资源.
6):不可以访问WEB-INF中的资源.

数据共享

Web组件(Servlet/JSP)的数据共享得需要作用域对象.
作用域对象存在的意义:在多个Web组件之间共享和传递数据.

四大作用域对象:

名称类型描述
pageContextPageContext表示当前JSP页面的范围
requestHttpServletRequest表示当前请求范围. 只是共享同一个请求中的数据,若是不同的请求之间,是不能共享的,每次请求都是新的请求对象.
sessionHttpSession表示当前应用范围. Tomcat开始启动,application对象就创建好了,Tomcat关闭application对象销毁.
applicationServletContext表示当前应用范围. Tomcat开始启动,application对象就创建好了,Tomcat关闭application对象销毁.在整个Web的生命周期中,有且只有一个application对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值