Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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 8.0.2中不可用_Java_Apache_Servlets_Tomcat8 - Fatal编程技术网

Java 请求的资源在Tomcat 8.0.2中不可用

Java 请求的资源在Tomcat 8.0.2中不可用,java,apache,servlets,tomcat8,Java,Apache,Servlets,Tomcat8,wel.html文件 <html> <head><title>Welcome Page</title></head> <body> Welcome HTML Page <form action="Welcome" method="post"> <input type="submit" value="submit"/> </form> </body> </html>

wel.html文件

<html>
<head><title>Welcome Page</title></head>
<body>
Welcome HTML Page
<form action="Welcome" method="post">
<input type="submit" value="submit"/>
</form>
</body>
</html>

欢迎页面
欢迎使用HTML页面
web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>S1</servlet-name>
<servlet-class>Welcome</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>S1</servlet-name>
<url-pattern>/Welcome</url-pattern>
</servlet-mapping>
</web-app>

S1
欢迎
S1
/欢迎光临
Welcome.java Servlet文件

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

public class Welcome implements Servlet
{
ServletConfig config;

public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException
{
System.out.println("...init...");
this.config=config;
}

public javax.servlet.ServletConfig getServletConfig() 
{
System.out.println("...getServletConfig...");
return config;
}

public void service(javax.servlet.ServletRequest req,javax.servlet.ServletResponse res) throws javax.servlet.ServletException,java.io.IOException
{
System.out.println("...service...");
res.setContentType("text/html");
PrintWriter out=res.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Welcome</h1>");
out.println("</body>");
out.println("</html>");
}

public java.lang.String getServletInfo()
{

System.out.println("...getServletInfo...");
return "";
}

public void destroy()
{
System.out.println("...destroy...");
}

}
import java.io.*;
导入javax.servlet.*;
公共类欢迎实现Servlet
{
ServletConfig;
public void init(javax.servlet.ServletConfig config)抛出javax.servlet.ServletException
{
System.out.println(“…init…”);
this.config=config;
}
public javax.servlet.ServletConfig getServletConfig()
{
System.out.println(“…getServletConfig…”);
返回配置;
}
公共void服务(javax.servlet.ServletRequest-req,javax.servlet.ServletResponse-res)抛出javax.servlet.ServletException,java.io.IOException
{
System.out.println(“…服务…”);
res.setContentType(“文本/html”);
PrintWriter out=res.getWriter();
out.println(“”);
out.println(“”);
out.println(“欢迎”);
out.println(“”);
out.println(“”);
}
public java.lang.String getServletInfo()
{
System.out.println(“…getServletInfo…”);
返回“”;
}
公共空间销毁()
{
System.out.println(“…销毁…”);
}
}
目录结构 C:\apache-tomcat-8.0.22\webapps\MyApp\WEB-INF\classes

web-INF中的web.xml

类文件夹中编译的java类

MyApp文件夹中的wel.html

当我部署该项目时,它将一直运行到wel.html。但是在单击submit按钮后,将显示以下错误页面

HTTP状态404-/MyApp/Welcome

类型状态报告

message/MyApp/Welcome

说明请求的资源不可用

ApacheTomcat/8.0.22

我不知道是什么导致了这个问题。请帮助我。
提前感谢。

它似乎对我、Tomcat 8.0.23和Oracle JDK 1.8.045都很好,使用了从您的帖子中复制和粘贴的代码。猜测您的问题可能是您的类没有被部署,或者它不是默认包。尝试将其添加到包中,并修改servlet映射以反映限定的类名。

我还复制并粘贴到Netbeans中的新WebApp项目中,一切正常。确保没有输入错误:

  • 您是否有web.xml而没有,例如web.xml.xml文件
  • WEB-INF\classes文件夹中是否有Welcome.class文件

除此之外,您并没有始终如一地使用进口产品。当您在开始调用
import
时,只需反复使用
ServletConfig
而不是
javax.servlet.ServletConfig

我没有将java代码放在任何包中。请详细说明默认包。谢谢您是否使用某个IDE来开发此包?Eclipse还是Netbeans?最好的做法是将类放在包中,这样可以将它们添加到WEB-INF/classes文件夹下的子文件夹中。我将Welcome.class放在WEB-INF/classes文件夹中,并使用了相同的WEB.xml和wel.html,它起了作用,因此有人猜测您的类文件实际上被部署到了其他地方,或者根本不使用。我没有使用任何IDE。我已将Welcome.class放在WEB-INF/classes文件夹中。classes文件夹中没有其他子文件夹。请重试该操作,然后将日志文件发布到C:\apache-tomcat-8.0.22\logs中?可能叫卡塔琳娜,我出去了。听起来您可能缺少依赖项…2015年6月19日23:28:45.901信息[http-apr-3010-exec-98]org.apache.catalina.core.StandardContext.reload重新加载名为[/MyApp]的上下文已开始2015年6月19日23:28:46.253信息[http-apr-3010-exec-98]org.apache.catalina.core.StandardContext.reload重新加载名为[/MyApp]的上下文已完成