-4

您好我正在尝试创建一个简单的servlet,如下所示

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 但给我一个空值。

我从一个编码如下的 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

您可以编写此注释以将您的 servlet 附加到您的表单:

@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 回答