JSP学习笔记(二十四):让服务器启动或停止时自动执行代码

原理是使用servlet的监听器,建立一个servlet类并且实现ServletContextListener接口:

T1.java

package  com.abc.test;

import  java.io.File;
import  java.io.FileWriter;
import  java.io.IOException;

import  javax.servlet.ServletContextEvent;
import  javax.servlet.ServletContextListener;
import  javax.servlet.http.HttpServlet;

public   class  T1  extends  HttpServlet  implements  ServletContextListener {
    
// 服务器停止时执行该事件
     public   void  contextDestroyed(ServletContextEvent sce) {
        DeleteFile();
// 删除启动服务器时建立的文件
    }
    
// 服务器启动时执行该事件
     public   void  contextInitialized(ServletContextEvent sce) {
        WriteFile();
// 添加一个新的文本文件
    }

    
public   void  WriteFile() {
        
try  {
            FileWriter fw 
=   new  FileWriter( " c:/WriteData.txt " );
            
//  将字符串写入文件
            fw.write( " Hello World! " );
            fw.write(
" Hello Everyone! " );
            fw.close();
        } 
catch  (IOException e) {
        }
    }

    
public   void  DeleteFile() {
        File f 
=   new  File( " c:/WriteData.txt " );
        
//  检查文件是否存在,如果存在,直接删除文件
         if  (f.exists()) {
            f.delete();
        }
    }

}

 

类写完后,需要在web.xml中添加一个listener,以便让该servlet类自动执行,在web.xml中添加如下内容:

     < listener >
    
< listener-class > com.abc.test.T1 </ listener-class >
    
</ listener >

 

listener-class里面的内容就是刚才添加的servlet类

 

现在就可以使用了,我使用的Tomcat5.5服务器,启动服务器,会发现C:盘根目录下建立了文件WriteData.txt,停止服务器,WriteData.txt又会被自动删除。

 

启动服务时可能需要读取配置信息,可以把配置信息添加到web.xml,比如

    <context-param>
<param-name>YourName</param-name>
<param-value>YourValue</param-value>
</context-param>

 

在Servlet中可以这么读取:

this.getServletContext().getInitParameter("YourName");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值