1

私はJavaを初めて使用し、奇妙な問題を抱えています。WEB-INFフォルダーにいくつかのフォルダー(テーマ、js、css)を作成し、ファイルをこのフォルダーに配置します。index.jspでは、次の方法でcssファイルを使用します。

<style type="text/css"> 
        <%@include file="WEB-INF/css/style.css" %>
 </style>

それはうまくいきます。しかし、style.cssファイルには、次の方法でヘッダータグの背景を設定するdivタグがあります。

#header{
background: url(../theme/violet/header.jpg) repeat-x;
}

ああ。私の問題はここにあります。動作しません。他のcssコマンドは非常にうまく機能するので。WEB-INFの詳細にアクセスできないことは知っていますが、index.jspページのリンクstyle.cssに使用する方法のような方法があるかもしれません。

解決策はありますか?ありがとう。

4

3 に答える 3

2

style.cssを含める方法から、index.jspはクライアントブラウザから直接アクセスできるWEB-INFフォルダの外にあると思います。含まれているstyle.cssが正常に機能する理由は、サーバー側に含まれているためです。しかし、style.cssでは、背景画像を取得するために、ブラウザーはWEB-INFフォルダー内にある画像への新しい接続を起動し、サーバーはそれを送り返すことを拒否し、あなたは運命にあります。

集中型コントローラサーブレットを使用している場合は、jspをWEB-INFフォルダ内に配置して、直接アクセスされないようにすることができます。サーブレットは、リクエストパラメータに従ってすべてのリクエストを適切なjspにリダイレクトします。

私の知る限り、このフォルダー内に画像やJavaScriptなどを配置する絶対的な理由はありません。ブラウザーがデータを取得するためにこのフォルダーにアクセスする必要がある場合は、間違いなく問題が発生します。

于 2012-05-03T19:34:44.967 に答える
1

それは不可能です。ブラウザから直接アクセスできるコンテンツが必要な場合は、WEB-INF内に配置することはできません。

于 2012-05-03T19:10:33.660 に答える
0

なぜフォルダに作成theme, js, cssするのWEB-INFですか?WEB-INFディレクトリには、アプリケーションに関するメタデータが含まれています。通常の操作では、WEB-INFディレクトリの下にあるものを変更する必要はありません。

jspページで簡単に使用できるディレクトリを直接作成できますtheme, js, csswarWebContent

このリンクはあなたを助けます。

于 2012-05-03T19:11:31.900 に答える