- - PR -
weblogicのServletContext.getRealPath
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-27 19:51
weblogicのServletContext.getRealPath
いつもお世話になっております。 warファイルをweblogicにデプロイすると ServletContext.getRealPath("XXXXX")で nullが返ってきてしまいます。 使用しているWeblogicのバージョンは「Weblogic 9.2」です。 Strutsを使用しているので、上記の問題でweb.xmlのなかで記述している 「/WEB-INF/struts-config.xml」ファイルを取得しようとして アプリケーション起動時に落ちてしまいます・・・ <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> ⇒ここ <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> 1.原因はなんでしょうか? 色々Webで調べたところWeblogicは 「warファイルをディレクトリに構造展開せずに実行するから。」 *ただ、weblogic9.0を使っていたときは問題なかったのですが、 9.2に変更してから上記の問題が発生しました。 2.どのような対応方法がありますか? どなたかご教授よろしくお願いいたします。 |
|
投稿日時: 2006-08-27 21:56
war からデプロイしている場合などは null を返す、とありますので仕様通りの挙動ですね。
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContext.html#getRealPath(java.lang.String) 昔からそのような挙動だったと記憶していますので WLS9.0 でも同様ではないでしょうか? |
|
投稿日時: 2006-08-28 23:13
インギ様
ご回答ありがとうございます。 内容確認しました、確かにAPIにwarからデプロイされた 場合はnullを返す旨の内容が記述されていますね。 となるとwarからデプロイすることを考慮すると、 getRealPathメソッドを使わずに機能を実現することを 考慮する必要がありますね。 *9.0でなぜうまく挙動しているかはいまだ不明です・・・ 何かわかりましたら、ご報告させていただきたいとおもいます。 ご回答まことにありがとうございました。 |
1