1

転送に問題があり、転送しているのにJSPファイルが転送を拒否する場合:ここから開始します:

index.html:

<!DOCTYPE html>
<html>
<head><title>Bank application</title>
<link rel="stylesheet"
      href="./css/styles.css"
      type="text/css"/>
</head>
<body>
<table class="title">
  <tr><th>Web Bank application</th></tr>
</table>

<br/>
<fieldset>
  <legend>Login Page - please enter your Username and Password</legend>
  <form action="loginPage"> 
    Username: <input type="text" name="username"><br>
    Password : <input type="text" name="password"><br>
    <input type="submit" value="Login">
  </form>
</fieldset>

<br/>
<br/>
<br/>
<br/>
<br/><br/><br/><br/><br/><br/>
</body></html>

画面付き: ここに画像の説明を入力してください

次に、そのJSPファイルに移動します--adminPage.jsp

<!DOCTYPE html>
<html>
<head><title>System Administrator Page</title>
<link rel="stylesheet"
      href="./css/styles.css"
      type="text/css"/>
</head>
<body>


<h1>Hello ${name.firstName} ${name.lastName} , You've logged in successfully!</h1>
<h1>
Please choose one of the following options
</h1>



<fieldset>
  <legend>Add a new manager to the bank system</legend>
  <form action="adminAdds1"> 
    <a href="WEB-INF/results/adminAddNewManager.jsp">Press here to continue</a>
  </form>
</fieldset>

<fieldset>
  <legend>Add a new employee to the bank system</legend>
  <form action="adminAdds2"> 
    <a href="WEB-INF/results/adminAddNewEmployee.jsp">Press here to continue</a>
  </form>
</fieldset>

</body></html>

その画面で:

ここに画像の説明を入力してください

しかし、2つのオプションのいずれかをクリックして、に移動するadminAddNewEmployee.jspと、両方のファイルが:adminAddNewManager.jspの同じフォルダにある場合でも、これが何度も表示されます 。adminPage.jsp

HTTP Status 404 - 

--------------------------------------------------------------------------------

type Status report

message 

description The requested resource () is not available.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.28

プロジェクトツリーは次のとおりです。

ここに画像の説明を入力してください

どうすればこれを修正できますか?WEB-INFには転送が必要であることを理解していますが、転送はどこに配置すればよいですか?JSPでは?

hrefしかし、私が使用し、それでも失敗することに注意してください。

よろしく

編集:

adminPage.jspに次のように追加されます:

<fieldset>
  <legend>Add a new manager to the bank system</legend>
  <form action="adminAdds1"> 
    <a href="src/servlets/Admin1">Press here to continue</a>
  </form>
</fieldset>

新しいサーブレットを作成しましたAdmin1.java

package servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


    @WebServlet("/adminAdds1")
    public class Admin1 extends HttpServlet {
        private static final long serialVersionUID = 1L;

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
        {
            request.getRequestDispatcher("/WEB-INF/results/adminPage.jsp").forward(request, response);
        }

    }

しかし、すべてをもう一度実行すると、次のようになります。

HTTP Status 404 - /WebBank/src/servlets/Admin1

--------------------------------------------------------------------------------

type Status report

message /WebBank/src/servlets/Admin1

description The requested resource (/WebBank/src/servlets/Admin1) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.28
4

2 に答える 2

4

WEB-INF 内のファイルは、クライアントから直接アクセスできません。

1つの方法は変更です

 <a href="SomeServletmapping">

SomeServlet get メソッド内で do

request.getDispatacher(yourJSP).forward();

2 番目の方法:

move those JSPs outside the WEB-INF folder.
于 2012-08-08T03:27:01.527 に答える
1

ここを見てください

<a href="WEB-INF/results/adminAddNewEmployee.jsp">Press here to continue</a>

仕様によると、フォルダdirectly内では何もアクセスできません ( ) 。WEB-INF

を使用してそれを行うことができます

<%@ include file="WEB-INF/path/to/expected.jsp" %>

またはJSP、リクエストディスパスを使用するか、またはSpring!のようなフレームワークを使用してディスパッチします。

于 2012-08-08T03:26:14.747 に答える