我的servlet没有被调用,我做错了什么?

时间:2015-01-07 11:06:06

标签: java html jsp servlets

我是Java的新手,尤其是使用sevlet的新手。我正在制作一个非常简单的servlet,但每当我提交表单时,servlet都没有被调用,我收到了一个错误。有人能帮帮我吗?

这是我的servlet代码:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class sampleServlet extends HttpServlet {

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

        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("<h1>Hello Servlet Get</h1>");
        out.println("</body>");
        out.println("</html>"); 
    }
}


<form action="/sampleServlet/" method="GET">
  <input type="submit" value="Submit form "/>
</form>

我得到的错误是:“请求的资源不可用。”

我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  id="WebApp_ID" version="3.1">
  <display-name>Projekt</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

2 个答案:

答案 0 :(得分:0)

您需要在web.xml中注册servlet或使用注释。使用注释的示例如下所示:

@WebServlet("/processForm")
public class MyServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        response.getWriter().println("Hello");
    }
}

要了解如何在web.xml中注册,请检查: Creating and Configuring Servlets

要查看更多注释使用示例: WebServlet annotation examples

答案 1 :(得分:0)

您需要在web.xml中定义您的servlet,类似于:

<servlet>
    <servlet-name>sampleServlet</servlet-name>
    <servlet-class>package.sampleServlet</servlet-class>
</servlet>

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