[Seasar-user:18125] Re: mobylet ver.0.8.2 リリース
Shin Takeuchi
[E-MAIL ADDRESS DELETED]
2009年 7月 30日 (木) 14:24:27 JST
景由@イズさん
竹内(stakeuchi)です。
発生しているNullPointerExceptionはS2用のFilterを利用することで回避可能です。
(ドキュメントにはまだ記載できていなくて申し訳ないのですが)
mobylet-s2extension内にある
org.seasar.mobylet.http.S2MobyletFilterを
今設定しているMobyletFilterの代わりにご利用下さい。
これをご利用いただいた上で
app.diconに
mobylet.diconをincludeしていただくと
Mobyletインスタンスを以下のようにDIすることが可能にもなります。
@Resource
protected Mobylet mobylet;
この設定でほぼS2では動作すると思いますが
S2用のドキュメントの整備はもうしばらく遅くなると思いますので
何か疑問や問題など御座いましたら
お気軽にご質問いただければ幸いです。
よろしくお願い致します。
2009/07/30 14:02 に Kageyu Hidemasa<[E-MAIL ADDRESS DELETED]> さんは書きました:
> いつもお世話になっております。
> 景由@イズです。
>
> >竹内(stakeuchi)様
>
> 先ほどのメールにて「入力した文字がうまく受け取れていないようなです。」と
> 言いましたが、mobylet-0.8.2 の版のモジュールを入れて試したところ、Action
> は無事に通るのですが、その後下記のような Exception を吐いてしまう様に
> なりました。
>
> 2009/07/30 13:25:00 org.apache.catalina.core.ApplicationDispatcher invoke
> 致命的: サーブレット action のServlet.service()が例外を投げました
> java.lang.NullPointerException
> at org.mobylet.core.util.RequestUtils.getMobyletContext(RequestUtils.java:39)
> at org.mobylet.core.MobyletFactory.getInstance(MobyletFactory.java:47)
> at org.mobylet.core.http.MobyletResponse.getWriter(MobyletResponse.java:74)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:393)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> at org.seasar.struts.action.S2RequestProcessor.doForward(S2RequestProcessor.java:312)
> at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
> at org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:134)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.java:127)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:86)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:91)
> at org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:57)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)
> at org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:99)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:91)
> at org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:57)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> DEBUG 2009-07-30 13:25:00,109 [http-8080-1] HOT deployを終了しました
> 2009/07/30 13:25:00 org.apache.catalina.core.StandardWrapperValve invoke
> 致命的: サーブレット default のServlet.service()が例外を投げました
> java.lang.NullPointerException
> at org.mobylet.core.util.RequestUtils.getMobyletContext(RequestUtils.java:39)
> at org.mobylet.core.MobyletFactory.getInstance(MobyletFactory.java:47)
> at org.mobylet.core.http.MobyletResponse.getWriter(MobyletResponse.java:74)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:393)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> at org.seasar.struts.action.S2RequestProcessor.doForward(S2RequestProcessor.java:312)
> at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
> at org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:134)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.java:127)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:86)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:91)
> at org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:57)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)
> at org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:99)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:91)
> at org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:57)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
>
> getMobyletContext で失敗しているということなので、何か設定が不足してい
> るのでしょうか?
> http://mobylet.sandbox.seasar.org/settings/ の「MobyletFilterを適用する」
> 「最新の端末情報を取得する」はやっております。
>
> また先ほどのメールでは GET は巧くいかず POST は巧くいくと書きましたが、
> 今度は GET は巧くいくのですが POST がうまく行かなくなってしまいました。
>
> 情報が不足しているようでしたら、ご連絡いただけたらと思います。
> 以上よろしくお願いします。
>
>
> 2009年07月30日12時25分07秒 Shin Takeuchi <[E-MAIL ADDRESS DELETED]>さんは
> 「[Seasar-user:18120] mobylet ver.0.8.2 リリース」というメールで以下のように書きました。
>> 竹内(stakeuchi)です。
>>
>>
>> mobylet-0.8.2をリリースいたしました。
>> http://mobylet.sandbox.seasar.org/
>>
>>
>> 今回のリリースでは
>> 内部的にForwardを利用するようなF/Wで正常に動作しない件や
>> GETパラメータが上手く取得出来ない件など
>> Criticalな障害修正が含まれていますので
>> 現在0.8.1をご利用の方は、0.8.2へのアップグレードをお願い致します。
>>
>>
>> 以下、リリースノート。
>>
>> Release Notes - Mobylet - Version 0.8.2
>>
>>
>> ** Bug
>> * [MOBYLET-32] - f:u()を使うとNullPointerExceptionが発生する
>> * [MOBYLET-33] - [mobylet-core] GETパラメータが最初の1つしか取れない
>> * [MOBYLET-34] - [mobylet-core] U+00BB等の1バイト0xA2〜0xF7系が文字化けする場合がある
>>
>> ** Improvement
>> * [MOBYLET-35] - [mobylet-core] MobyletFilterからデフォルト文字コードを指定可能とする
>> * [MOBYLET-36] - [mobylet-core] ContentTypeとして利用するCharsetNameがJSP等で取得したい
>>
>>
>>
>> --
>> --Lei Hau'oli Co.,Ltd.----------------------
>>
>> 竹内 真(TAKEUCHI SHIN)
>> Mail: [E-MAIL ADDRESS DELETED]
>>
>> 株式会社Lei Hau'oli
>> 〒150-0001 東京都渋谷区神宮前4丁目18番6号
>> Tel: 03-5775-0315 Fax: 03-5775-0314
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
> ---
> 景由秀正@イズ株式会社
> SI部 Webソリューショングループ
> PHONE:03-5771-5021 FAX:03-5771-5022
> URL http://www.is-visionary.com/
>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--
--Lei Hau'oli Co.,Ltd.----------------------
竹内 真(TAKEUCHI SHIN)
Tel: 080-3300-9888
Mail: [E-MAIL ADDRESS DELETED]
株式会社Lei Hau'oli
〒150-0001 東京都渋谷区神宮前4丁目18番6号
Tel: 03-5775-0315 Fax: 03-5775-0314
Seasar-user メーリングリストの案内