我在尝试创建与删除的名称相同的servlet时遇到此错误。原来的一个无处可去所以我删除它重新开始,它不在项目树而不是在物理文件夹中,所以我无法理解为什么这不起作用。我确实刷新了项目,并关闭并重新启动了Eclipse。
任何帮助表示赞赏。这是Eclipse的一些怪癖还是我必须要做的事情? 这是我的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>first</display-name>
<welcome-file-list>
<welcome-file>home.html</welcome-file>
<welcome-file>contactus.html</welcome-file>
<welcome-file>adminlog.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>login</servlet-class>
</servlet>
<servlet>
<servlet-name>adlogin</servlet-name>
<servlet-class>adlogin</servlet-class>
</servlet>
</web-app>
答案 0 :(得分:2)
如果在IDE(例如:Eclipse)中使用 new Servlet Class ,IDE将创建一个Servlet
类并对其进行配置(ServletClass
和{{1} } {)自动ServletMapping
。
但是,即使您删除了类,配置仍可能保留在web.xml
中。删除该配置并再次创建servlet。它应该工作!
答案 1 :(得分:1)
删除类时,servlet映射会固执地保留在“web.xml”文件中。 因此,IDE行为不端。要么改变映射,要么将servlet命名为与前一个不同的东西。
答案 2 :(得分:0)
Servlet映射存在于web.xml中。删除它的mapping.if你删除servlet但它在web.xml
中的映射,它将不允许再次创建相同的名称servlet。