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

    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    Navicat工具破解
    ios7开发者必知
    浏览器工作原理
    Lettcode_104_Maximum Depth of Binary Tree
    LeetCode:Balanced Binary Tree
    error: openssl/md5.h: No such file or directory
    欢迎来到Swift天地(Welcome to Swift)
    最大子阵列和
    【Cocos2d-x Lua】数据库封装类型的操作
    python于lxml应用
  • 原文地址:https://www.cnblogs.com/axu521/p/9903748.html
Copyright © 2011-2022 走看看