`

ssession和servletContext的比较

阅读更多
Servlet实现访问次数的例子

//ShowTimesServlet.java /*Servlet实现访问次数的例子!*/
import java.io.*;
import java.util.zip.*;
import javax.servlet.*;
import javax.servlet.http.*;
/*
 这个类实现访问次数。显示访问次数!看是第几次访问!
*/
public class ShowTimesServlet extends HttpServlet {

 public void doGet(HttpServletRequest request,HttpServletResponse response)
               throws ServletException, java.io.IOException {

            response.setContentType("text/html");
   HttpSession session = request.getSession();
   String heading;
   Integer accessCount =(Integer)session.getAttribute("accessCount");
   if(accessCount == null) {
    accessCount = new Integer(0);
    heading = "Welcom,You are first time to visit!";
   }
   else {
    heading = "Welcome Backer";
    accessCount = new Integer(accessCount.intValue()+1);
   }
      session.setAttribute("accessCount",accessCount);
   PrintWriter out = response.getWriter();
   out.println("The title:"+heading);
   out.println("Access count: "+accessCount);
 }

 public void doPost(HttpServletRequest request,HttpServletResponse response)
               throws ServletException, java.io.IOException {
  doGet(request,response);
 }

}


下面是通过servleContext来做访问次数
package org.linweihan.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServletContext extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ServletContext servletContext = this.getServletContext();
		Integer accessCount =(Integer)servletContext.getAttribute("accessCount");
		if(accessCount == null){
			accessCount = 0;
		}else{
			accessCount = accessCount + 1;
			
		}
		servletContext.setAttribute("accessCount", accessCount);
		PrintWriter out = response.getWriter();
		out.println("<html><body><h2>"+accessCount+"</body></html>");
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}
	


}


区别在于session是局部的,servletContext是共享的.
当换了另一个窗口开始访问又从0开始计数,而servletContext则是接下去计数.


分享到:
评论
2 楼 alleni123 2014-01-15  

不错 一搜就搜到这个了
1 楼 JA_mcj 2011-12-29  
   

相关推荐

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

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

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

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

    javaweb教程-java中级资料(ppt+txt).zip

    第八节 Session和ServletContext 第九节 Jsp语法和Jsp隐含对象 第十节 JavaBean知识 第十一节 MVC模式 第十二节 EL表达式 第十三节 JSTL知识1 第十四节 JSTL知识2 第十五节 监听器 第十六节 过滤器 第十七节 文件...

    【柠萌】服务器四大作用域对象的区别

    快速认清pageContext,request,session,application/ServletContext的区别。 区别1:生命周期 区别2:共享范围 区别3:适合存储什么样的数据

    监听器:监听三个对象的创建和销毁方法

    三个对象:rquest,session,ServletContext 实现的接口:ServletRequestListener,HttpSessionListener,ServletContextListener 工程的大致步骤: 1.自定义实现三个监听器的类 2.使用注解的方法注册监听器 3....

    Servlet知识点和示例

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

    java版 jquery uploadify 通过Flash实现多文件上传 IE 和FireFox 兼容

    之前上传了一个通过Flash实现多...方法二:在application(ServletContext)里保存一个session管理器HashMap:sessionId---sessionRef,这样可以在所有的servlet/jsp里调用,这需要在url里将sessionId以参数形式传递,如...

    java session出现的错误

    public class AmpList implements ServletContextListener,HttpSessionListener,HttpSessionAttributeListener { private ServletContext application=null; public void contextInitialized(ServletContext

    Servlet+API中文API[China]

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

    java-servlet-api.doc

    随着时间的过去,发展了许多会话跟踪的技术,但是使用起来都比较麻烦。 JavaServletAPI提供了一个简单的接口,通过这个接口,Servlet引擎可以有效地跟踪用户的会话。 建立Session 因为HTTP是一个请求-响应协议,一...

    jsp有哪些内置对象?作用分别是什么?分别有什么方法?

    它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。  response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等...

    listener的实例代码

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

    jsp基础精华详解

    四种会话跟踪方式: 1.Session HttpSession session = request....ServletContext:Servlet上下文对象 它是一个公共区域,可以被所有的客户端共享 setAttribute():向公共区域里放入数据 getAttribute():从公共区域里取数据

    方立勋:JavaWeb视频前十一天教程配套ppt下载

    方立勋JavaWeb视频教程_servlet开发和ServletConfig与ServletContext对象(第五天) 方立勋JavaWeb视频教程_request response(第六天) 方立勋JavaWeb视频教程_Cookie和Session(第七天) 方立勋JavaWeb视频教程_...

    Java-Web-ChatRoom-master.zip

     接收消息:从ServletContext中获取消息,如果不为空则输出消息。 5. 在线人员列表显示功能的实现  将登录进系统的用户与其对应的session存储到一个userMap中,然后显示出来 6. 踢人功能的实现  接收前台传来的...

    jsp内置对象的用法

    config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象) 序号 方 法 说 明 ...

    1javaweb上机报告.doc

    1.请按照以下要求编写程序。 (1)编写用户登录的界面login.html和登录成功的界面welcome.html。 (2)编写处理用户登录请求的Servlet类Login。...1.请编写程序,使用session、Cookie实现购物车,图书表book中

    BaseAction

    在Struts2中,操作Servlet API 的BaseAction 包括获取Request对象、获取Session对象、获取ServletContext对象、获取Response对象

    韩顺平 Servlet版本用户管理 完整版

    本系统是在观看《韩顺平java2ee视频》servelt部分后完成的。 Servlet版本的用户管理系统 主要功能包括: 1.管理用户 ...代码和数据库文件在manageruser文件夹中 使用MyEclipse开发,数据库使用SQL Server

    servlet2.4doc

    Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. -------------------------------------------------------------------------------...

Global site tag (gtag.js) - Google Analytics