Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java tomcat-未找到请求的资源错误_Java_Eclipse_Tomcat_Servlets_Tomcat8 - Fatal编程技术网

Java tomcat-未找到请求的资源错误

Java tomcat-未找到请求的资源错误,java,eclipse,tomcat,servlets,tomcat8,Java,Eclipse,Tomcat,Servlets,Tomcat8,我对Java servlet之类的东西还不熟悉。我运行EclipseLunaSR2(用于JavaEE)并将我的项目配置为使用Tomcat8作为服务器(在LinuxMint17.1上,如果有帮助的话) 我从文件->新建->动态Web项目创建了一个新项目 在添加tomcat 8服务器时,除了指定tomcat根目录外,我没有更改任何默认参数 然后我导入了servlet-api.jar文件(来自tomcat/lib目录) 我的项目中有一个类文件没有任何错误。因此,当我在Eclipse中运行tomcat时

我对Java servlet之类的东西还不熟悉。我运行EclipseLunaSR2(用于JavaEE)并将我的项目配置为使用Tomcat8作为服务器(在LinuxMint17.1上,如果有帮助的话)

我从文件->新建->动态Web项目创建了一个新项目

在添加tomcat 8服务器时,除了指定tomcat根目录外,我没有更改任何默认参数

然后我导入了servlet-api.jar文件(来自tomcat/lib目录)

我的项目中有一个类文件没有任何错误。因此,当我在Eclipse中运行tomcat时,我得到了请求的资源不可用。。我知道这是非常常见的错误,我很乐意提供所需的信息

这是类文件-

package ch1;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class serv1 {

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>HF\'s Chapter1 Servlet</h1>" +
            "<br>" + today + "</body>" + "</html>");
}
}
编辑:这是一个截图-


谁能告诉我哪里弄错了吗?

您需要将web.xml文件放在web-INF目录中。如果不从web.xml文件映射,Tomcat对servlet一无所知

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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" version="2.4"> 

        <!-- Name the application --> 
        <display-name>ch1</display-name> 
        <description>An example application which is used to play with some of the features of Tomcat</description> 

        <!-- ========================================================== --> 
        <!-- Servlets --> 
        <!-- ========================================================== --> 

        <!-- Simple Servlet, provide a name, class, description and map to URL /servlet/SimpleServlet --> 
        <servlet> 
                <servlet-name>Simple</servlet-name> 
                <servlet-class>ch1.serv1</servlet-class> 
                <description>This is a simple Hello World servlet</description> 
        </servlet> 
        <servlet-mapping> 
                <servlet-name>Simple</servlet-name> 
                <url-pattern>/*</url-pattern> 
        </servlet-mapping> 

        <welcome-file-list> 
                <welcome-file>index.html</welcome-file> 
        </welcome-file-list> 

</web-app>

         
ch1
一个示例应用程序,用于使用Tomcat的一些功能
         
         
         
         
         
简单的
ch1.serv1
这是一个简单的Hello World servlet
         
         
简单的
                /* 
         
         
index.html
         
投入

<servlet-class>ch1.serv1</servlet-class>   
ch1.serv1
带包名的完整类名

还需要从HttpServlet扩展类,然后重写#doGet()方法


然后尝试通过url获取页面,您需要将web.xml文件放入web-INF目录。如果不从web.xml文件映射,Tomcat对servlet一无所知

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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" version="2.4"> 

        <!-- Name the application --> 
        <display-name>ch1</display-name> 
        <description>An example application which is used to play with some of the features of Tomcat</description> 

        <!-- ========================================================== --> 
        <!-- Servlets --> 
        <!-- ========================================================== --> 

        <!-- Simple Servlet, provide a name, class, description and map to URL /servlet/SimpleServlet --> 
        <servlet> 
                <servlet-name>Simple</servlet-name> 
                <servlet-class>ch1.serv1</servlet-class> 
                <description>This is a simple Hello World servlet</description> 
        </servlet> 
        <servlet-mapping> 
                <servlet-name>Simple</servlet-name> 
                <url-pattern>/*</url-pattern> 
        </servlet-mapping> 

        <welcome-file-list> 
                <welcome-file>index.html</welcome-file> 
        </welcome-file-list> 

</web-app>

         
ch1
一个示例应用程序,用于使用Tomcat的一些功能
         
         
         
         
         
简单的
ch1.serv1
这是一个简单的Hello World servlet
         
         
简单的
                /* 
         
         
index.html
         
投入

<servlet-class>ch1.serv1</servlet-class>   
ch1.serv1
带包名的完整类名

还需要从HttpServlet扩展类,然后重写#doGet()方法


然后尝试通过url获取页面,您需要将web.xml文件放入web-INF目录。如果不从web.xml文件映射,Tomcat对servlet一无所知

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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" version="2.4"> 

        <!-- Name the application --> 
        <display-name>ch1</display-name> 
        <description>An example application which is used to play with some of the features of Tomcat</description> 

        <!-- ========================================================== --> 
        <!-- Servlets --> 
        <!-- ========================================================== --> 

        <!-- Simple Servlet, provide a name, class, description and map to URL /servlet/SimpleServlet --> 
        <servlet> 
                <servlet-name>Simple</servlet-name> 
                <servlet-class>ch1.serv1</servlet-class> 
                <description>This is a simple Hello World servlet</description> 
        </servlet> 
        <servlet-mapping> 
                <servlet-name>Simple</servlet-name> 
                <url-pattern>/*</url-pattern> 
        </servlet-mapping> 

        <welcome-file-list> 
                <welcome-file>index.html</welcome-file> 
        </welcome-file-list> 

</web-app>

         
ch1
一个示例应用程序,用于使用Tomcat的一些功能
         
         
         
         
         
简单的
ch1.serv1
这是一个简单的Hello World servlet
         
         
简单的
                /* 
         
         
index.html
         
投入

<servlet-class>ch1.serv1</servlet-class>   
ch1.serv1
带包名的完整类名

还需要从HttpServlet扩展类,然后重写#doGet()方法


然后尝试通过url获取页面,您需要将web.xml文件放入web-INF目录。如果不从web.xml文件映射,Tomcat对servlet一无所知

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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" version="2.4"> 

        <!-- Name the application --> 
        <display-name>ch1</display-name> 
        <description>An example application which is used to play with some of the features of Tomcat</description> 

        <!-- ========================================================== --> 
        <!-- Servlets --> 
        <!-- ========================================================== --> 

        <!-- Simple Servlet, provide a name, class, description and map to URL /servlet/SimpleServlet --> 
        <servlet> 
                <servlet-name>Simple</servlet-name> 
                <servlet-class>ch1.serv1</servlet-class> 
                <description>This is a simple Hello World servlet</description> 
        </servlet> 
        <servlet-mapping> 
                <servlet-name>Simple</servlet-name> 
                <url-pattern>/*</url-pattern> 
        </servlet-mapping> 

        <welcome-file-list> 
                <welcome-file>index.html</welcome-file> 
        </welcome-file-list> 

</web-app>

         
ch1
一个示例应用程序,用于使用Tomcat的一些功能
         
         
         
         
         
简单的
ch1.serv1
这是一个简单的Hello World servlet
         
         
简单的
                /* 
         
         
index.html
         
投入

<servlet-class>ch1.serv1</servlet-class>   
ch1.serv1
带包名的完整类名

还需要从HttpServlet扩展类,然后重写#doGet()方法


然后尝试通过url获取您的页面

问题是,我的项目目录中没有web.xml文件。我假设Eclipse会自动创建它,或者我不需要它。我应该添加一个web.xml文件吗?是的,您需要一个web.xml文件问题是,我的项目目录中没有web.xml文件。我假设Eclipse会自动创建它,或者我不需要它。我应该添加一个web.xml文件吗?是的,您需要一个web.xml文件问题是,我的项目目录中没有web.xml文件。我假设Eclipse会自动创建它,或者我不需要它。我应该添加一个web.xml文件吗?是的,您需要一个web.xml文件问题是,我的项目目录中没有web.xml文件。我假设Eclipse会自动创建它,或者我不需要它。我应该添加web.xml文件吗?是的,您需要一个web.xml文件。感谢您描述文件的格式。感谢您描述文件的格式。感谢您描述文件的格式。感谢您描述文件的格式。