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

    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    分享个好的笔记软件:为知笔记
    Mysql的一些常用方法
    从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布
    【超级详细】使用 PXE+Kickstart 实现无人值守批量部署系统
    Linux杀不死的进程之CPU使用率700%
    Hadoop 从节点的 NodeManager 无法启动
    Phoenix 无法启动报错: java.net.BindException: Address already in use
    CentOS7 配置 SSH监听多个端口方法
    Linux CentOS 防止SSH暴力破解
    Windows出现“引用账户被锁定,且暂时无法登录”解决方法
  • 原文地址:https://www.cnblogs.com/axu521/p/9903748.html
Copyright © 2011-2022 走看看