[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 メーリングリストの案内