找不到java servlet 404 [重复]

Posted

技术标签:

【中文标题】找不到java servlet 404 [重复]【英文标题】:java servlet 404 not found [duplicate] 【发布时间】:2018-06-06 16:47:31 【问题描述】:

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>

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

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

【问题讨论】:

您选择将您的 servlet 命名为 And。但随后您使用不同的名称对其进行映射:ServletWriteHtml。另外,不相关,但您的 HTML 无效。 【参考方案1】:

servlet-name 在 servlet 和 servlet-mapping 中应该相同

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

例如:

<servlet>
    <servlet-name>ServletWriteHtml</servlet-name>
    <servlet-class>my.packages.ServletWriteHtml</servlet-class>
</servlet>  

【讨论】:

更改了 web.xml ,将 ServletWriteHtml 放在 java 包中仍然相同的错误 404 页面未找到 AndJavas.ServletWriteHtml /Alfa 如果Javas 是你的包并且JavaWeb 是你的项目现在你的Servlet应该被http://localhost:8080/JavaWeb/And调用 把url改成localhost:8080/JavaWeb/And还是404,还编译了ServletWriteHtml.java,class文件在web-inf文件夹中 我被你的解决方案弄糊涂了,试试localhost:8080/JavaWeb/Alfa admin-pc:8080/JavaWeb/Alfa 还是 404

以上是关于找不到java servlet 404 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

超链接 `<a>` 未调用映射的 Servlet。返回 404:找不到资源 [重复]

javax.servlet.ServletException:HV000030:找不到类型的验证器:java.util.Date [重复]

为啥明明创建了servlet,跳转时却出现404找不到呢

求大佬帮助。springmvc中调用img的问题。 报错404,找不到图片。

在 laravel-8 中找不到 Laravel PHP 错误 404 [重复]

spring MVC找不到JS的问题