ひと頃のような勢いがなくなりトンと話題にのぼらなくなったApache Strutsですが、Struts 2がうまく適合する場面はたくさんあると思います。
以前作成したシステムからweb.xmlを引っこ抜いて…環境と作ろうとすると、以下のような警告が表示されることがあります。
*********************************************************************** * 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 * * * ***********************************************************************
FilterDispatcherが古くなったようなので、新しい方法をStruts 2のサイトで調べて、書かれていたことをweb.xmlコピペします。
すると、TomcatやJEEサーバを起動すると、見事に動きません。ログを確認すると下記のようなメッセージが記載されます。
java.lang.InstantiationException
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:135)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:5329)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5943)
at com.sun.enterprise.web.WebModule.start(WebModule.java:691)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1041)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:1024)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2286)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1932)
….
Caused by: java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.filter.ng.StrutsPrepareAndExecuteFilter
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1783)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)
org.apache.struts2.dispatcher.filter.ng.StrutsPrepareAndExecuteFilterが見つからないらしいです。
必要なJARが揃っているか構成設定は間違っていないか調べたくなるところですが…
コピペ元の公式サイトの記述が間違っています。
×公式サイトに記載されている内容
org.apache.struts2.dispatcher.filter.ng.StrutsPrepareAndExecuteFilter
○実際にJARファイルに格納されている内容
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
ご確認ください。
Please give us your valuable comment