[Wicket-ja-user 275] Re: WAS6.1.21とWicketFileterを用いたときにHTTPエラーコードの404が返却される

Back to archive index

Shinpei Ohtani shinp****@gmail*****
2008年 12月 12日 (金) 11:21:49 JST


大谷です。

Wicketの問題というよりは、Servlet仕様のバージョンの問題だったりしませんか?
こちらでは同じようにフィルタベースのアプリケーションでServlet2.5仕様準拠のweb.xmlを
記述しているのですが、WAS7で問題なく稼動しています。

なので、
> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

をServlet2.5の指定に変えてみるのはどうでしょうか?
(WAS6.1が準拠のServlet仕様が2.4だったか、2.5だったかは未確認ですので
確認してみてください。)
何かの参考になれば。

2008/12/11 22:14 加納充照 <michi****@gmail*****>:
> いつもお世話になっております。
> 加納と申します。
>
> WebSphereApplicationServer6.1.21(JDK1.5)上でWicketFileterを用いたときに、
> HTTPエラーコードの404(File Not Found)が返却される現象で悩んでおります。
> 以下長文になり申し訳ありませんが、何かご存知の方おられましたら、
> ご教示のほどよろしくお願いいたします。
>
> [事象]
> Webアプリケーション起動後、リクエストURL「http://localhost:9080/Webアプリケーション名/」
> を要求するとHTTPエラーコードの404が返却される
>
> [前提条件]
> 1. WebSphereApplicationServer6.1(以降WASで略します)でサーブレットフィルタの処理に問題があるため、
> 以下のパッチとプロパティの設定を行う。
>  (1) WAS6.1 Fix Pack 21を適用
>  (2) WASの管理コンソールよりWebコンテナのプロパティcom.ibm.ws.webcontainer.invokefilterscompatibility
>   をtrueにセット
>
> 2.web.xmlの設定
> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
>
>     <display-name>Wicket Examples</display-name>
>
>     <!-- Filter版 -->
>     <filter>
>         <filter-name>Example</filter-name>
>
> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
>         <init-param>
>           <param-name>applicationClassName</param-name>
>
> <param-value>jp.xxx.gij.example.wicket.ExampleWebApplication</param-value>
>         </init-param>
>     </filter>
>
>     <filter-mapping>
>         <filter-name>Example</filter-name>
>         <url-pattern>/*</url-pattern>
>         <dispatcher>REQUEST</dispatcher>
>         <dispatcher>INCLUDE</dispatcher>
>     </filter-mapping>
>
>     <welcome-file-list>
>         <welcome-file>wicket?bookmarkablePage=index</welcome-file>
>     </welcome-file-list>
> </web-app>
>
> 3. Webアプリケーションクラス
> (2) Webアプリケーションクラス
> mountBookmarkablePage()を使ってホームページクラスをURLパターンにマッピング
>
> public class ExampleWebApplication extends WebApplication {
>     public Class getHomePage() {
>         return Index.class;
>     }
> }
>
> [現時点で判明していること]
> 1. tomcat5.0.28上では問題なくWebPage.getHomePage()で正常にページ遷移されている
> 2. web.xml及びExampleWebApplicationを以下のように修正すると、WebPage.getHomePage()による
> 初期ページまでは正常に表示されるが、その後、初期ページからsetResponcePage(Webページクラス)で
> ページ遷移した際に、HTTPエラーコードの404が返却される
> 3. setResponcePage(Webページクラス)の場合はHTTPエラーコード404が返却されるが、
> setResponcePage(Webページインスタンス)やPageLinke(ページクラス)の場合は、正常にページ遷移される
> 4. WicketServletを使用した場合は、問題なく処理されている(ように見受けられる)
>
> [現時点での修正内容]
>
> 1. web.xml
> 「/wicket/*」を受け付けるfilter-mappingを使用する
>
> <web-app id="WebApp_9" version="2.4"
>     xmlns="http://java.sun.com/xml/ns/j2ee"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
>
>     <display-name>Wicket Examples</display-name>
>
>     <!-- Filter版 -->
>     <filter>
>         <filter-name>Example</filter-name>
>
> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
>         <init-param>
>           <param-name>applicationClassName</param-name>
>
> <param-value>jp.xxx.gij.example.wicket.ExampleWebApplication</param-value>
>         </init-param>
>     </filter>
>
>     <filter-mapping>
>         <filter-name>Example</filter-name>
>         <url-pattern>/*</url-pattern>
>         <dispatcher>REQUEST</dispatcher>
>         <dispatcher>INCLUDE</dispatcher>
>     </filter-mapping>
>
>     <filter-mapping>
>         <filter-name>Example</filter-name>
>         <url-pattern>/wicket/*</url-pattern>
>         <dispatcher>REQUEST</dispatcher>
>         <dispatcher>INCLUDE</dispatcher>
>     </filter-mapping>
>
>     <welcome-file-list>
>         <welcome-file>wicket?bookmarkablePage=index</welcome-file>
>     </welcome-file-list>
> </web-app>
>
> 2. Webアプリケーションクラス
> mountBookmarkablePage()を使ってホームページクラスをURLパターンにマッピング
>
> public class ExampleWebApplication extends WebApplication {
>     public void init() {
>         super.init();
>
>         mountBookmarkablePage("/wicket", getHomePage());
> //      mount(new HybridUrlCodingStrategy("wicket", getHomePage()));
>     }
>
>     public Class getHomePage() {
>         return Index.class;
>     }
> }
>
> 内容に一部不適切なところがあるかもしれませんがご了承ください。
> お手数をおかけしますがよろしくお願いいたします。
> _______________________________________________
> Wicket-ja-user mailing list
> Wicke****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
>
>
>
> _______________________________________________
> Wicket-ja-user mailing list
> Wicke****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
>
>



-- 
=============================
Shinpei Ohtani
mail    : shinp****@gmail*****
blog    : http://d.hatena.ne.jp/shot6/
twitter : http://twitter.com/shot6
=============================



Wicket-ja-user メーリングリストの案内
Back to archive index