tomcat服务器和HTTP状态404-找不到

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

我刚开始使用javaee,当我运行它时网址:http://localhost:8089/test/toto我只是得到这个错误:HTTP状态404-找不到类型:状态报告讯息:/test/WEB-INF/test.jsp描述:请求的资源不可用。

test.java在我的项目com.sdzee.servlets.java rsc上的测试中

并且我的web.xml位于web-inf文件夹中我的test.jsp位于webContent文件夹中。您能帮我吗?

test.java

  package com.sdzee.servlets;

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 Test extends HttpServlet {
    public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{

        /*response.setContentType("text/html");//pour préciser au client que nous allons lui envoyer une page HTML,
        response.setCharacterEncoding( "UTF-8" );
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta charset=\"utf-8\" />");
        out.println("<title>Test</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>Ceci est une page générée depuis une servlet. helloooooooo</p>");
        out.println("</body>");
        out.println("</html>");*/

        //String paramAuteur = request.getParameter( "auteur" );
        //String message = "Transmission de variables : OK ! " + paramAuteur;
        this.getServletContext().getRequestDispatcher( "/WEB-INF/test.jsp" ).forward( request, response );

    }
}

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>Test</servlet-name>
        <servlet-class>com.sdzee.servlets.Test</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Test</servlet-name>
        <url-pattern>/toto</url-pattern>
    </servlet-mapping>


</web-app>

test.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
    <p> page généré depui jsp</p>
    <p>
            <%  
            String attribut = (String) request.getAttribute("test");
            out.println( attribut );
            %>
        </p>
<body>

</body>
</html>

这是启动tomcat服务器时控制台上显示的内容:

avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Version du serveur:        Apache Tomcat/7.0.100
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Serveur compilé:       Feb 11 2020 08:31:12 UTC
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Version du serveur:      7.0.100.0
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Nom de l'OS:           Windows 10
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Version de l'OS:        10.0
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Architecture:          amd64
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Répertoire de Java:     C:\Program Files\Java\jre1.8.0_231
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Version de la JVM:           1.8.0_231-b11
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Fournisseur de la JVM:            Oracle Corporation
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: CATALINA_BASE:         C:\Users\amani\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: CATALINA_HOME:         C:\apache-tomcat-7.0.100
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Argument de la ligne de commande: -Dcatalina.base=C:\Users\amani\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Argument de la ligne de commande: -Dcatalina.home=C:\apache-tomcat-7.0.100
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Argument de la ligne de commande: -Dwtp.deploy=C:\Users\amani\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Argument de la ligne de commande: -Djava.endorsed.dirs=C:\apache-tomcat-7.0.100\endorsed
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Argument de la ligne de commande: -Dfile.encoding=Cp1252
avr. 18, 2020 5:14:08 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFOS: La librairie Apache Tomcat Native basée sur APR qui permet des performances optimales dans les environnements de production n'a pas été trouvée sur le java.library.path: [C:\Program Files\Java\jre1.8.0_231\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_231/bin/server;C:/Program Files/Java/jre1.8.0_231/bin;C:/Program Files/Java/jre1.8.0_231/lib/amd64;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;C:\Users\amani\AppData\Roaming\Dashlane\6.1946.0.26096\bin\Firefox_Extension\{442718d9-475e-452a-b3e1-fb1ee16b8e9f}\components;C:\Users\amani\AppData\Roaming\Dashlane\6.1946.0.26096\ucrt;C:\Users\amani\AppData\Roaming\Dashlane\6.1946.0.26096\bin\Qt;C:\Users\amani\AppData\Roaming\Dashlane\6.1946.0.26096\bin\Ssl;C:\Users\amani\Downloads\Compressed\eclipse-jee-2019-12-R-win32-x86_64\eclipse;;.]
avr. 18, 2020 5:14:08 AM org.apache.coyote.AbstractProtocol init
INFOS: Initialisation du gestionnaire de protocole ["http-bio-8089"]
avr. 18, 2020 5:14:08 AM org.apache.catalina.startup.Catalina load
INFOS: Initialization processed in 1717 ms
avr. 18, 2020 5:14:08 AM org.apache.catalina.core.StandardService startInternal
INFOS: Démarrage du service [Catalina]
avr. 18, 2020 5:14:08 AM org.apache.catalina.core.StandardEngine startInternal
INFOS: Starting Servlet Engine: Apache Tomcat/7.0.100
avr. 18, 2020 5:14:10 AM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
AVERTISSEMENT: La création de l'instance de SecureRandom pour le générateur d'id de session en utilisant [SHA1PRNG] a pris [268] millisecondes
avr. 18, 2020 5:14:10 AM org.apache.coyote.AbstractProtocol start
INFOS: Démarrage du gestionnaire de protocole ["http-bio-8089"]
avr. 18, 2020 5:14:10 AM org.apache.catalina.startup.Catalina start
INFOS: Server startup in 1888 ms
java eclipse jsp tomcat7 servlet-3.0
1个回答
0
投票

您的代码工作正常。我已经测试过。

我创建了相同的代码。

我创建的项目结构的屏幕快照。

enter image description here

注意:这是一个动态的Web项目。我在系统上使用过tomcat 8.5.5

以下相同代码。

Test.java

package com.sdzee.servlets;

import java.io.IOException;

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

public class Test extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.getServletContext().getRequestDispatcher("/WEB-INF/test.jsp").forward(request, response);

    }
}

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>Test</servlet-name>
        <servlet-class>com.sdzee.servlets.Test</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Test</servlet-name>
        <url-pattern>/toto</url-pattern>
    </servlet-mapping>


</web-app>

test.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
    <p> page généré depui jsp</p>
    <p>
            <%  
            String attribut = (String) request.getAttribute("test");
            out.println( attribut );
            %>
        </p>
<body>

</body>
</html>

浏览器上的输出屏幕截图:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.