当前位置: 首页 > 知识库问答 >
问题:

404 未找到:访问部署在 Tomcat 上的 servlet 时出现问题

周育
2023-03-14

我遵循了Head First Servlets中一个非常简单的例子。

HTTP Status 404 - /ch1/Serv1

我在浏览器地址栏输入localhost:8080,显示的是Tomcat的主页,服务器好像没问题。然后我创建了一个名为< code>Ch1Servlet的servlet。它看起来是这样的:

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

public class Ch1Servlet 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>Today</h1>"+today+"</body></html>");
    }
}

接下来,需要一个web.xml的配置文件。所以是这样的:

<?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">
    <Servlet>
        <Servlet-name>Ch1Servlet</Servlet-name>
        <Servlet-class>Ch1Servlet</Servlet-class>
    </Servlet>

    <Servlet-mapping>
        <Servlet-name>Ch1Servlet</Servlet-name>
        <url-pattern>/Serv1</url-pattern>
    </Servlet-mapping>
</web-app>

在编译了Ch1Servlet.java之后,我得到了一个类文件,它被放在WEB-INF/classes中,并将web.xml放在WEB-INF中。所以层次结构是这样的:webapps/ch1/WEB-INF。

它建议我们可以访问servlet,并通过使用url在屏幕上显示一个HTML页面:http://localhost:8080/ch1/Serv1.但不幸的是,在那里发现了错误404。

共有2个答案

农诚
2023-03-14

web.xml您没有定义类的完整路径:

<Servlet>
    <Servlet-name>Ch1Servlet</Servlet-name>
    <Servlet-class>com.test.Ch1Servlet</Servlet-class>
</Servlet> 

com.test.Ch1Servlet类的包名。请使用类的完整路径。

顾超
2023-03-14

web中的所有xml元素。xml应该以小写字母开头。

 类似资料:
  • 主要内容:部署,访问Servlet 没有 main() 方法,不能独立运行,但它可以作为 JavaWeb 应用的一个组件被部署到 Servlet 容器中,由容器来实例化和调用 Servlet 的方法,例如:doGet() 、doPost() 等。 那么,JavaWeb 应用是什么呢?Servlet 是如何部署和访问的呢?本节我们将针对这些问题进行讲解。 JavaWeb 应用 JavaWeb 应用由一组 Servlet

  • 本文向大家介绍解决在启动eclipse的tomcat进行访问时出现404问题的方法,包括了解决在启动eclipse的tomcat进行访问时出现404问题的方法的使用技巧和注意事项,需要的朋友参考一下 有段时间没部署项目到tomcat,今天部署出现了404问题。 一、环境 tomcat7   jdk1.7    eclipse-jee-luna-R-win32 二、问题描述 1、创建完web项目时,

  • 我编写了一个maven web服务,它引用了另一个项目。web服务本身仅包含2个pom条目: jersey容器servlet:2.13 web服务POM: 项目1也是一个maven项目,只有一个pom条目,另一个本地项目(我们称之为项目2)。 项目2又是一个maven项目,其pom文件包含5个条目: lang-猜测: 0.0.7 Stanford-corenlp: 3.5.2 斯坦福-科伦坡: 3

  • 我试图使用Eclipse IDE在Apache Tomcat上执行一个简单的servlet。servlet本身正在执行,但当我试图调用html表单时,我将通过该表单向servlet传递用户数据,我得到错误404。我的做法是不正确的吗? 更新1:文件web.xml

  • 我有一个Spring启动Rest服务项目,它在我的本地机器上工作。当我运行应用程序为"Spring Boot App" 我可以通过转到访问rest服务 http://127.0.0.1:8080/persons/all 它返回JSON,因为它应该。 我换了pom。xml打包到war,然后我创建了一个war,作为- war文件名为“myapp-0.0.1-SNAPSHOT.war”,上传后,我试图通

  • 当我使用eclipse启动Tomcat9,然后导航到http://localhost:8080时,它会给出404页的not found并抛出错误:“origin server dot find a current representation for the target resource or is not welligen to display that ixist”。但是,当我转到tomca