web.xml
特定のサーブレットフィルタを1回だけ実行する必要があることをで定義する方法はありますか?
質問する
1070 次
2 に答える
0
ラウンドアバウトの方法は、クラス変数を持ち、最初のアクセス時にそれを設定し、この変数をチェックする'if'ブロックにすべての関数型コードを含めることです。
于 2012-05-16T17:21:57.797 に答える
0
いいえ、Filter
ありません。何Filter
をしていても、代わりに行う必要がありServletContextListener
ます。
@WebListener
public class Config implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
// Do stuff during server startup.
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// Do stuff during server shutdown.
}
}
まだサーブレット3.0を使用していない場合は、次のように古い方法でサーブレット3.0を削除@WebListener
して登録します。web.xml
<listener>
<listener-class>com.example.Config</listener-class>
</listener>
を使用することを本当に主張する場合は、ジョブFilter
のメソッドを悪用して、メソッドを呼び出すだけで済みます。init()
chain.doFilter(request, response)
doFilter()
于 2012-05-16T17:21:37.983 に答える