2016-04-17 160 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”时,你是指表单动作?所以