2016-04-17 154 views
-2

我找不到servlet錯誤。我使用WIldFly。我的目錄結構是這樣的:Servlet未找到錯誤

根 - >應用程序,converter.html,SRC

應用程序 - > WEB-INF

WEB-INF - >類,lib中,web.xml中

SRC - > servlet.java

我一直在尋找在這一段時間,無法找到問題所在。我認爲我已經在web.xml中正確地映射了映射,並且表單操作似乎也發送到.html文件的正確位置。

servlet類:

import java.io.IOException; 
import java.util.*; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class servlet extends HttpServlet{ 
    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException{ 
    String username = request.getParameter("username"); 
    String email = request.getParameter("email"); 
    response.getWriter().println("<html>"); 
    response.getWriter().println("<head>"); 
    response.getWriter().println("<title>Title</title>"); 
    response.getWriter().println("</head>"); 
    response.getWriter().println("<body>"); 
    response.getWriter().println("Convert. "); 
    response.getWriter().println("</body>"); 
    response.getWriter().println("</html>"); 
} 


} 

的web.xml

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

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

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

</web-app> 

converter.html

<!DOCTYPE html> 
<html> 
<head> 
     <title> Test form </title> 
</head> 
<body> 
    <form action="http://localhost:8080/root/src/servlet" method="get"> 
     Name: <input type="text" name="username"><br> 
     Email: <input type="text" name="email"><br> 
     <input type="submit" value="Submit"> 
    </form> 
</body> 
</html> 

回答

-3

您需要修改在以下幾個方面的converter.html:

  1. 將操作更改爲操作=「servlet」
  2. 將方法從GET更改爲POST,因爲您要將數據發送到服務器。 HTTP GET方法被起訴用於從服務器檢索數據。

你可以閱讀更多下面這個鏈接: http://www.tutorialspoint.com/servlets/servlets-form-data.htm

+0

他需要改變URL以' 「/ servlet的」'按了'servlet的mapping'條目。如果他更改爲POST,他還必須將'doGet()'更改爲'doPost()'。 – EJP

+0

亞洲原創碼尼斯皮革刮地點充滿了炫耀自己作爲「教程」的廣告橫幅必須採取一大袋鹽(玫瑰花,教程點,javabeat等..)。他們純粹是爲了廣告收入。請忽略並將它們黑名單。相反,依靠Oracle自己的教程和權威書籍(當然還有堆棧溢出的重要答案)。 – BalusC

+0

當你說URL改爲「/ servlet」時,你是指表單動作?所以