Tomcat 不同部署环境的默认servlet映射

Tomcat 不同部署环境的默认servlet映射,tomcat,web-applications,servlets,weblogic,webcontext,Tomcat,Web Applications,Servlets,Weblogic,Webcontext,我们希望在Tomcat、WebLogic、WebSphere和JBoss上部署我们的应用程序。我们的应用程序的web.xml需要包含到默认servlet的映射 对于Tomcat,此servlet名为default,因此我们的映射将显示为: <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/js/calendar/flexcal.html</

我们希望在Tomcat、WebLogic、WebSphere和JBoss上部署我们的应用程序。我们的应用程序的web.xml需要包含到默认servlet的映射

对于Tomcat,此servlet名为default,因此我们的映射将显示为:

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/js/calendar/flexcal.html</url-pattern>
</servlet-mapping>
但在其他平台上,它发生了变化,即WebLogic是FileServlet

有没有一种方法可以定义根据可用内容而变化的条件映射?如果不是,我们应该如何处理这个问题

谢谢

没有办法

最好不要以任何方式显式映射到容器的默认servlet。您不仅将您的webapp与特定容器紧密耦合,而且直到大约一年前,在Tomcat和克隆JBoss、WebSphere、,它使攻击者能够在默认servlet映射到与/不同的URL模式时请求包含/WEB-INF和/META-INF中可能敏感信息的文件。另见你的真实报道

而是将前端控制器servlet映射到更具体的URL模式而不是/*上,并在/*上创建和映射一个全局过滤器,该过滤器根据当前请求URI转发到前端控制器或继续到默认servlet。另请参见具体示例。

没有办法

最好不要以任何方式显式映射到容器的默认servlet。您不仅将您的webapp与特定容器紧密耦合,而且直到大约一年前,在Tomcat和克隆JBoss、WebSphere、,它使攻击者能够在默认servlet映射到与/不同的URL模式时请求包含/WEB-INF和/META-INF中可能敏感信息的文件。另见你的真实报道

而是将前端控制器servlet映射到更具体的URL模式而不是/*上,并在/*上创建和映射一个全局过滤器,该过滤器根据当前请求URI转发到前端控制器或继续到默认servlet。另请参见以获取具体示例