1

Eclipse に動的 Web プロジェクトを追加し、WebContent フォルダー内の静的 HTML ファイルとリソースにアクセスできます。JSP ファイルを WebConent\WEB-INF に配置しました

これは問題なく動作します: "http://localhost:8080/HelloWorld/index.htm"

これは、リソースが見つからないことを示しています: "http://localhost:8080/HelloWorld/Logon.jsp"

JSP サーブレット マッピングを定義していません。ウェルカムファイルのみを含むデフォルトの web.xml があります。プロジェクト名を右クリックし、[Debug On Server] を選択してアプリを実行します。

更新:私はいくつかの成功を収めました。Eclipse プロジェクトの web.xml (WebContent\WEB-INF フォルダー内) に以下を追加しました。Test.jsp は、Test.jsp が WebContent フォルダーにある場合にのみ「http://localhost:8080/HelloWorld/Test.jsp」として機能し、WebContent\WEB-INF フォルダーにある場合は機能しません。

  <servlet>
   <servlet-name>jsp</servlet-name>
   <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
   <init-param>
       <param-name>fork</param-name>
       <param-value>false</param-value>
   </init-param>
   <init-param>
       <param-name>xpoweredBy</param-name>
       <param-value>false</param-value>
   </init-param>
   <init-param>
        <param-name>logVerbosityLevel</param-name>
        <param-value>WARNING</param-value>
   </init-param>
   <load-on-startup>3</load-on-startup>

   <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
   </servlet-mapping>
4

1 に答える 1

2

のファイル/WEB-INFは公開されていません。そのフォルダーは、構成ファイル、テンプレート ファイル、タグ ファイル、インクルード ファイル、MVC ビュー ファイルなどを対象としています。基本的に、最初にメイン JSP ファイルまたはフロント コントローラー サーブレットを呼び出さずに、エンドユーザーが直接アクセスできないと思われるすべてのもの。

/WEB-INFそれらをフォルダーの外、パブリック Web コンテンツに配置するだけです。

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


の不要なコピーを から削除することを忘れないでJspServletくださいweb.xml。それは具体的な問題をまったく解決しませんでした。さらに、それは実際にはあなたの webapp のweb.xml. これはすでにサーブレットコンテナ自身で定義されていweb.xmlます (Tomcat の場合、その/confフォルダにあります。Web アプリケーションに登録するJspServletweb.xml、Web アプリケーションが移植できなくなるだけです。Tomcat とは異なる make のサーブレットコンテナでは実行できません。

于 2012-10-16T00:13:33.843 に答える