-4

こんにちは、次のように単純なサーブレットを作成しようとしています

import java.io.*;
import javax.servlet.*;    
import javax.servlet.http.*;
public class Form extends HttpServlet
{
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
    {
     res.setContentType("text/html");
     PrintWriter p=res.getWriter();
     p.println("<html><head></head><body bgcolor=\"red\">The request came from"+req.getMethod()+"</body></html>");
    }

}

req.getMethod() は POST を返す必要がありますが、null 値が返されます。

次のようにコーディングされたhtmlファイルからリクエストを取得しています。

   <html>

   <body>

   <form action="http://localhost:8080/Form" method="GET">

   First Name: <input type="text" name="name"/>

  <br>

   <input type="submit" value="Submit form "/>

  </form>

  </body>

  </html>

ここに web.xml ファイルがあります。ここで何か変更を加える必要がありますか。

 <web-app xmlns="http://java.sun.com/xml/ns/javaee"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                    
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"   
  version="3.0"   metadata-complete="true">

    <display-name>Welcome to Tomcat</display-name>
    <description>
     Welcome to Tomcat
    </description>

    <servlet>
     <servlet-name>Form</servlet-name>
     <servlet-class>Form</servlet-class>
    </servlet>

    <servlet-mapping>
      <servlet-name>Form</servlet-name>
      <url-pattern>/Form</url-pattern>
    </servlet-mapping>

    </web-app>
4

1 に答える 1

0

この注釈を記述して、サーブレットをフォームに添付できます。

@WebServlet("/Form")
public class Form extends HttpServlet {

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

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... }
}

する必要がありimport javax.servlet.annotation.WebServletます。

于 2016-02-01T11:17:28.550 に答える