Servlets JavaServlet404错误
我的系统有TomcatSeven,所有文件都在webapps下。文件结构是 webapps/WelcomeForm/web/WelcomeForm.html WEB-INF/WEB.xml lib/classes/hello/HelloWorldServlet.java HelloWorldServlet.class 该web文件夹包含WelcomeForm.html WEB-INF保存WEB.xml文件 lib保存servlet-api.jar和 类包含HelloWorldServlet.java html文件运行正常,但我无法运行Java文件,因为它返回以下消息:Servlets JavaServlet404错误,servlets,http-status-code-404,Servlets,Http Status Code 404,我的系统有TomcatSeven,所有文件都在webapps下。文件结构是 webapps/WelcomeForm/web/WelcomeForm.html WEB-INF/WEB.xml lib/classes/hello/HelloWorldServlet.java HelloWorldServlet.class 该web文件夹包含WelcomeForm.html WEB-INF保存WEB.xml文件 lib保存servlet-api.jar和 类包含HelloWorldServlet.ja
HTTP Status 404 - /hello
type Status report
message /hello
description The requested resource (/hello) is not available.
文件的代码如下所示:
WelcomeForm.html
欢迎表格
你好,世界
键入您的名字,然后单击提交按钮
web.xml
你好世界
hello.HelloWorldServlet
你好世界
/你好
30
HelloWorldServlet.java
包你好;
导入java.io.IOException;
导入javax.servlet.ServletException;
导入java.io.*;
导入javax.servlet.*;
导入javax.servlet.annotation.*;
导入javax.servlet.http.*;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入java.io.PrintWriter;
公共类HelloWorldServlet扩展了HttpServlet{
public void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
response.setContentType(“text/html”);
doPost(请求、响应);
}
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
字符串名称=request.getParameter(“用户名”);
PrintWriter out=response.getWriter();
写出(“你的名字是:”);
打印(姓名);
}
}
我做错了什么?检查浏览器URL。您缺少上下文 比方说,您运行的测试是您的上下文路径 所以,调用Servlet时应该是这样的 对你来说,不是这样的 因此,添加cotextpath将解决您的问题 e、 g.
action=“/hello”
或者你可以使用
e、 g.action=“hello”
因此,当您将“/”添加到
action
时,请始终添加上下文路径。您是否可以尝试从lib
目录中删除servlet api.jar
,并将action=“/hello”
更改为action=“hello”
?根据Tomasz的说明,必须删除api jar,如果您不是通过JSTL生成URL,则必须确保它与web应用程序相关。servlet文件是在/WEB-INF/classes还是在/WEB-INF/lib/classes中?因为没有真正的格式,所以你的帖子不清楚。它必须在/WEB-INF/classes(在包层次结构下)中。显然,您在部署时出错了。检查Tomcat服务器日志文件。它指示何时开始部署您的web应用以及失败的原因。