使用未定义的servlet进行映射的默认servlet是什么

时间:2013-09-16 11:03:28

标签: java java-ee servlets

我的应用程序中有一个Servlet映射,没有为它定义的servlet。

Eclipse会在其上生成警告:

The servlet mapping "/docs/*" refers to a servlet that is not defined
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/docs/*</url-pattern>
</servlet-mapping>    

没有定义的servlet默认值。但它只是一个警告,应用程序本身工作正常,并提供来自该网址模式的内容。

是否存在处理这些servlet映射的“默认”servlet?如果不?这怎么可以工作?

其他信息

我有另一个这样的映射,它有一个servlet:

com.sun.jersey.spi.spring.container.servlet.SpringServlet
<servlet-mapping>
    <servlet-name>springDispatcher</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

所以对Kayaman来说。如果我删除“冗余”映射。 / docs功能停止工作。

我真正想要的是知道什么是servlet是默认的,所以我可以为我的映射创建一个servlet并避免警告。

感谢。

2 个答案:

答案 0 :(得分:5)

Oracle docs:

  

每个Web应用程序都有一个默认的servlet。此缺省servlet可以是您指定的servlet,或者,如果未指定缺省servlet,WebLogic Server将使用名为FileServlet的内部servlet作为缺省servlet。

     

您可以将任何servlet注册为默认servlet。编写自己的默认servlet允许您使用自己的逻辑来决定如何处理回退到默认servlet的请求。

Setting Up a Default Servlet

Tomcat Specific

答案 1 :(得分:0)

是的,正在使用处理静态数据的默认servlet。您已经进行了servlet映射,但实际上您只是使用servlet容器的默认HTTP服务器行为。

没必要。