Servlet welcome -file-list不起作用

时间:2016-10-03 12:16:33

标签: java xml servlets

我正在尝试为servlet创建一个简单的代码来接受用户的输入并打印它。 这是我的Servlet clas - :

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

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

/**
 * Servlet implementation class welcome
 */
//@WebServlet("/welcome")
public class welcome extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public welcome() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());

        response.setContentType("text/html");  
        PrintWriter pw=response.getWriter();  

        String name=request.getParameter("name");//will return value  
        pw.println("Welcome "+name);  

        pw.close();  
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

我的Html页面代码 - :Newfile101.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="./welcome" method="get">  
Enter your name<input type="text" name="name"><br>  
<input type="submit" value="login">  
</form> 
</body>
</html>

我的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>T3</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>



  <servlet>
<servlet-name>son</servlet-name>
<servlet-class>welcome</servlet-class>
</servlet>

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

  <welcome-file-list>  

   <welcome-file>NewFile101.html</welcome-file>  
  </welcome-file-list>  
  </web-app>

现在虽然我的web.xml包含欢迎文件列表,但它仍然无效。 我在eclipse oxigen中使用Tomcat 8.5。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您更改为简单的/welcome,那么您的映射中的错误不会出现在欢迎文件列表中

或简单地说,删除dot**(.)** from your form where you have added before / welcome`

还有一件事,删除

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

因为这不是一个好习惯

使它工作:)