我正在使用JSP & Servlets開發Web應用程序。使servlet過濾器適用於EAR中的所有Web應用程序
我開發了一個用於登錄目的的servlet過濾器。其中檢查用戶是否登錄,如果用戶登錄,則允許訪問請求的資源,否則將請求重定向到登錄頁面。它完美的作品。
的web.xml
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.myfilter.MyFilter</filter-class>
<init-param>
<param-name>PARAM_NAME_HERE</param-name>
<param-value>PARAM_VALUES_HERE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果我把上面的代碼中Tomcat
首頁 - > conf->的web.xml然後過濾器是適用於部署在Tomcat
的所有應用程序。(這是我想在GlassFish中實現的EAR文件)
但現在some reasons我已經決定轉移到Glassfish的。現在我創建了A EAR
文件,其中包含兩個應用程序(WAR)1.Login
和2. Profiles
。過濾器位於Login Application
中的com.filter
包中,而不存在於Profiles
中。
我的問題是,我應該在哪裏放置XML
以上的代碼,以確保過濾器適用於EAR
中的所有應用程序(WAR)?
UPDATE1
如果我在defualt-web.xml
這是目錄glassfish\domains\domain1\config\
下把上面的XML代碼,然後它適用於Login
廣告應用程式,但不是爲Profiles
應用程序,它是在同一個EAR
文件。
有日誌中錯誤:
異常開始過濾MyFilterName java.lang.InstantiationException
.....
.....
產生的原因:拋出java.lang.ClassNotFoundException:com.myfilter .MyFilterName
[注:過濾器是在Login
應用程序(WAR),而不是在Profiles
應用程序(WAR)
所以,我應該怎麼做這個適用於Profiles
(EAR中的所有WAR)。