2017-04-24 16 views
0

私はなぜエラーが発生しているのですか?私はそれがRegistroに到達doesntのだと思うのコードでポストを提出する際にJava Apache Tomcat必要なリソースが見つかりません

enter image description here

しかし:

enter image description here

そして、それがうまく動作registro.html私が実行します。私はこのプロジェクトを持っています。 registro.htmlでJava

enter image description here

コードです:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="ISO-8859-1"> 
     <title>Registro</title> 
    </head> 
    <body> 
     <form action="http://localhost:8080/Ejer2/Registro.java" method="POST"> 
      <input type=hidden name=registro value=resultadoRegistro> 
      <BR><BR>Username: <input type=text name=user> 
      <BR><BR>Password: <input type=password name=pass> 
      <BR><BR><input type=submit value="Enviar"><input type=reset> 
     </form> 
    </body> 
</html> 

とRegistro.javaで、この1:

package Ejer2; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
import javax.servlet.*; 



@SuppressWarnings("deprecation") 
public class Registro extends HttpServlet implements SingleThreadModel{ 
    private static final long serialVersionUID = 1L; 



    public Registro() { 
     super(); 

    } 



    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 


    } 


    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 
     HttpSession session=req.getSession(true); 
     Usuario miuser=(Usuario)session.getValue(session.getId()); 
     if(miuser==null){ 
      miuser=new Usuario(req.getParameter("user"),req.getParameter("password")); 
      session.putValue(session.getId(),miuser); 
     } 
     res.setContentType("text/html"); 

     String user=req.getParameter("user"); 
     //String pass = req.getParameter("pass"); 

     PrintWriter toClient = res.getWriter(); 
     toClient.println("<html>"); 
     toClient.println("<title>REGISTRO REALIZADO</title>"); 
     toClient.println("Usuario "+user+" registrado con exito"); 
     toClient.println("</html>"); 

     toClient.close(); 
    } 

} 

問題は何ですか?

あなたは以下に示すように、むしろ、あなたの RegistroサーブレットクラスのURLパターンをマップする必要が使用したり、HTML action内に直接 Registro.javaのように呼び出すことはできません

答えて

1

@WebServlet(urlPatterns="/Registro") 
public class Registro extends HttpServlet implements SingleThreadModel{ 
    //Add your code here 
} 

今すぐurlPattern構成された上記を使用しますあなたのregistro.htmlactionとして、以下に示す、他の重要な

<form action="/Registro" method="POST"> 

もサーブレットクラスには一般的にSingleThreadModel(すべての要求が同じサーブレットインスタンスを使用して処理されるため)が必要ないという点がありますが、SingleThreadModelをそのまま使用している場合はそのまま使用できます。

+0

サーブレットクラスとはどんなファイルを参照していますか? – 19mike95

+0

私はあなたの 'Registro'クラスを意味します – developer

+0

これはWebServletが型に解決できないと言っています。 – 19mike95

関連する問題