java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Servlet4.0版本使用注解设置url但无法访问

解决Servlet4.0版本使用注解设置url但无法访问的问题

作者:Rabbit Coding

在学习servlet过程中,使用web.xml文件配置servlet可以正常访问,但使用WebServlet注解时出现404错误,解决方法是在web.xml文件中将metadata-complete属性改为false,启动标注支持,然而该方法对我无效,最后通过重建项目和手动将新建的项目添加到tomcat服务器解决问题

Servlet4.0版本使用注解设置url但无法访问

在学习servlet的时候遇到一个很烦的问题

使用web.xml文件配置servlet的时候 可以正常访问 但是用WebServlet注解却无法访问 报错404

其他大佬用了有效的方法

1.

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="false"> 
</web-app>

将metadata-complete属性改为false.

Servlet3.0的部署描述文件web.xml的顶层标签有一个metadata-complete属性,该属性为true,则容器在部署时只依赖部署描述文件,忽略所有标注,如果不配置该属性,或者将其设置为false,则表示启动标注支持。

当metadata-complete="false"时,web.xml和注解对于Servlet的影响同时起作用,两种方法定义的url-partten都可以访问到该Servlet,但是当通过web.xml定义的url-partten访问时,注解定义的属性(初始化参数等)将失效。

对我来说无效,问题未解决,等待大佬帮助

手动分割------------------------

试了很多办法百般无奈之下选择重建项目

最终成功使用注解设置url

心累~~~

我又回来了,前面因为问题一致解决不了重建项目最后成功了,在继续往下学的过程中,忽然明白了为什么刚才出错。

刚才我的电脑实际上并没有启动servlet的服务器,因为servlet这个模块是新建的,我的电脑每次都需要手动把项目添加到tomcat服务器里,刚才启动的实际上是之前项目的服务器,

就是这个地方,我重新把刚建的项目添加进来后发现问题解决。

具体操作

Run->Edit Configurations->左侧Tomcat server->deploment选项卡->然后点击右侧的➕->把新建的项目添加进来,然后在左下角右键刚才添加的项目选择Rerun启动一下当前服务器 问题完美解决!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文