2016-09-08 14 views
0

私のstylesheetを「stylesheet.css」という名前でサーブレットにリンクする必要があります。サーブレットへのスタイルシートのリンク

私は既に解決策のためにグーグルを試みましたが、誰も私の問題を解決しませんでした。 /usr/share/tomcat/webapps/ROOT/WEB-INF/classes/index.html

と私のスタイルシートはここにある:

私のindex.htmlのための私のディレクトリ・パスは次のようになり、私は私のスタイルシートを取得するには、以下の行を持って私のindex.htmlで /usr/share/tomcat/webapps/ROOT/stylesheet.css

out.println("<LINK REL='StyleSheet' HREF='/usr/share/tomcat/webapps/ROOT/stylesheet.css' TYPE='text/css'>"); 

どこにエラーがありますか?上で実行さ -

答えて

1

は、解決策を見つけた

上述したように、まだ同じディレクトリ・パスを維持しながら、ちょうど out.println("<LINK REL='StyleSheet' HREF='stylesheet.css' TYPE='text/css'>");

にそれを変更しなければなりませんでした

1

あなたはhref属性で提供「URL」は実際にあなたのサーバのファイルシステムstylesheet.cssへのパスです - しかし、これはFS通常のブラウザのためにアクセスすることはできません - あなたが開発しているときを除いかもしれサーブレット・エンジンとは異なるマシン。

これは、ブラウザーが(通常HTTP(S)プロトコルを介して)サーバーに接続し、リソースを要求するために使用できるURLを提供する必要があることを意味します。 この特定のケースhref='/stylesheet.css'は、ROOT Webアプリケーションを使用する場合は十分である必要があります。そのため、コンテキストは空です(または/)。デフォルトでは、私が使用する

out.println("<LINK REL='StyleSheet' HREF='" + request.getContextPath() + "/stylesheet.css' TYPE='text/css'>"); 

WARNING

は、サーブレットでHTML出力を生成しないようにしてください。最初から、物事の仕組みを理解するだけで、実際のプロジェクトにMVCなどのアーキテクチャを使用し、ビュー(またはFreemarkerのようなテンプレートエンジン)を定義するJSPを使用すると便利です。

関連する問題