2015-01-07 41 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類提供了正確的路徑? –