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>
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>
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...");
}
}
目录结构 C:\ Apache的Tomcat的8.0.22 \ web应用\ MyApp的\ WEB-INF \类
WEB-INF中的web.xml
在类文件夹中编译java类
wel.html在MyApp文件夹中
当我部署项目时,它正在工作到wel.html.But点击提交按钮后,将显示以下错误页面
HTTP状态404 - / MyApp / Welcome
输入状态报告
message / MyApp / Welcome
说明请求的资源不可用。
Apache Tomcat / 8.0.22
我对导致这个问题的原因感到茫然。请帮助我。 提前谢谢。
答案 0 :(得分:1)
我还复制并粘贴到Netbeans中的新WebApp项目,一切正常。确保你没有拼写错误:
除此之外,您不能始终如一地使用您的导入。当您在开头调用import
时,只需反复使用ServletConfig config
而不是javax.servlet.ServletConfig config
。
答案 1 :(得分:0)
对我来说,Tomcat 8.0.23和Oracle JDK 1.8.0_45似乎很合适,使用帖子中的复制和粘贴代码。猜测你的问题是你的类没有被部署,或者它是默认包以外的地方。尝试将其添加到包中并修改servlet映射以反映限定的类名。