Tomcat启动失败提示Servlet部署路径重复
来源:互联网 发布:海洋cms采集资源 编辑:程序博客网 时间:2024/06/04 20:12
Caused by: java.lang.IllegalArgumentException: The servlets named [RevelationServlet] and [cn.lzgd.servlet.RevelationServlet] are both mapped to the url-pattern [/RevelationServlet] which is not permitted。意思应该是这两个Servlet同时部署到这/RevelationServlet这一个路径了。
但是web.xml里面我只部署了这一个啊,没有重复啊。
<servlet> <display-name>RevelationServlet</display-name> <servlet-name>RevelationServlet</servlet-name> <servlet-class>cn.lzgd.servlet.RevelationServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RevelationServlet</servlet-name> <url-pattern>/RevelationServlet</url-pattern> </servlet-mapping>
找其他地方也找不到哪里的问题。试着将web.xml里面对应的这个Servlet的路径删掉,竟然可以启动了!看来就是这个地方的问题。但是也不能不部署啊,找来找去,问题还是没有解决。只要在web.xml里加上对这个Servlet的url-pattern的指向就会出错。
上网查找了半天,大都是说web.xml的部署重复,到哪里复制一份web.xml过来就好了之类,根本无法解决问题。
正在郁闷的时候,无意间发现Servlet的代码里面,在类前面,有这么一句:@WebServlet("/RevelationServlet"),这不就是提示说重复的那个路径么,原来在这里!去查看其它没有问题的Servlet,前面却没有这么一句。基本断定是在这里重复的了,因为在web.xml里面也指向了这个路径。试着删掉这一句,果然tomcat可以启动了。
那么问题来了,既然在Servlet的代码里已经写了这么一句了,是不是在web.xml里面就不用再部署了呢,换句话说这两个地方的作用是等同的呢?于是果断将web.xml里面关于这个Servlet的部署给删掉,依然能运行。
至此,终于真相大白。因为新建Servlet的时候都会自动生成这一句代码:@WebServlet("/RevelationServlet"),已经声明了通过这个路径就可以找到这个Servlet,而如果再去web.xml里面去声明,当然就重复了。其他的Servlet为什么没有出现问题,是因为在其他Servlet在编辑之前我都把这句当做无用的内容给删掉了。看来这自动生成的代码还是要慎重删除。
不得不承认,虽然多年前就开始接触java,但是到今天对java仍然是一知半解,有很多东西不知道是什么意思,只是看别人怎么做,就怎么做。具体是谁教我要在web.xml里面部署Servlet路径的也是忘了,也许以前的Eclipse版本不会自动生成这一句代码,而新版本可以自动生成。学习还是不要只停留在表面,多去探索一下为什么比较好。
- Tomcat启动失败提示Servlet部署路径重复
- Tomcat下部署两个项目启动失败
- 部署项目到Tomcat上后,启动项目时,提示多个不存在的其他项目运行失败
- Servlet/JSP中的路径,Tomcat部署项目时问题
- Servlet/JSP中的路径,Tomcat部署项目时问题
- tomcat启动报加载mvc-dispatcher-servlet.xml失败错误
- jenkins tomcat热部署,任务线程重复启动的解决方法
- idea部署tomcat启动成功后访问提示404
- idea部署tomcat启动成功后访问提示404
- idea部署tomcat启动成功后访问一直提示404
- tomcat部署失败问题
- 修改tomcat部署项目的启动路径Deploy Locationz
- Tomcat部署servlet
- servlet 部署到 tomcat
- tomcat部署路径修改
- tomcat 修改部署路径
- Tomcat 启动失败,求助!!
- tomcat启动失败问题
- Android-Universal-Image-Loader主要功能和图片加载过程
- HashMap和TreeMap的区别和遍历
- java动态代理
- Ubuntu环境下挂载新硬盘
- http://blog.csdn.net/flashflight/article/details/43039281 mybatis3源码讲解
- Tomcat启动失败提示Servlet部署路径重复
- MySQL数据库学习之一
- 最新的移动技术开发五大要点总结
- JButton 式样自定义
- linux(CentOS)安装phpstorm
- pat1085 Perfect Sequence
- ios打包小记
- 数据库重启流程
- Android的三种开发类型