[Seasar-user:20691] Re: java.lang.NullPointerException が発生しました

Nguyen Vu Hung (VNC) [E-MAIL ADDRESS DELETED]
2011年 3月 29日 (火) 13:34:49 JST


ひがさん、

vuhungです。

web.xmlより下記の設定を消せば、問題点を再現できなくなりましたので、
お知らせ致します。

<filter-mapping>
<filter-name>hotdeployfilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>

参考:
http://s2struts.seasar.org/ja/1.3/s2struts.html#HotDeploy
http://s2container.seasar.org/2.4/ja/DIContainer.html#SMARTdeploy

Eclipseで開発していますが、上記のweb.xml設定を消しても問題ないようです。
又、本番サーバ配備はHOT Deployを想定しませんので、上記の設定がなくても大 
丈夫だろうと思っています。

ちなみに、アクションクラス・パスは無関係のようです。

又、下記のコードが絡んでいるかは判明できていません。

           if (ac == null&&   HotdeployUtil.isHotdeploy()) {
               SingletonS2ContainerFactory.getContainer().getComponent(
                       ActionUtil.fromPathToActionName(path));
           }

たまたまうごかけましたってことかもしれませんね(笑)

ご対応をありがとうございます。

(2011/03/24 15:51), Yasuo Higa wrote:
> ひがです。
>
> アクションクラス:tutorial.action.ABCXYZ.MNPQ012Action
> パス:http://localhost:8080/ABCXYZ/MNPQ012/
>
> で動きましたよ。
> アンダーバーありは動かないはずなので試してません。
>
>
>>>> vuhungと申します。
>>>>
>>>> 問題点を把握できていませんが、おかしいかなと思って、メールしました。
>>>>
>>>> ■発生時のログ:添付ファイルjava.lang.NullPointerException.log.txtを御覧
>>>> ください
>>>>
>>> あのログでは、ActionConfigが見つからないことしかわからないのですが、
>>> アクションのパスとクラス名はどうなっているでしょうか。
>>>
>>> ルートパッケージは、rootと置き換えてください。
>> vuhungです。
>>
>> パスとアクション名は以下の通りです。
>>
>> アクション名:MNPQ012012Action
>> パス:
>>  ケース1(アンダーバーあり):http://localhost:8080/ABC_XYZ/MNPQ012/
>>  ケース2(アンダーバーなし):http://localhost:8080/ABCXYZ/MNPQ012/
>>   →いずれもNULL例外が発生します。
>>
>> 環境:
>> Tomcat 6.2.0
>> Java 6.0.16
>> Seasar 2.4.40
>> クライアント、サーバ側のOS: Windows XP SP 2
>> ブラウザ IE 6
>>
>> 問題点を特定できず、大変ご恐縮ですが、
>>
>> 宜しくお願いします。
>>
>>>> ■関係ありそうなコードは下記です。
>>>>  コメントは私が入れました。
>>>>
>>>> package org.seasar.struts.config;にて
>>>>
>>>>        @Override
>>>>        public ActionConfig findActionConfig(String path) {
>>>>            if (!initialized) {
>>>>                initialize();
>>>>            }
>>>>
>>>>            // ※pathは正しくセットされているが、
>>>>    //例外発生時はacがNULLとなっていた
>>>>            ActionConfig ac = (ActionConfig) actionConfigs.get(path); 
>>>>
>>>>            //このifはacに関係ない
>>>>            if (ac == null&&   HotdeployUtil.isHotdeploy()) {
>>>>                SingletonS2ContainerFactory.getContainer().getComponent(
>>>>                        ActionUtil.fromPathToActionName(path));
>>>>            }
>>>>     // pathがNULLの場合はこのメソッドもNULLを返すことになる
>>>>            return (ActionConfig) actionConfigs.get(path);
>>>>        }
>>>>
>>>> ■ググッてみましたが、
>>>>  http://ameblo.jp/v-ma07/theme2-10025259636.html
>>>>  →アンダーバーを含むURLならば例外が発生します。
>>>>
>>>> 私の場合はURLにアンダーバーがありません。
>>>>
>>>> ご教授いただけると助かります。
>>>> 宜しくお願いします。
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Seasar-user mailing list
>>>> [E-MAIL ADDRESS DELETED]
>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>>
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>

-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20110329/d4033e64/attachment.html>


Seasar-user メーリングリストの案内