找不到java servlet 404 [重复]

问题描述 投票:0回答:1

servlet是

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletWriteHtml extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException
{
    PrintWriter out = response.getWriter();
    java.util.Date today = new java.util.Date();
    out.println("html" +
                "<body>" +
                "<h1 align = center>Write Html<h1>"
                + "<br>" + today + "<body>" + "</html>");                        
        }
}

web.xml是

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="file-upload" version="2.4" 
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">
    <servlet>
        <servlet-name>And</servlet-name>
        <servlet-class>ServletWriteHtml</servlet-class>
    </servlet>  
    <servlet-mapping>
        <servlet-name>ServletWriteHtml</servlet-name>
        <url-pattern>/Alfa</url-pattern>
    </servlet-mapping>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>
</web-app>

url是http://localhost:8080/JavaWeb/Alfa编译的servlet,类在WEB-INF文件夹中

HTTP状态404 - 未找到类型状态报告消息未找到描述所请求的资源不可用。 GlassFish Server开源版4.1.1

servlets http-status-code-404
1个回答
1
投票

你的servlet-name在servlet和servlet-mapping中都应该相同

你需要在servlet-class中给出完整的类(包括包)路径

例如:

<servlet>
    <servlet-name>ServletWriteHtml</servlet-name>
    <servlet-class>my.packages.ServletWriteHtml</servlet-class>
</servlet>  
© www.soinside.com 2019 - 2024. All rights reserved.