次のエラーを回避するにはどうすればよいですか? Struts2にSpring-Securityを実装しています。アプリケーションは完全に実行されますが、サーバーログに次のメッセージが表示されます。
WARNING!!!
FilterDispatcher <<< is deprecated! Please use the new filters!
This can be a source of unpredictable problems!
Please refer to the docs for more details!
http://struts.Apache.org/2.x/docs/webxml.html
リンクをたどって、それが言うことをすることをお勧めします:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.Apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
FilterDispatcher(org.Apache.struts2.dispatcher.FilterDispatcher)は、初期のStruts2開発で使用されており、Struts2.1.3以降非推奨になっています。
Strutsバージョン> = 2.1.3を使用している場合は、新しいフィルタークラスであるStrutsPrepareAndExecuteFilter(org.Apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)をアップグレードすることを常にお勧めします。
参考のために
Struts 2.1.3以降、FilterDispatcherのdoFilter ()
メソッドで追加メソッド呼び出しが使用され、警告メッセージが表示されます。
showDeprecatedWarning()
はコンソールにメッセージを出力します。それはただのSystem.out.println()です。
public void doFilter(....){
showDeprecatedWarning();
........
}
private void showDeprecatedWarning() {
String msg =
"\n\n" +
"***********************************************************************\n" +
"* WARNING!!! *\n" +
"* *\n" +
"* >>> FilterDispatcher <<< is deprecated! Please use the new filters! *\n" +
"* *\n" +
"* This can be a source of unpredictable problems! *\n" +
"* *\n" +
"* Please refer to the docs for more details! *\n" +
"* http://struts.Apache.org/2.x/docs/webxml.html *\n" +
"* *\n" +
"***********************************************************************\n\n";
System.out.println(msg);
}
ただし、Struts2では、org.Apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
の代わりにorg.Apache.struts2.dispatcher.FilterDispatcher
を使用することをお勧めします。
web.xml構成
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.Apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>