2017-10-22 11 views
0

私は、requestServletというサーブレットにリクエストを送信したいフォームを持っています。このサーブレットは "Controller"というディレクトリの下にあります。しかし、フォームを送信してからサーブレットにアクセスすることはできません。この問題を解決するにはどうすればよいですか?要求されたリソースが利用できません:/ ClassProject /ビュー/ RegisterServletフォームアクションからサーブレットを呼び出せません

説明を - 私は404形

HTTPステータスを提出した後、次のエラーを取得します。

形式:(フォームビューディレクトリの下にlogin.jspページに常駐)

<form action="RegisterServlet" class="register" method="POST" > 
     <fieldset> 
      <legend>Registration</legend> 
      Username : <input type="text" name="username" id="username"> 
      </br></br> 

      Password : <input type="password" name="password" id="password"> 
      </br></br> 
      Email : <input type="email" name="email" id="email"> 
      </br></br> 
      Date of Birth : <input type="date" name="date" id="date"> 
      </br></br> 
      <input type="submit" value="Submit"> 
     </fieldset> 
    </form> 

のweb.xml:

<servlet> 
    <servlet-name>RegisterServlet</servlet-name> 
    <servlet-class>Controller.RegisterServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RegisterServlet</servlet-name> 
    <url-pattern>/RegisterServlet</url-pattern> 
</servlet-mapping> 

ここでは私のディレクトリ構造です:

enter image description here

+0

エラーは何ですか? –

+0

エディターポスト。 –

+0

を確認してください問題は、フォームアクションで相対パスを使用していることです。アクションルートにコンテキストルートを追加してください。 –

答えて

1

あなたLogin.jspViewsフォルダの下に常駐し、あなたが同じパスにRegisterServletにアクセスしようとしている、ので、あなたが

<form action="../RegisterServlet" class="register" method="POST" > 

<form action="RegisterServlet" class="register" method="POST" > 

を変更する必要があります。要求が

/ClassProject/Views/RegisterServlet 

の代わりweb.xmlあたり、このサーブレットは、プロジェクトのルートに存在する

/ClassProject/RegisterServlet 

しかし、に起こっている理由と、それはです。

+0

これは動作しますが、私は相対パスを使用しないことをお勧めします。 '

'を使用すると、JSPがサーブレットから転送された場合でも動作します。 –

+0

@ KarthikeyanVaithilingam私は '$ {pageContext.request.contextPath}'についてよくわかりません。どうやってリクエストを動かすことができますか?私は、それが '../../'または '../'に行かなければならないかどうかをどうやって知っていますか?あなたが '/ ClassProject/Views/RegisterServlet'と'/ClassProject/Views/something/RegisterServlet'を持っているとしましょう。そして、あなたの 'login.jsp'は'/ClassProject/Views/else/login.jsp'にありますか? – Ravi

+0

これを確認するhttps://stackoverflow.com/questions/3655316/browser-cant-access-find-relative-resources-like-css-images-and-links-when-cal/3658735#3658735 –

関連する問題