- - PR -
strutsを使用してのjsp上のcss,jsの外部ファイル参照
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-24 18:01
はじめまして
質問があります。 strutsを使用したうえで、jsp上に以下の記述をしました。 <html:html> <head> <LINK rel="stylesheet" type="text/css" href="/css/style.css"> </head> <body> (省略) </body> <html:html> そのようにしたところ、 コンソールに以下のエラーが出力されました。 ------- 2007/02/24 17:56:55 org.apache.struts.action.RequestProcessor processMapping 致命的: パス {0} に対するリクエストは無効です /css/style ------- 自分なりに調査したのですが、 http://kamakura.cool.ne.jp/oppama/ssja/struts-shoot.html こちらを参照したのですが、cssを使用するのにstruts.configを どのように編集したらよいでしょうか? また、どのような原因で上記エラーが発生するか、 あるいはどのような対策をとればよいか教えてください。 struts 1.2.9 tomcat 5.0 です。 よろしくお願いします。 | ||||
|
投稿日時: 2007-02-24 18:09
.css が ActionServlet にマッピングされているからではないでしょうか?
ActionServlet にマッピングするのを *.do だけとかに限定すれば直りそうな気がします。 | ||||
|
投稿日時: 2007-02-24 18:54
インギさん
servletマッピングとはweb.xmlの以下の記載のことでしょうか? <servlet-mapping> <servlet-name>xxx</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> そうであれば、上記のように設定しています。 ただ、これが本当に読まれているか、どこかで確認できるものなのでしょうか (他の設定項目も含めて) | ||||
|
投稿日時: 2007-02-24 22:03
<servlet-mapping>
<servlet-name>xxx</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> こちらの件、WEB-INF直下にあるweb.xmlではなく、 tomcatインストールディレクトリ配下にあるweb.xml に同様の記述をしたら ------- 2007/02/24 17:56:55 org.apache.struts.action.RequestProcessor processMapping 致命的: パス {0} に対するリクエストは無効です /css/style ------- のエラーはでなくなりました。 しかし、相変わらずcssは適用してくれません。 ディレクトリ構成は xxx--+--WEB-INF | +--css style.css | +--jsp aa.jsp となっています。 その状態で、 http://localhost:8080/xxx/jsp/aaa.jsp にアクセス。 jsp内のcss参照は前述の通り <LINK rel="stylesheet" type="text/css" href="/css/style.css"> となっています。 (「/css/style.css」の部分を、「/xxx/css/style.css」 に変更しても同じく適用されませんでした。) cssが適用されない理由としてどのような原因が考えられるでしょうか。 | ||||
|
投稿日時: 2007-02-25 13:15
まず Struts を抜きにして css がブラウザから見える状態にしましょう。
現在 WEB-INF 直下に置いていて、アクセスログでは style.css は 404 エラーになっている状態でしょうか? WEB-INF 直下は直接アクセスしても見えませんので、別のディレクトリに置く必要があります。 一つ上のディレクトリに置いてみてはいかがでしょうか。 Struts のエラーは原因がよくわかりませんが、ActionServlet のマッピング自体は間違っていなさそうですね。 ただ、「tomcatインストールディレクトリ配下にあるweb.xml 」はグローバルに適用される web.xml なのでそちらに書く必要はないです。 書いたからといって挙動が変わるのもなんだかおかしい気がします・・・。 | ||||
|
投稿日時: 2007-02-25 13:32
インギさん
cssとjspをおいているのは、WEB-INFの中ではなく、 WEB-INFと同列です。 なお、xxx\jsp\bb.html とつくって、 http://localhost:8080/xxx/jsp/bb.html とすると、 404エラー発生の上、 The requested resource (/xxx/jsp/bb.html) is not available. となります。 [ メッセージ編集済み 編集者: ガミ 編集日時 2007-02-25 13:33 ] | ||||
|
投稿日時: 2007-02-25 15:47
タイトルでは「strutsを使用して」とありますが、Struts を使用しない場合はうまくいっていますか?
まず、Webアプリケーション自体が正常にデプロイできてるかどうか確認してはいかがでしょうか。 ログを確認するとか・・。 [ メッセージ編集済み 編集者: インギ 編集日時 2007-02-25 15:48 ] | ||||
|
投稿日時: 2007-02-25 15:59
インギさん
すみません。 上記から、どうやらWebアプリ自体のデプロイもできていないようです。 同じディレクトリに入れているjspとhtmlで、 同じようにアクセスしてhtmlだけみれない、というのは どのようなところに原因があるのでしょうか。。 スレッドの意図と反することとなってしまい申し訳ないです。 |