zoukankan      html  css  js  c++  java
  • servlet-servletContext网站计数器

    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();
                 }
                
             }
         }
        
    }

    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    Quartz.NET总结(八)如何根据自己需要配置Topshelf 服务
    Golang 入门系列(十七)几个常见的并发模型——生产者消费者模型
    能避开很多坑的mysql面试题,你知道吗?
    Golang 入门系列(十六)锁的使用场景主要涉及到哪些?读写锁为什么会比普通锁快
    Thrift总结(四)Thrift实现双向通信
    Golang 入门系列(十五)如何理解go的并发?
    Nginx总结(六)nginx实现负载均衡
    Nginx总结(五)如何配置nginx和tomcat实现反向代理
    Nginx总结(四)基于域名的虚拟主机配置
    Nginx总结(三)基于端口的虚拟主机配置
  • 原文地址:https://www.cnblogs.com/axu521/p/9903748.html
Copyright © 2011-2022 走看看