在一个web应用中,servlet主要通过servlet context、session、request这三个对象来传递信息,但三种容器的作用域不同,需根据需求来选择容器。
servlet context:servlet容器,用于实现Web应用中的资源共享
在一个项目中只会有一个servlet容器。
常用方法:
- ServletContext getServletContext( ) 获取servle容器对象
- void setAttribute (String name, Object object ) 利用servlet容器保存数据
- Object getAttribute (String name ) 用servlet容器取出数据
- String getRealPath (String path ) 返回参数所代表目录的真实路径(项目路径)
作用域:
在一个项目中只会有一个servlet容器,不论在哪一个页面获取到的都是同一个容器,即servlet容器可作用于所有的项目页面,也就是说,servlet容器在整个个应用服务器范围内有效。
session:会话,用于记录会话状态的相关信息
浏览器可创建一个session,用于存放数据,一个浏览器只有一个session。
常用方法:
- HttpSession getSession( ) 获取session对象
- String getId()获取sessionid
- void setMaxInactiveInterval(int interval)设定session的非活动时间
- void invalidate()设置session对象失效
- void setAttribute(String key, Object value) 利用session保存数据
- Object getAttribute(String key)取出数据
-
void removeAttribute(String key) 删除数据
生命周期
- 不同的浏览器获取的sessio对象不同
- 浏览器关闭后,获取不到之前的session
- 服务器异常、关闭、重启,session对象会被销毁
- 用户“安全退出”,session失效
- session生命时间超时,session失效
作用域:
在session生命周期内,session对象在一次会话范围内容有效。
request :主要用于处理客户端请求的数据信息
利用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 ) 返回指定路径的请求分发对象
作用域:
在一个服务器请求范围内有效。
热门文章
- 合肥宠物收容中心地址电话(合肥市宠物收容中心)
- 10月8日 | SingBox Github每天更新22.5M/S免费节点订阅链接
- 12月26日 | SingBox每天更新22.7M/S免费节点链接地址分享
- 被猫咬了像针眼的小口要打免疫球蛋白么(被猫咬了针眼那么大用打疫苗么)
- 1月18日 | SingBox每天更新20.2M/S免费节点链接地址分享
- 幼猫怎么驱虫体外(幼猫怎么驱虫体外驱虫药)
- 弃养宠物协议范文 弃养宠物协议范文大全
- Go_error处理及panic、recover使用的正确姿势
- 11月16日 | SingBox Github每天更新20.2M/S免费节点订阅链接
- Java程序查找数字的偶数因数之和