2016-05-13 4 views
0

サーブレットにJSPページに含まれるフォームを送信する方法: 私は私のJSPページでは、このフォームの宣言を持って適切に

<form name="login" method="post" action="loginServlet"> 

は、サーブレットが適切にweb.xmlファイルで宣言されていることを前提としています。このパターンは <url-pattern>/loginServlet</url-pattern>です。

このservletにはdoPostメソッドが含まれています。

しかし、ログインフォームに関連付けられたボタンを押すと、サーバーはこのサーブレットが見つからないと苦情を言います。それを動作させるために私はどのような道を使うべきですか?

これは私のプロジェクトのフォルダ構造です:

-Project0 
    -jsppages 
     login.jsp 
    +htmlpages 
    -WEB-INF 
     -classes 
      LogIn.class 

は、私はパスに問題があると思います。どのように私はこれを修正することができます。ありがとうございました!

編集:

解決しよう
<servlet> 
     <servlet-name>LogInServlet</servlet-name> 
     <servlet-class>LogIn.class</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>LogInServlet</servlet-name> 
     <url-pattern>/loginServlet</url-pattern> 
    </servlet-mapping> 

:フォームにreletedアクションを呼び出すとき、JSPフォルダの外に出る必要がありました

のweb.xmlはまさにこれが私のサーブレットと呼ば含まれてい私のプロジェクトフォルダで../loginsServletというパスを使用することで、このようになります。

<form name="login" method="post" action="../loginServlet"> 
+0

ありがとうございましたが、それはタイプミスです、またはそれは本当にあなたのファイルの書かれていますか? – MedAl

+0

https://docs.oracle.com/cd/E13222_01/wls/docs92/webapp/configureservlet.htmlこれもご覧ください。 – MedAl

+0

'/loginServlet' < - これは無効なXMLです – gfelisberto

答えて

0

WEB-INFディレクトリ以下

はサンプル

<web-app> 
<display-name>HelloWorld Application</display-name> 
<servlet> 
    <servlet-name>HelloServlet</servlet-name> 
    <servlet-class>SERVLET CLASS NAME WITH PACKE</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>HelloServlet</servlet-name> 
    <url-pattern>/loginServlet</url-pattern> 
</servlet-mapping> 

<form name="login" method="post" action="./loginServlet"> 
0
あなたの行動値を変更している中に存在するあなたの web.xmlをチェック

ファイルをweb.xmlに追加してください。あなたのページには、あなたのServlet

<servlet> 
    <servlet-name>loginservlet</servlet-name> 
    <servlet-class>package.LogIn</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>loginservlet</servlet-name> 
    <url-pattern>/loginServlet</url-pattern> 

にマップされます: - あなたのクラス名の前に完全なパッケージ名(例:com.login.ClassName)を入れてください。

関連する問題