servlet中 servlet context与 session与 request三个对象的常用方法和存放数据的作用域

servlet context:类似于系统的全局变量,用于实现Web应用中的资源共享。

ServletContext 对象由服务器进行创建,一个项目只有一个对象。不管在项目的任意位置进行获取得到的都是同一个对象,那 么不同用户发起的请求获取到的也就是同一个对象了,该对象由 用户共同拥有。

常用方法:

ServletContext         getServletContext( ) 获得servlet容器对象

void setAttribute        (String name, Object object ) 用容器对象利用键值对保存数据

Object                getAttribute (String name ) 用容器对象取出数据

String getRealPath (String path ) 返回项目路径

作用域:在一个应用服务器范围内有效(当前项目的所有页面)。由于所有servlet共享容器,所以在里面存放的数据并不安全。

session:用于记录会话状态的相关信息。

服务器在运⾏时可以为每⼀个⽤户的浏览器创建⼀个其独享的session对象,注意是默认情况下,⼀个浏览器独占⼀个session,由于session为⽤户浏览器独享,所以⽤户在访问服务器的web资源时,可以把各⾃数据存放在各⾃的session中,当⽤户再去访问服务器的其他web资源时,其他web资源再从⽤户各⾃的session中取出数据为⽤户服务。

session的生命周期

1. session 生命时间超时了 默认30分钟

2. 当浏览器关闭的时候,获取不到之前的session对象 、 不同的浏览器请求服务器后获得不同的session对象(登录人的信息)

3. 服务器异常或者关闭或者重启 session对象也会被销毁

4. 用户主动的《安全退出》session 失效

常用方法:

String getId()         获取sessionid

void setMaxInactiveInterval(int interval)         设定session的非活动时间

int getMaxInactiveInterval()         获取session的有效非活动时间(以秒 为单位)

void invalidate()         设置session对象失效

void setAttribute(String key, Object value)         以key/value的形式保存对象值

Object getAttribute(String key)         通过key获取对象值

void removeAttribute(String key)         从session中删除指定名称(key)所对 应的对象

作用域:在一次会话范围内容有效(session的生命周期内)。

request:主要用于处理客户端请求的数据信息

常用方法:

Object getAttribute ( String name ) 获取名称为name的属性值

void setAttribute (String name, Object object ) 在请求中保存名称为name的属性

void removeAttribute (String name) 清除请求中名字为name的属性

String getCharacterEncoding ( ) 返回请求体所使用的字符编码

void setCharacterEncoding (String charset ) 设置请求体的字符编码

String getParameter ( String name ) 返回指定请求参数的值

String[ ] getParameterValues (String name ) 返回指定请求参数的全部值(页面的多选项时)

RequestDispatcher getRequestDispatcher( String path ) 返回指向指定路径的请求分发对象(转发)一般带着请求和响应一起转发forward(request, response)

Cookie[ ] getCookies( ) 返回客户端在此次请求中发送的所有cookie对象  获得浏览器发送的cookie

HttpSession getSession( ) 返回和此次请求相关联的session,如果没有给客户端分配session, 则创建一个新的session 获得session对象

作用域:在一个请求域中有效(转发时是同一个request)

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值