1、在项目中新建文件夹新建文件nums.txt

2、在web.xml文件配置

<servlet>
     <description>This is the description of my J2EE component</description>
     <display-name>This is the display name of my J2EE component</display-name>
     <servlet-name>NumServlet</servlet-name>
     <servlet-class>servlet.NumServlet</servlet-class>
     <load-on-startup>1</load-on-startup>
   </servlet>

public class NumServlet extends HttpServlet {
    
     //复写init初始化方法,将数据读取到ServletContext对象中
     @Override
     public void init() throws ServletException {
         //获取文件路径
         String path=this.getServletContext().getRealPath("/nums/nums.txt");
         //声明流对象
         FileReader fr=null;
         BufferedReader br=null;
         try{
             fr=new FileReader(path);
             br=new BufferedReader(fr);
             String nums=br.readLine();
             System.out.println(nums);
             this.getServletContext().setAttribute("nums",nums);
         }catch(Exception e){
             e.printStackTrace();
         }finally{
             try {
                 br.close();
             } catch (IOException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
             }
             try {
                 fr.close();
             } catch (IOException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
             }
         }
        
     }
    
    
     //复写销毁方法,存储计数器到文件中
     @Override
     public void destroy(){
         //获取网页计数器
         int nums=(int)this.getServletContext().getAttribute("nums");
         //获取文件路径
         String path=this.getServletContext().getRealPath("/nums/nums.txt");
         //声明流对象
         BufferedWriter bw=null;
         FileWriter fw=null;
         try{
             fw=new FileWriter(path);
             bw=new BufferedWriter(fw);
             bw.write(nums+"");
             bw.flush();
         }catch(Exception e){
             e.printStackTrace();
         }finally{
             try {
                 fw.close();
             } catch (IOException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
             }
             try {
                 bw.close();
             } catch (IOException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
             }
            
         }
     }
    
}

servlet-servletContext网站计数器的更多相关文章

  1. ServletContext结合Servlet接口中的init()方法和destroy()方法的运用----网站计数器

    我们一般知道Servlet接口中的init()方法在tomcat启动时调用,destroy()方法在tomcat关闭时调用.那么这两个方法到底在实际开发中有什么作用呢?这就是这个随笔主要讲的内容. 思 ...

  2. ServletContext与网站计数器

    什么是ServletContext? ServletContext是服务器的一个公用的空间,是不同的浏览器共享的一个数据. 由图可以看出ServletContext和Cookie与session之间的 ...

  3. ServletContext实现网站计数器

    在网站开发中,有很多功能需要使用ServletContext,比如: 1.网站计数器 2.网站在线用户的显示 3.简单的聊天系统 总之,如果是涉及到不用用户共享数据,而这些数据量不大,同时又不希望写入 ...

  4. 【原】tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决

    现象: tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig() ...

  5. tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()

    JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...

  6. application 网站计数器

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. java.lang.NoClassDefFoundError: javax/servlet/ServletContext

    方法1:把SpringBoot中main方法所在的class不再继承org.springframework.boot.context.web.SpringBootServletInitializer即 ...

  8. Histats安装Counter网站计数器 - Blog透视镜

    Histats提供十分多样性的Counter网站计数器,可以依照你个人的喜好与需求,选择适合的Counter网站计数器,也可以针对同一网站,安装多个Counter网站计数器,作法其实比注册账号时更简单 ...

  9. Histats申请Counter网站计数器 - Blog透视镜

    为了计算网页被浏览的次数,访客人数等统计数据,作为未来分析之用,可以向Histats申请免费的Counter网站计数器,它的功能相当齐全,同时也会保留一段时间的资料,当作统计比较的资料,更可以进一步付 ...

  10. tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决

    现象: tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig() ...

随机推荐

  1. 微信公众号开发者模式自定义菜单 node

    纯属分享 var config = require('./admin/wx/config/config'); var API = require('wechat-api'); var api = ne ...

  2. DB2 to mysql

    1.安装DB2 create database testdb connect to testdb 2. 将DB2 ixf格式into DB2 IMPORT FROM /tabxxx.IXF OF IX ...

  3. event 实现两个程序的交互

    event.wait() 等待一定时间,或者当遇到event.set() 时,继续执行 event.clear() 清除信号 event.set() 设置信号 event.isset() 判断信号 例 ...

  4. 主流JS库一览

    主流JS库一览 标签: prototypedojomootoolsprototypejsjqueryjavascript 2009-10-14 22:52 19936人阅读 评论(2) 收藏 举报   ...

  5. python爬虫(5)--正则表达式

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 1.了解正则表达式 正则表达式 ...

  6. node系列:全局与本地

    查看:默认和当前的 全局与本地 全局路径:npm config get prefix 本地路径:npm config get cache 修改 修改就会创建对应目录(文件夹) 修改本地路径:npm c ...

  7. XML与HTML

    一.什么是HTML 带着疑问走到这里,一句话:HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言. 如果想了解更多请看以下博客: http://blog. ...

  8. Java HashMap,LinkedHashMap,TreeMap

    Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据 ...

  9. 奇偶数判断2(if else+switch语句)

    public class 奇偶数判断2 { public static void main(String [] agrs){ float s = 17f; //定义浮点型数据s float h = s ...

  10. 使用jQuery可能出现的错误