web-fragment模塊化使用


用eclipse右鍵new->other->web->web fragment project

確定后修改dynamic web project name為你要輸出到的項目,當然可以手動將項目打包成jar文件添加到另一個web項目的lib下,也是一樣的。

 

web fragment project:

 

 

web-fragment.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-fragment id="WebFragment_ID" version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd">
<display-name>myFragmentTest</display-name> 
 <name>myFragmentTest</name>
 
     <listener>
         <listener-class>com.listener.RequestListener</listener-class>
     </listener>
     

    <!-- 設置web服務器對這個xml文件的讀取順序,一般在有多個web-fragment的時候會進行配置 -->

    <ordering>
      <before><others/></before>
    </ordering>

     
  
 </web-fragment>

 

requestListener.java

這是一個請求監聽器,每當你訪問一個頁面時就會觸發

package com.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;

public class RequestListener implements ServletRequestListener {

    @Override
    public void requestDestroyed(ServletRequestEvent event) {
        System.out.println("請求結束!");

    }

    @Override
    public void requestInitialized(ServletRequestEvent event) {
        ServletContext application = event.getServletContext();
        Integer count = (Integer) application.getAttribute("count");
        if(null == count) {
            count = 0;
            application.setAttribute("count", count + 1);
        } else {
            application.setAttribute("count", count + 1);
        }
        
        System.out.println("請求的次數為:" + (count + 1));

    }

}

 

這就是另一個web項目

 

打包成jar的requestListener被加到了lib下

當web容器啟動的時候會實例化這個jar包里定義的listener

當你請求一個頁面的時候就會調用listener里的方法。


免責聲明!

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



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