`
qingBYqing
  • 浏览: 49342 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

servlet中request session servletContext 测试示例

    博客分类:
  • Java
阅读更多
基本概念:.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
2
1
分享到:
评论
1 楼 dysfzhoulong 2011-04-05  

相关推荐

    servlet中的ServletContext的使用

    这是servlet中ServletContext的应用实例,主要就是添加属性和读取属性。

    浅析javax.servlet.Servlet,ServletContext接口

    本篇文章是对javax.servlet.Servlet,ServletContext接口进行了纤细的分析介绍,需要的朋友参考下

    Servlet知识点和示例

    还有request域、session域和page域。 (5)ServletContext对象可以获取一些全局的配置信息,例如数据库的一些信息,可以配置xml文件当中 ,之后,通过ServletContext对象获取。这样配置的好处是每个servlet都可以...

    监听request、session、ServletContext 对象存放的数据变化情况

    博客地址:...存放数据指的是这三个对象在工程中setAttribute(),removeAttribute()的时候,我们的监听器就会知道,然后在对应的方法中执行相应的操作。

    Servlet+API中文API[China]

    Servlet处理请求、多线程和映射、Servlet的卸载、Servlet映射技术、通过类名调用Servlet、HTTP会话、建立Session、Request Dispatcher接口、Servlet接口、ServletConfig接口、ServletContext接口、SingleThreadModel...

    servlet2.4doc

    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 ...

    35、servlet--servletContext

    NULL 博文链接:https://onway417.iteye.com/blog/2194540

    访问或添加三个范围的属性与获取Request-Session-ServletContext-Response对象.rar

    NULL 博文链接:https://llxhna.iteye.com/blog/1067851

    ServletContext读取web应用中的资源文件.doc

    ServletContext读取web应用中的资源文件

    java-servlet-api.doc

    当你的应用存储数据到Session中,或从Session中清除数据,Servlet都会通过HttpSessionBindingListener检杳什么类被绑定或被取消绑定。这个接口的方法会通报被绑定或被取消绑定的对象。 绪言 这是一份关于2.1版...

    JAVA servlet API说明文档

    servlet容器的详细说明,包括里面接口的方法。内容如下:RequestDispatch, servlet, servletConfig, servletContext。。

    Servlet编程

    认识Servlet 编写Servlet Servlet生命周期 Servlet与JSP内置对象 设置欢迎页面 在Servlet中读取参数 在Servlet内实现跳转 ServletContext高级功能 使用过滤器 异常处理

    sevlet生命周期,request web.xml 及ServletContext总结

    Servlet生命周期,及servlet相关知识点的总结。

    javax.servlet.jar下载

    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:适合存储什么样的数据

    servlet-api-2.4.jar.zip

    javax.servlet.ServletContext javax.servlet.ServletRequest javax.servlet.http.HttpUtils javax.servlet.ServletResponse javax.servlet.ServletException javax.servlet.http.HttpServlet javax.servlet....

    listener的实例代码

    l监听器就是监听某个对象的的状态变化的组件。事件源:被监听的对象 ----- 三个域对象 request session servletContext

    ServletContext

    ServletContext代码,开发工具 Myeclipse

    数据库测试test.sql

    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....

Global site tag (gtag.js) - Google Analytics