2017.7.06 学习记录 Servlet03

作用域--请求域
作用范围:只在一次请求中有效
四个方法:
void setAttribute(String name,OBject obj)
Object getAttribute(String name)
void removeAttribute(String name)
Enumeration getAttributeNames():返回request域中所有属性名的枚举


Jsp页面实际上是Servlet
Jsp页面可以写Java代码:
用SessionID来标识一个会话的请求
用session对象来保存该会话的状态信息


服务器决定与某个客户端开启一个会话,创建一个Session对象
通过Cookie或者URL参加形式将SessionID传给客户端
如果客户端在一定时间内没有操作,服务器会自动终止会话,即删除Session对象
作用范围:该次会话期间一直有效


使Session无效的方法:
1.session.invalidate()执行后,session无效
2.session的最大等待时间到后,session无效
3.关闭浏览器后,session无效
4.关闭服务器后,session无效
只要浏览器和服务器没有配对的SessionID就表示session无效
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表着不是一个新的会话请求
如果浏览器两个请求之间时间太长,超出服务器等待的时间,服务器会删除这个Session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为一次新会话的标识
又把这个SessionID发给浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动(Session对象),SessionID就在session对象里


javax.servlet.ServletConfig接口
一般用于处理该Servlet在配置文件中初始化参数
获得ServletConfig对象的代码:
ServletConfig config=this.getServletConfig();
常用方法:
getInitParameter(String name):返回名字为name的参数的值
String getServletName():返回该Servlet在配置文件中的名字
Enumeration getInitParameterNames():返回所有参数的名字的一个枚举
getServletVontext()


javax.servlet.ServletContext接口
一个Web应用程序中所有的Servlet都共享同一个ServletCobtext对象,所以该对象被称之为application对象
getRealPath(String str):用于获取文件本地绝对路径(可以先获取一个XML文件路径 再去读)
getRequestDispatcher(String str):用于资源转向和资源包含
getResoursePaths(String str):用于得到目录下所以子目录和文件的路径名称
void setAttribute(String name,Object obj)
Object getAttribute(String name)
void removeAttribute(String name)
Enumeration getAttributeNames():返回application域中所有属性名的枚举
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值