解决servlet404报错


大家好,我是EverdayForCode。你,今天学习了吗!

写在前面:tomcat从7.0版本开始就支持Servlet3.0,在Eclipse中不再需要web.xml配置servlet,而通过注解的方式找寻servlet。本环境安装tomcat v8.5
采用注解方式配置servlet。

第一种:servlet 编译生成class位置不对

解决方案

项目上右键–>Build path --> Configure Build Path–>Source 目录必须是"项目名/WebContent/WEB-INF/classes
在这里插入图片描述假如没有classes,先在WebContent/WEB-INF目录下建立classes文件再更改
在这里插入图片描述还有,最重要一点的就是必须要确保菜单栏Project选项卡里buid automatically被选中,否则不会自动生成class文件
在这里插入图片描述

第二种调用servlet的URl配置错误

当jsp页面不在webcontent根目录下面,而是在webcontent其他目录下面时
例如:
在这里插入图片描述
在这里插入图片描述如果在jsp中调用servlet的url直接写为
在这里插入图片描述则会出现404错误
在这里插入图片描述

解决方案

url 变为 “${pageContext.request.contextPath}/url-pattern”

action="${pageContext.request.contextPath}/uploadimg"

在这里插入图片描述当这里404报错就解决了

如何新建servlet自动配置xml可参考:
解决在Eclipse新建web项目没有自动生成web.xml和在新建servlet的时候自动生成web.xml配置


${pageContext.request.contextPath}是什么

${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%>
也就是取出部署的应用程序名或者是当前的项目名称。

WebServlet参数

属性名类型作用
nameString指定Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
valueString[]该属性等价于 urlPatterns 属性。两个属性不能同时使用。
urlPatternsString[]指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。
loadOnStartupint指定 Servlet 的加载顺序,等价于 <load-on-startup>标签。
initParamsWebInitParam[]指定一组 Servlet 初始化参数,等价于标签。
asyncSupportedboolean声明 Servlet 是否支持异步操作模式,等价于<async-supported> 标签。
descriptionString该 Servlet 的描述信息,等价于 <description>标签。
displayNameString该 Servlet 的显示名,通常配合工具使用,等价于 <display-name>标签。

WebServlet参数参考:
Servlet中@WebServlet属性详解


  • 15
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 当在IDEA上运行servlet时,如果出现404错误,可能是以下原因: 1. 没有正确配置servlet的URL映射。在web.xml文件中,需要配置servlet的URL映射,确保请求能够正确地被路由到servlet。 2. 没有正确配置servlet的路径。在IDEA中,需要确保servlet的路径与web.xml文件中配置的路径一致。 3. 没有正确配置servlet容器。在IDEA中,需要选择正确的servlet容器,并确保容器已经正确地配置和启动。 4. 没有正确配置项目的上下文路径。在IDEA中,需要确保项目的上下文路径与servlet的URL映射一致。 如果以上步骤都已经检查过了,还是出现404错误,可能需要进一步检查代码和日志,以确定问题的具体原因。 ### 回答2: 在进行IDEA上运行servlet程序时,出现404错误是比较常见的问题。这个错误的主要原因是服务器无法找到您请求的页面,或者是URL链接出现了错误。下面本文提供一些常见的解决方案。 首先,检查您的servlet程序是否存在错误。可以在IDEA的控制台窗口查看servlet程序的输出结果,以便确定是否有任何异常或错误信息。如果有错误或异常,您需要修改代码并重新运行程序。 其次,请确保Tomcat服务器已正确地安装在本地计算机上,并已在IDEA中正确地配置。在IDEA中可以通过File -> Settings -> Application Server -> Tomcat来进行配置。确认配置后,确保Tomcat服务器已启动,并且部署到了正确的目录下,以确保IDEA能够访问您的servlet程序。 同时,还需要检查URL链接是否正确。确保您在浏览器中输入的URL链接正确无误,包括大小写和拼写。如果仍然出现404错误,请检查您的servlet程序是否在正确的上下文路径下,可以通过Web.xml文件来进行检查。 最后,如果您的IDEA版本较旧,可以尝试使用更高版本的IDEA进行开发和运行servlet程序。因为一些较老的版本可能会导致一些问题和错误。 总而言之,要解决IDEA上运行servlet程序报404错误,需要检查代码是否存在错误,确保Tomcat服务器的正确安装和配置,检查URL链接是否正确,以及使用最新的IDEA版本。通过以上措施,通常可以有效解决404错误问题。 ### 回答3: 在尝试在Idea上运行Servlet时,遇到404错误通常是因为Servlet的映射路径不正确或Servlet未正确部署到服务器上。 首先,确保在web.xml文件中正确地配置了Servlet的映射路径,即<servlet-mapping>元素的<servlet-name>和<url-pattern>元素必须正确匹配。例如,如果Servlet的名称为MyServlet,那么<url-pattern>元素应该是/MyServlet或/MyServlet/*。 其次,确保您已正确地部署了Servlet。您可以检查Servlet的文件夹是否存在于服务器的webapps目录中,并且Servlet的类文件是否位于WEB-INF/classes或WEB-INF/lib目录中。您可以尝试重新部署Servlet,或者检查服务器日志以获取更多信息。 另外,您需要确保Servlet容器在您的Idea项目中正确地配置。例如,如果您使用Tomcat,则需要在Idea中配置Tomcat中的部署路径和端口号。您还可以尝试重新启动服务器或清除浏览器缓存。 最后,请检查您的Servlet代码是否正确。您可以尝试在代码中添加日志或调试语句,以了解Servlet在何处出现问题并进行修复。如果有必要,您还可以尝试通过创建简单的“Hello World” Servlet来测试您的Servlet容器是否正确配置,以便更好地排除问题。 总之,404错误通常是由Servlet映射路径、部署、Servlet容器配置或Servlet代码错误等原因造成的。通过检查并修复这些问题,您应该能够成功在Idea中运行Servlet

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值