1

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に)適用するにはどうすればよいですか。

4

1 に答える 1

1

フィルターを含むjarをglassfish\domains\domain1\libフォルダーに入れます

于 2013-04-24T07:34:22.783 に答える