Eclipse中Apache Tomcat 9启动失败求助:Servlet URL映射冲突
解决Tomcat重启后Servlet映射冲突问题
问题核心是两个Servlet类com.giftcard.BlockAttributes和com.giftcard.TransactionHistoryAttribute被重复映射到了同一个URL模式/blockAttribute,这违反了Servlet规范,因此Tomcat启动时报错。
按照以下步骤修复:
- 定位项目的Servlet映射配置:
- 若使用传统
web.xml配置,打开文件查找所有<servlet-mapping>标签,找到url-pattern为/blockAttribute的条目,确认对应的<servlet-name>关联的Servlet类 - 若使用注解驱动,分别检查
com.giftcard.BlockAttributes和com.giftcard.TransactionHistoryAttribute类上的@WebServlet注解,看是否都指定了value = "/blockAttribute"
- 若使用传统
- 修改其中一个Servlet的URL映射路径,比如将
TransactionHistoryAttribute的映射改为/transactionHistoryAttribute,确保两个Servlet的url-pattern唯一 - 清理Tomcat的旧部署文件:删除
Tomcat安装目录/webapps/你的项目名称下的文件,以及Tomcat安装目录/work/Catalina/localhost/你的项目名称目录 - 重新将项目部署到Tomcat,重启服务器即可恢复正常
内容的提问来源于stack exchange,提问作者Chad_Manoj
相关产品推荐
相关产品推荐

