基於eclipse下進行開發
1.建立一個web-fragment工程
File -> New -> Other... -> Web -> Web Fragment Project - > Next -> 添加要建立項目名 -> Next -> Finish
2.編寫 web-fragment.xml 中的檔案內容
| 代碼如下 |
複製代碼 |
<?xml version="1.0" encoding="UTF-8"?> <web-fragment id="WebFragment_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"> <!-- 模組的名稱 --> <display-name>testt</display-name> <!-- 模組的標識名稱 --> <name>testt</name> <!-- 這裡是我配置的一個請求監聽器 --> <listener> <listener-class>org.Rudiment.Listener.MyRequestListener</listener-class> </listener> <!-- 配置這個模組的啟動次序 --> <ordering> <before><others/></before> </ordering> </web-fragment> |
3.在src下面建立一個包 org.Rudiment.Listener
4.在 org.Rudiment.Listener 包下面建立一個監聽器類(MyRequestListener)
| 代碼如下 |
複製代碼 |
package org.Rudiment.Listener; import javax.servlet.ServletRequestAttributeEvent; import javax.servlet.ServletRequestAttributeListener; import javax.servlet.ServletRequestEvent; import javax.servlet.ServletRequestListener; import javax.servlet.http.HttpServletRequest; public class MyRequestListener implements ServletRequestListener, ServletRequestAttributeListener { @Override public void attributeAdded(ServletRequestAttributeEvent arg0) { System.out.println("Request範圍中的屬性:" + arg0.getName() + " 被添加,數值為:" + arg0.getValue()); } @Override public void attributeRemoved(ServletRequestAttributeEvent arg0) { System.out.println("Request範圍中的屬性:" + arg0.getName() + " 被刪除,數值為:" + arg0.getValue()); } @Override public void attributeReplaced(ServletRequestAttributeEvent arg0) { System.out.println("Request範圍中的屬性:" + arg0.getName() + " 數值更新為:" + arg0.getValue()); } @Override public void requestDestroyed(ServletRequestEvent arg0) { HttpServletRequest request = (HttpServletRequest)arg0.getServletRequest(); System.out.println("請求即將結束" ); } @Override public void requestInitialized(ServletRequestEvent arg0) { HttpServletRequest request = (HttpServletRequest)arg0.getServletRequest(); System.out.println("請求即將開始,請求來自" + request.getHeader("Referer") + "發向" + request.getRequestURI()); } }
|
5.將滑鼠放在項目名稱的上面然後,右鍵 export -> Java -> Jar -> 一直預設 Next
6.將我們的匯出的jar放在我需要添加模組的web的WEB-INF/lib/中這個時候,重啟Tomcat,然後訪問頁面的時候,發現,tomcat後台已經顯示監聽器列印的資訊了。