JAVA学习日记第七天-SESSION交互和作用域问题

## 交互方式

Web组件之间跳转: 从AServlet 跳转到 BServlet.
三种类型:
1:请求转发(forward):
请求转发(forward):
AServlet操作完毕之后,请求转发到BServlet,继续完成余下的功能.
语法:
request对象.getRequestDispatcher(String path).forward(request,response);

参数:
    path:表示目标资源名称(跳转到哪里去)
注意:别忘了写forward(request,response).

=============================================================================
请求转发的特点:
1):浏览器地址栏路径没变,依然是Servlet1的资源名称.
2):只发送了一个请求.
3):共享同一个请求,在请求中共享数据.
4):最终的响应输出由Servlet2来决定.
5):只能访问当前应用中的资源,不能跨域跳转.
6):可以访问WEB-INF中的资源.
7):转发完成之后,Servlet1中的业务代码继续执行
2:URL重定向(redirect)
URL重定向(redirect):
AServlet操作完毕之后,重定向到BServlet,继续完成余下的功能.
语法:
response对象.sendRedirect(String path);
参数:path,表示目标资源名称.

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

作用域

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

request HttpServletRequest 表示当前请求范围. 只是共享同一个请求中的数据,若是不同的请求之间,是不能共享的,每次请求都是新的请求对象.
pageContext(page) PageContext 表示当前JSP页面的范围(讲jsp的时候说).
session HttpSession 表示当前会话范围. 只要浏览器不关闭,session就是同一个对象.就可以共享该会话中的数据.
application ServletContext 表示当前应用范围. Tomcat开始启动,application对象就创建好了,Tomcat关闭application对象销毁.
在整个Web的生命周期中(Tomcat启动–Tomcat关闭),有且只有一个application对象.

设置共享信息:
域对象.setAttribute(String name,Object value);
获取共享信息:
Object value = 域对象.getAttribute(String name);
修改共享信息:
重新设置一个同名的属性.
删除共享信息:
域对象.removeAttribue(String name);

注意:往哪一个作用域对象中存储数据,就只能从哪一个作用域中获取数据.
基本: 一般的组件之间的数据共享,存放在request中,此时只能使用请求转发.
登陆信息存放在Session中.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值