2015-01-07 39 views
-2

我是Java新手,尤其是使用sevlet的新手。我正在制作一个非常简单的servlet,但每当我提交表单时,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> 
+0

检查你的映射。 –

+1

发布您的'web.xml' – Reimeus

回答

0

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

@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

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> 
+0

我试图做到这一点,仍然出现错误。 –

+0

您是否在''中为您的servlet类提供了正确的路径? –