web.xml配置詳解之listener


web.xml配置詳解之listener

  • 定義
<listener>
    <listener-class>nc.xyzq.listener.WebServicePublishListener</listener-class>
</listener> 
  • 作用

        該元素用來注冊一個監聽器類。可以收到事件什么時候發生以及用什么作為響應的通知。事件監聽程序在建立、修改和刪除會話或servlet環境時得到通知。常與context-param聯合使用。

  • listen-class標簽

         listen-class 指定監聽類,該類繼承ServletContextListener 包含初始化方法contextInitialized(ServletContextEvent event) 和

銷毀方法contextDestoryed(ServletContextEvent event);

  • 示例

         初始化日志配置文件

package nc.xyzq.listener;

import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import javax.xml.ws.Endpoint;
import nc.xyzq.uuib.service.impl.WebServiceImpl;
 
 /**
  * 用於發布WebService的監聽器
  */
 //使用Servlet.提供的@WebListener注解將實現了ServletContextListener接口的WebServicePublishListener類標注為一個Listener
 @WebListener
 public class WebServicePublishListener implements ServletContextListener {
 
     @Override
     public void contextDestroyed(ServletContextEvent sce) {
       System.gc();
     }
 
     @Override
     public void contextInitialized(ServletContextEvent sce) {
        //WebService的發布地址
        String ip ="";
        try {
            ip = InetAddress.getLocalHost().getHostAddress();
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         System.out.println("本機的IP = " + ip);
         String address = "http://"+ip+":8080/rzzxservices/WebService";
         //發布WebService,WebServiceImpl類是WebServie接口的具體實現類
         Endpoint.publish(address , new WebServiceImpl());
         System.out.println("使用WebServicePublishListener發布webservice成功!");
     }  
 }
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM