servlet在一个项目中,就算在不同包中都不可以同名么?

Eclipse下创建一个web工程
src包下创建了两个包 test1 和test2 在test1中新建一个servlet A.java,我在test2中新建 servlet A.java的时候就提示说A已经存在,难道servlet在同一个项目中就不可以同名么?
而且我在另外一个工程里不同的包下创建的同名的Servlet,而且在web.xml中配置的 servlet-name 和 url-pattern 也都不同,但是tomcat启动时还是会报错:The servlets named [hq.SecondServlet] and [test.SecondServlet] are both mapped to the url-pattern [/SecondServlet] which is not permitted
包结构和web.xml配置如下:

报错如下:
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ServletTest]]
。。。省略一些无用信息
Caused by: java.lang.IllegalArgumentException: The servlets named [hq.SecondServlet] and [test.SecondServlet] are both mapped to the url-pattern [/SecondServlet] which is not permitted
。。。省略一些无用信息请问这是什么原因?

第1个回答  2013-12-31
java是以类为最小单位的,区别类就是看类名,所以同类名是不可以的
第2个回答  2013-12-31
hq.SecondServlet和test.SecondServlet他们同时匹配于/SecondServlet路径,这是不允许的本回答被网友采纳
第3个回答  2014-01-11
嗯,似的,因为名字一样很产生很多麻烦。

servlet在哪个包下
开发JSP需要两个包:javax.servlet和javax.servlet.http;把jsp-api 、servlet-api 放到项目中的 web-inf\/lib目录下即可。javax.servlet.http.HttpServletRequest是javax.servlet.http下的一个类,要像用它,必须要继承javax.servlet和javax.servlet.http两个包,把jsp-api ,servlet-api放到项目中的web-...

servlet常用包有哪些?
javax.servlet包中包含了7个接口,3个类和2个异常类,它们分别是:RequestDispatcher,Servlet,ServletConfig,ServletContext,ServletRequest,ServletResponse和SingleThreadModel 类:GenericServlet,ServletInputStream和ServletOutputStream 异常类:ServletException和UnavailableException ...

servlet是不是一种特殊的javabean?
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 Java Servlet 与 Applet 的比较: 相似之处: * 它们不是独立的应用程序,没有main()方法。 * 它们不是由用户或程序员调用,而是由另外...

访问同一个web站点.如果只有你和我两个人访问.那么这站点的服务器会有...
这样,当两个或多个线程同时访问同一个Servlet时,可能会发生多个线程同时访问同一资源的情况,数据可能会变得不一致。所以在用Servlet构建的Web应用时如果不注意线程安全的问题,会使所写的Servlet程序有难以发现的错误。实例变量不正确的使用是造成Servlet线程不安全的主要原因。下面针对该问题给出了三种解决方案并对方案的...

servlet 在哪个包
它是Java Servlet API的一部分,该API包含在Java EE平台的标准部分中。Servlet的主要职责是接收客户端的请求,并根据这些请求生成响应。它运行在服务器端,为客户端提供动态内容。这种处理方式使得Servlet能够用于构建基于Web的应用程序。由于Servlet能够处理HTTP请求,因此在构建Web应用程序时经常被使用。这些...

java jsp 中包、类、接口等的命名规则?
命名规则:以Servlet英文本词结尾 例如:LoginServlet POJO命名:应用hibernate自动生成的类即可 DAO类命名:应用hibernate自动生成的类即可 Action类命名:命名规则:Action的命名以POJO名称来制定,POJO名称Action 例如:一个的POJO名称为Diary,其对应的action为DiaryAction ActionForm类命名:命名规则:ActionForm...

在IDEA中为什么创建Listener不会自动补全包名?
是不是你项目里有多个包中包含Listener.java,导致idea不知道究竟要导入哪一个包,所以要你手动选择包名。而Filter.java和Servlet.java是不是只有你的sessionlistener这个包里有,其他地方都没有?这样idea就能自动导入了。像是我这个项目里,单是Listener就有这么多:

一个可以发布在TOMCAT上的项目WAR包,如何发布到JBOSS上!
2 并且没有使用EJB,那么都可以部署, JBOSS是app server,除了servlet,还可以部署企业级应用,而tomcat只是servlet容器,不能部署企业级EJB应用。3 可能依赖jar的路径有区别,把你的依赖jar打进war包就可以了(也要注意是否和JBOSS提供的包有冲突)4 建议使用JBOSS的管理界面部署war包 5 https:\/\/docs....

如何解决依赖包servlet-api和容器自带servlet的jar包的冲突
因此放在不同webapp里的class文件,会被classloader加载成不同的实例。在不同的webapp加载相同类名的类互不影响。但是注意,以下包名开头的class例外:javax.org.xml.sax.org.w3c.dom.org.apache.xerces.org.apache.xalan.ps,注意.在各个jar中的\\META-INF\\MAINFEST.MF文件里Class-Path键值对,也会提供...

我在Eclipse中做WEB项目在import javax.servlet.Filter时候说找不到...
weblogic安装了没有,加入这个weblogic.jar。这就可以了。或者安装J2EE。Filter在j2ee的版本定义的啦。

相似回答