JSPとサーブレットを使用してWebアプリケーションを開発しています。
ログイン用のサーブレットフィルターを開発しました。ユーザーがログインしているかどうかを確認します。ユーザーがログインしている場合は、要求されたリソースへのアクセスを許可し、そうでない場合は要求をログイン ページにリダイレクトします。そして、それは完璧に機能します。
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 Home-> conf-> Web.xmlに配置すると、フィルターは .xml にデプロイされたすべてのアプリケーションに適用されましTomcatた (これは、Glassfish で EAR ファイルに対して達成したいことです)
しかし、いくつかの理由から、Glassfish に移行することにしました。そして、 2 つのアプリケーション (WAR)とEARを含むファイルを作成しました。フィルタはパッケージに入っていますが、 にはありません。1.Login2. Profilescom.filterLogin ApplicationProfiles
XML私の質問は、上記のコードをどこに配置すればよいEARですか?
アップデート1
defualt-web.xmlディレクトリの下にあるXMLコードの上に置くと、アプリケーションには適用できますが、同じファイルにあるアプリケーションにglassfish\domains\domain1\config\は適用できLoginません。ProfilesEAR
ログにエラーがあります:
Exception starting filter MyFilterName java.lang.InstantiationException
.....
.....
原因: java.lang.ClassNotFoundException: com.myfilter.MyFilterName
[注: フィルターはLoginアプリケーション (WAR) 内にあり、アプリケーション (WAR) 内にはありませんProfiles]
では、これをProfiles(EARのすべてのWARに)適用するにはどうすればよいですか。