7

JSPファイルを作成しました。

sample.jsp

<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
    <title>Insert title here</title>
  </head>
  <body>
    This is jsp program
  </body>
</html>

プロジェクトのここに配置しましたsamplejsp

samplejsp
 `-- WebContent
      `-- WEB-INF
           `-- sample.jsp

以下のURLで開いてみました。

http://localhost:8080/samplejsp/sample.jsp

しかし、ブラウザに次のエラーが表示されます。

404 エラー

要求されたリソース (/sample.jsp) は利用できません。

4

3 に答える 3

8

404 は単に「見つかりません」を意味します。

URL が間違っているか (注意: 大文字と小文字が区別されます!)、リソースがあると思われる場所にありません。

URL を確認するか、リソースが期待どおりの場所にあるかどうかを確認してください。フォルダに入れsample.jspました。/WEB-INFこの方法では、フロント コントローラー サーブレットを介して呼び出さないとパブリックにアクセスできません。

外に置く/WEB-INF

samplejsp
 `-- WebContent
      |-- WEB-INF
      `-- sample.jsp

に保持したい場合は、以下のメソッド/WEB-INFで転送するフロントコントローラーサーブレットを作成する必要があります。doGet()

request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);

最後に、JSP の架空の URL ではなく、サーブレットの実際の URL を呼び出すだけで、JSP を「開きます」。

以下も参照してください。

于 2010-03-05T11:16:17.757 に答える
1

これは主に、ディレクトリ構造またはパッケージに関連しています。
ディレクトリ構造を追加していただけますか?

以下と同様-

src 
|-html\
|-jsp\

おそらくこれはそれを行う必要があります

<form action="sample.jsp" method=get>
      <input type =submit value="submit">
</form>

編集-WEB-INFはJSPへの直接アクセスを許可しません。

于 2010-03-05T11:17:08.563 に答える
1

JSP を使用した私のスプリング ブート Web アプリケーションでは、この依存関係を追加するまで機能しませんでした

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

ビューリゾルバーを構成した後でも

spring.mvc.view.prefix: /WEB-INF/views/ 
spring.mvc.view.suffix: .jsp

これが機能した理由がわかった場合は、コメントしてください。

于 2019-08-21T17:50:11.093 に答える