Jam*_*mes 1 tomcat servlets weblogic web-applications webcontext
我们希望在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>
Run Code Online (Sandbox Code Playgroud)
但在其他平台上它会发生变化(即WebLogic是"FileServlet").
有没有办法定义一个条件映射,它将根据可用的内容而改变?如果不是,我们应该如何处理这个问题?
谢谢!
没有办法.
您最好不要以任何方式显式映射到容器的默认servlet.您不仅要将webapp紧密耦合到特定容器,而且直到大约一年前,在Tomcat和克隆(JBoss,WebSphere等)中执行此操作时还存在巨大的安全漏洞.它允许攻击者在默认servlet映射到不同的URL模式时/WEB-INF以及/META-INF何时请求文件(包含可能的敏感信息)/.另见问题50026,由您真实报道.
而是将前端控制器servlet映射到更具体的URL模式而不是/*创建和映射全局过滤器,在/*该过滤器上转发到前端控制器或继续到默认servlet,具体取决于当前请求URI.有关具体示例,请参见如何在/*上映射全局前端控制器servlet时访问静态资源.
| 归档时间: |
|
| 查看次数: |
2518 次 |
| 最近记录: |