2

NetBeans を使用して単純なサーブレット プロジェクトを作成しようとしましたが、ログインを開始しました。ログイン ページは html で作成され、css ドキュメントと同じように NetBeans の「Web ページ」フローダー (ディレクトリ構造の web) に格納されます。

NetBeans にファイルを格納する方法

ページを表示しようとすると、css が含まれているとすべて正常に動作します。ただし、このファイルを実行しようとすると ( shift + F6 )、ブラウザーにリダイレクトの失敗に関するエラーが表示されます。 HTML ページを開く際のエラー

jspページでcssファイルを使用しようとすると、同様の失敗があります。jspページにすべてのhtmlテキストがあり、プレーンhtmlページを使用すると機能しますが、jspページではcssが機能しません。この問題を解決するために、Glassfish と Apache Tomcat の 2 つのサーバーを使用しようとしましたが、どちらも機能していません。同様のトピックをいくつか確認しようとしましたが、css を jsp に含めるための説明が機能していませんでした。次のタスクは、response.sendRedirect() 関数によるログイン ページへのリダイレクトです。jsp ページにリダイレクトしようとすると (css が含まれていなくても) 正常に動作しますが、html にリダイレクトしようとすると、上記と同じエラーで動作しません。sendRedirect() 関数パラメーターとして保存された無効なアドレスで同じ失敗が発生します。

JSP ファイルの WEB-INF フォルダーに配置されたリソースを参照すると、リソースで HTTP 404 が返される

Web サーバーは Web ページと css ファイルの適切なアドレスを知らないだけだと思います。HTMLページを表示するためにweb.xmlまたは他の場所に追加する方法はありますか? 別の障害がある場合、どうすれば修正できますか? 外部CSSファイルをjspページに追加するにはどうすればよいですか?

返信ありがとうございます。

ArtyMcFly の応答が追加された後: 返信ありがとうございます。私はあなたの答えで説明したことをすべて試しました。私の web.xml は今のように見えます:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

 //This is changed code from MartyMcFly   
    <servlet>
    <servlet-name>errorPage</servlet-name>
    <jsp-file>/WEB-INF/errorPage.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>errorPage</servlet-name>
    <url-pattern>/errorPage</url-pattern>
</servlet-mapping>


    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>Controler.TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

また、サーブレットのリンクも変更しました。に

<link rel="stylesheet" type="text/css" href="./css/main.css" />

現在、css ファイルは Web Pages/css/main.css に保存されています。しかし、何も機能しません。

10ポイントになるまでスクリーンショットを追加できません。これはいくつかのサーバーポリシーです...

PS: ポイントが 10 を超えたので、状況を説明する印刷画面を追加しました。

4

1 に答える 1

0

EDIT は状況を改善しなかったため、最初の応答を削除しました。以下は、デプロイメント記述子 (web.xml) とファイル構造の両方における css と jsp の作業セットアップです。

netbean セットアップの 1 つを調べたところ、構造は次のようになっています。

/WEB-INF/jsp/*all my jsp pages*
/css/*css pages*

デプロイメント記述子 (web.xml) は次のようになります。

<servlet>
    <servlet-name>jsppage1</servlet-name>
    <jsp-file>/WEB-INF/jsp/jsppage1.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>jsppage1</servlet-name>
    <url-pattern>/jsppage1</url-pattern>
</servlet-mapping>

次のコードを使用して、jsp 内に css を含めました。

<link rel="stylesheet" type="text/css" href=" css/main.css" />

したがって、コードで行われているのは、URL アドレス /jsppage1 を WEB-INF フォルダー内のファイルにマッピングし、jsp ファイルに関する限り、プロジェクトのルートに保存されていることです。 WEB-INF のファイル構造。

于 2013-07-20T09:43:40.013 に答える