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



我的应用程序中有一个 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 缺省值。但这只是一个警告,应用程序本身工作正常,并提供来自该 url 模式的内容。

是否有一个"默认"servlet来处理这些servlet映射?如果没有?这甚至是如何工作的?

附加信息

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

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

所以卡亚曼的回答。 如果我删除"冗余"映射。/docs 功能停止工作。

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

谢谢。

Oracle docs:

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

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

设置缺省 Servlet

雄猫专用

是的,正在使用处理静态数据的缺省 servlet。您已经创建了一个 servlet 映射,但您实际上只是使用了 servlet 容器的默认类似 HTTP 服务器的行为。

这是不必要的。

最新更新