解决Servlet4.0版本使用注解设置url但无法访问的问题
作者:Rabbit Coding
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启动一下当前服务器 问题完美解决!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。