基本概念:.request session servletContext对象保持的数据范围 区别
1.request :保持的数据 仅在下一个request中得到用 在页面转发时共享数据
2.session 作用域表示在一个用户与服务器会话范围之内 直到客户端关闭或session超时
3.servletContext中对象存取的数据是个全局的,生命周期也是长久的,直到web服务器关闭
示例:
package com.qingbyqing.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
//servlet中对象作用域 测试: ServletRequest Session ServletContext
public class SessionScopeTest extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException {
System.out.println("_______________________________");
PrintWriter writer = response.getWriter();
writer.println("<html> <head> </head> <body>");
HttpSession session = request.getSession();
ServletContext servletContext = this.getServletContext();
Integer iRequest = (Integer) request.getAttribute("count");
Integer iSession = (Integer) session.getAttribute("count");
Integer iContext = (Integer) servletContext.getAttribute("count");
if (iRequest == null) {
iRequest = new Integer(1);
request.setAttribute("count", iRequest);
} else {
System.out.println(iRequest.toString());
int intValue = iRequest.intValue();
intValue++;
iRequest = new Integer(intValue);
request.setAttribute("count", iRequest);
}
System.out.println("request: " + (iRequest.intValue()));
writer.println("</br> request: " + (iRequest.intValue()));
if (iSession == null) {
iSession = new Integer(1);
request.getSession().setAttribute("count", iSession);
} else {
int intValue = iSession.intValue();
intValue++;
iSession = new Integer(intValue);
request.getSession().setAttribute("count", iSession);
}
System.out.println("Session: " + (iSession.intValue()));
writer.println("</br> Session: " + (iSession.intValue()));
if (iContext == null) {
iContext = new Integer(1);
this.getServletContext().setAttribute("count", iContext);
} else {
int intValue = iContext.intValue();
intValue++;
iContext = new Integer(intValue);
this.getServletContext().setAttribute("count", iContext);
}
System.out.println("sevletContext: " + (iContext.intValue()));
writer.println("</br> sevletContext: " + (iContext.intValue()));
writer.println("</body></html>");
}
}
在web.xml中的配置:
<servlet>
<description>this is a session scope test</description>
<display-name>this is a session scope test</display-name>
<servlet-name>SessionScopeTest</servlet-name>
<servlet-class>com.qingbyqing.servlet.SessionScopeTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SessionScopeTest</servlet-name>
<url-pattern>/com.qingbyqing.servlet/SessionScopeTest</url-pattern>
</servlet-mapping>
结果如下:
firfox中显示:
控制台中输出:
- 大小: 13.3 KB
- 大小: 5 KB
分享到:
相关推荐
这是servlet中ServletContext的应用实例,主要就是添加属性和读取属性。
本篇文章是对javax.servlet.Servlet,ServletContext接口进行了纤细的分析介绍,需要的朋友参考下
还有request域、session域和page域。 (5)ServletContext对象可以获取一些全局的配置信息,例如数据库的一些信息,可以配置xml文件当中 ,之后,通过ServletContext对象获取。这样配置的好处是每个servlet都可以...
博客地址:...存放数据指的是这三个对象在工程中setAttribute(),removeAttribute()的时候,我们的监听器就会知道,然后在对应的方法中执行相应的操作。
Servlet处理请求、多线程和映射、Servlet的卸载、Servlet映射技术、通过类名调用Servlet、HTTP会话、建立Session、Request Dispatcher接口、Servlet接口、ServletConfig接口、ServletContext接口、SingleThreadModel...
A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both. Filters perform filtering in the ...
NULL 博文链接:https://onway417.iteye.com/blog/2194540
NULL 博文链接:https://llxhna.iteye.com/blog/1067851
ServletContext读取web应用中的资源文件
当你的应用存储数据到Session中,或从Session中清除数据,Servlet都会通过HttpSessionBindingListener检杳什么类被绑定或被取消绑定。这个接口的方法会通报被绑定或被取消绑定的对象。 绪言 这是一份关于2.1版...
servlet容器的详细说明,包括里面接口的方法。内容如下:RequestDispatch, servlet, servletConfig, servletContext。。
认识Servlet 编写Servlet Servlet生命周期 Servlet与JSP内置对象 设置欢迎页面 在Servlet中读取参数 在Servlet内实现跳转 ServletContext高级功能 使用过滤器 异常处理
Servlet生命周期,及servlet相关知识点的总结。
javax.servlet.ServletContext.class javax.servlet.RequestDispatcher.class javax.servlet.Servlet.class javax.servlet.ServletException.class javax.servlet.ServletRequest.class javax.servlet.Servlet...
快速认清pageContext,request,session,application/ServletContext的区别。 区别1:生命周期 区别2:共享范围 区别3:适合存储什么样的数据
javax.servlet.ServletContext javax.servlet.ServletRequest javax.servlet.http.HttpUtils javax.servlet.ServletResponse javax.servlet.ServletException javax.servlet.http.HttpServlet javax.servlet....
l监听器就是监听某个对象的的状态变化的组件。事件源:被监听的对象 ----- 三个域对象 request session servletContext
ServletContext代码,开发工具 Myeclipse
import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.*; import java.io.IOException; import java.net.URLEncoder; import java.sql.Date; import java.util....