我的应用程序中有一个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并避免警告。
感谢。
答案 0 :(得分:5)
Oracle docs:
每个Web应用程序都有一个默认的servlet。此缺省servlet可以是您指定的servlet,或者,如果未指定缺省servlet,WebLogic Server将使用名为FileServlet的内部servlet作为缺省servlet。
您可以将任何servlet注册为默认servlet。编写自己的默认servlet允许您使用自己的逻辑来决定如何处理回退到默认servlet的请求。
答案 1 :(得分:0)
是的,正在使用处理静态数据的默认servlet。您已经进行了servlet映射,但实际上您只是使用servlet容器的默认HTTP服务器行为。
没必要。