- - PR -
WebアプリでのJSPの位置
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-30 23:20
初めての投稿です。
環境は以下のとおりです。 Appサーバ:tomcat5.0 struts:1.2 現在、Webアプリ名の直下にJSPを配置していますが、これをWebアプリ名/WEB-INF/JSP配下に置きたいです。 配下に移動させたのですが、struts-config.xmlにどのように記述すればよいのかが分かりません。 WEB-INF配下に置くには、何か設定が必要なのでしょうか? | ||||
|
投稿日時: 2004-12-01 01:33
試してみても駄目だったんですか?
試す前なら一度調べた方がよいかと・・・ ちなみに、今までは XXX/JSPに配置していて、/JSP/XXX.jspにfowardしてたんですか? それなら、 /WEB-INF/JSP/XXX.jspでOKだと思いました。 | ||||
|
投稿日時: 2004-12-01 09:42
WEB-INF/のところを外部のブラウザがアクセスするのは禁止じゃないですか?
WEB-INF/の下はシステム的に重要なライブラリやプロパーティファイルが置ける場所だから。。 | ||||
|
投稿日時: 2004-12-01 11:19
基本的に完全に外部からのWEB-INF配下参照はやめたほうがいいですよね。
ただ、某フレームワークとかだと、WEB-INF配下(セキュアな場所)にJSPを 置いて、画面表示エンジンみたいなのが、設定ファイルに設定されている 通りにWEB-INF配下のJSPをインクルードして表示させる、みたいなことは やっていました。 ですので、やるのなば外部からWEB-INF配下を直接参照させるのではなく トリッキーなことをしてシステムがWEB-INF配下から拾ってくるとかに した方が良いと個人的には思います。 | ||||
|
投稿日時: 2004-12-01 12:12
この話って、外部参照させたいって話ですか?
WEB-INF配下はブラウザで直接JSP等を参照することは当然できないですけど、 サーブレットからのフォワードだったら見れませんでしたっけ。 Strutsがうまくやってくれてるのかな。。。 | ||||
|
投稿日時: 2004-12-01 23:33
すみません・・・上記のとおり/WEB-INF/JSP/XXX.jspと書いて行けました。 試したときはWEB-INF/JSP/XXX.jspと書いていて/を忘れていました。 しかし、CSSファイルの読み込みがうまくいきません。 CSSファイルは、WEB-INF/css/XXX.cssに配置してあります。 JSPでCSSファイルを読込む場合に/WEB-INF/css/XXX.cssと記述しても読込まれません。 ところで、WEB-INF配下は外部参照禁止ということですが、アドレスにhttp://localhost:8080/WebApp名/XXX.jspでアクセスされてしまわないように index.jsp以外は、WEB-INF配下にJSPを配置しようと思っていました。 他の方々は、index.jsp以外のJSPファイルのアクセスさせたくない場合はどのような対応をとっているのでしょうか? | ||||
|
投稿日時: 2004-12-01 23:59
cssはブラウザからGETで取得しに行きます。
ですので、外部から参照できない階層に存在したら 当然参照はできませんね。 静的コンテンツはHTTPサーバ側か、 APサーバの参照可能な位置に配置すべきです。 index.jspですが、私の場合は、 ・index.jsp等 > APサーバのアプリケーションルート ・業務ロジックとの連携が必要なJSP > WEB-INF配下 という風に配置してます。別にindex.jspじゃなくても構わないですが。 | ||||
|
投稿日時: 2004-12-02 10:06
アプリの構成が以下だとして
/webapp/css/style.css /webapp/WEB-INF/jsp/forwarded.jsp web.xmlのアクションへのマッピングが以下なら <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> forwarded.jsp は相対パスで「css/style.css」 で参照可能です。 それと少なくともStrutsを利用しているのであれば WEB-INF配下にjspをおくのは常識です。Actionを 経由しないJSPなんて原則ないはずですし。(indexページを除く) |