2016-01-22 62 views
-1

我想用html文件运行我的第一个servlet。在web.xml中我有:Servlet + HTML文件

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>SimpleServletProject</display-name> 
    <servlet> 
    <servlet-name>XMLServlet</servlet-name> 
    <servlet-class>org.antilamer.XMLServlet</servlet-class> 
    </servlet> 

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

</web-app> 

Servlet类:

package org.antilamer; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class XMLServlet extends HttpServlet { 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 
     String username = request.getParameter("username"); 
     out.println("Hello! " + username); 
    } 


} 

而且finaly我的html文件:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> 
</head> 
<body> 
<form action="XMLServlet"> 

    <input name="username"> 
    <input type="submit"> 

</form> 
</body> 
</html> 

但我有一个小问题,我的servlet工作,但我不没有html文件。它没有出现。我认为在servlet映射问题,但我使用默认的网址,不知道为什么它不工作。

例如 index.html
+1

您如何期待获得html文件?请阅读关于servlets和jsps的更多信息。 –

+0

我看过那个教程:https://www.youtube.com/watch?v = MnUJl3NYRRc&index = 6&list = PLE0F6C1917A427E96。这家伙在浏览器中有这些输入。 –

+0

您需要更改您的web.xml或像这样转发您的请求(以MVC模式进行交易):http://alvinalexander.com/blog/post/servlets/forwarding-from-servlet-jsp –

回答

0

名称你的HTML文件,并添加以下行到你的web.xml <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>

的HTML文件必须在一个欢迎文件列表匹配的名称。另外,如果这个html文件在welcome-file-list中列出(没有任何路径),它必须位于Web根目录(例如WebContent)中。