Servlet作用域
来源:互联网 发布:淘宝卫浴素材图片大全 编辑:程序博客网 时间:2024/05/22 10:42
所谓“作用域”就是通过设置属性的方式,将一些信息绑定到对象上。
Servlet 中能够设置属性的对象有ServletRequest
/HttpServletRequest
、HttpSession
、ServletContext
。用于存储、查询和删除这些属性的方法对于所有的作用域都是相同的。它们是:
Object getAttribute(String name); void setAttribute(String name, Object value); void removeAttribute(String name); Enumeration getAttributeNames();
① ServletRequest
:请求作用域
对应于JSP 中的Request
,封装了客户的请求信息, 如客户的请求方式、参数名和参数值 、客户端正在使用的协议,以及发出请求的远程主机信息。HttpServletRequest
接口包含了客户端的请求信息,通过该接口取得客户端的一些信息(如:IP地址、浏览器类型等)及HTTP 请求类型(如:GET、HEAD、POST、PUT等)。
通过HttpServletRequest
接口中的getSession()
方法还可以获得会话作用域(HttpSession
) 。
public HttpSession getSession();
如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回
public HttpSession getSession(boolean create); ``create=false
:如果“当前用户的会话对象”为空,则返回null(即不自动创建会话对象),create = true
与不带参数用法一样。
ServletRequest
对象获得方法
javax.servlet.ServletRequestWrapper.getRequest();
② HttpSession
:会话作用域
对应于JSP 中的Session
,为访客分配一个唯一标识,并存储在客户端的Cookie
中。
常用方法:
public boolean isNew();// 判断这个session是不是新的。public void invalidate();// 终止这个session。所有绑定在这个session上的数据都会被清除。public void setMaxInactiveInterval(int interval);// 设置会话的超时值。
HttpSession
对象几种获得方法
javax.servlet.http.HttpServletRequest.getSession(boolean create);javax.servlet.http.HttpServletRequest.getSession();javax.servlet.http.HttpServletRequestWrapper.getSession(boolean create);javax.servlet.http.HttpServletRequestWrapper.getSession();javax.servlet.http.HttpSessionBindingEvent.getSession();javax.servlet.http.HttpSessionContext.getSession(String sessionID);javax.servlet.http.HttpSessionEvent.getSession();
③ ServletContext
:上下文作用域
对应于JSP 中的Application
,是Servlet
与Servlet 容器
直接通信的接口,Servlet
容器在启动一个Web 应用时,会为它创建一个唯一的ServletContext
对象。同一个Web 应用的所有Servlet
共享一个ServletContext
,Servlet
对象通过它来访问 Servlet
容器中的各种资源。
常用方法:
1) 访问当前Web 的应用资源
public String getContextpath();// 返回当前Web应用的入口URL。public String getInitParameter(String name);//返回Web 应用范围内的匹配的初始化参数值。在web.xml 中<web-app>元素中<context-param>元素标识应用范围内的初始化参数。public Enumeration getInitParameterNames();public String getServletContextName();// 返回Web 应用名字。即<web-app>元素中<display-name>元素的值。public RequestDispacher getRequestDispacher(String path);//返回一个像其他Web组件发送请求的RequestDispacher 对象。
2) 访问 Servlet 容器的相关信息
public ServletContext getContext(String uripath);// 根据指定的URI,返回当前Servlet容器中,其他Web 应用的ServletContext 对象。
3) 访问Web 容器的相关信息
public String getServerInfo();// 返回Servlet 容器的名字和版本。public int getMajorVersion();// 返回Servlet 容器支持的java Servlet API 的主版本号。public int getMinorVersion();// 返回Servlet 容器支持的java Servlet API 的主版次号。
4) 访问服务器端的文件系统资源
public String getRealPath(String path);// 根据参数指定的虚拟路径,返回一个文件系统中的真实路径。public URL getResource(String path);// 返回一个指定路径的URL。
5) 输出日志
public void log(String msg);// 向Servlet 的日志文件中写日志。public void log(String msg,Throwable throwable);// 向日志文件中写错误信息,以及异常堆栈信息。
ServletContext 对象获得的几种方式:
javax.servelt.http.HttpServlet.getServletContent();javax.servlet.http.HttpSession.getServletContext();javax.servlet.jsp.PageContext.getServletContext();javax.servlet.servletConfig.getServletContext();
转载自Servlet作用域
- servlet作用域
- Servlet 作用域
- servlet requset作用域
- Servlet作用域
- java servlet 作用域
- Servlet四大作用域
- servlet作用域
- servlet两个作用域
- Servlet对象作用域、Servlet监听器
- 作用域和Servlet监听器
- servlet 三大作用域
- Servlet作用
- Servlet作用
- 对象作用域与Servlet事件监听器
- Servlet共享变量与作用域
- 对象作用域与servlet事件监听器
- Servlet 的作用域(scope)
- 关于jsp与servlet作用域
- OI每周刷题记录
- 理解 Linux 配置文件
- 无法在web服务器上启动调试。未能启动asp.net调试。在不调试的情况下启动项目也许能获得更多信息。
- UI之Tableviewcell
- 深入理解计算机系统--读书笔记(第一章)
- Servlet作用域
- APP 上线-发布证书的制作
- 双向搜索+DP——拯救公主(二)
- 第128讲:Hadoop集群管理工具dfsadmin实战详解学习笔记
- [Android] Android开发优化之——使用软引用和弱引用
- UI之单个表视图的移动插入和删除
- Corba概念(GIOP、IIOP、IOR、ORB、IDL)
- 要你命三千又三千的成长之旅
- ios自定义异步post网络请求的封装