Servlet显示名称已存在

时间:2014-07-24 05:14:57

标签: java eclipse servlets

我在尝试创建与删除的名称相同的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>

3 个答案:

答案 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。