各种WEB服务器自带的默认Servlet名称
Posted 山高我为峰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种WEB服务器自带的默认Servlet名称相关的知识,希望对你有一定的参考价值。
Tomcat, Jetty, JBoss, and GlassFish 自带的默认Servlet的名字 -- "default" Google App Engine 自带的 默认Servlet的名字 -- "_ah_default" Resin 自带的 默认Servlet的名字 -- "resin-file" WebLogic 自带的 默认Servlet的名字 -- "FileServlet" WebSphere 自带的 默认Servlet的名字 -- "SimpleFileServlet"
知道后有何用处?
如果web.xml中配置了某个servlet拦截了所有的请求,那么一些静态资源的访问如jpg,css,js也会被处理。
如果不希望这些请求被你配置的servlet处理那么可以把服务器自带的默认servlet先去拦截掉这些资源,但是要保证默认的servelt写在你配置的servelt前面。
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping>
在tomcat中,什么是DefaultServlet?他的功能是什么
首先所有的请求进入tomcat,都会流经servlet,如果没有匹配到任何应用指定的servlet,那么就会流到默认的servlet
默认的servlet是配置在$catalina/conf/web.xml里面的
应用的一些静态资源就可以交给该servlet去处理,以减轻服务器压力,节省资源!如果你用SpringMVC。就会有感觉,当你配置
org.springframework.web.servlet.DispatcherServlet拦截所有请求时,对静态资源的请求也会被拦截,这时你就可以把静态资源交给DefaultServlet来处理!
以上是关于各种WEB服务器自带的默认Servlet名称的主要内容,如果未能解决你的问题,请参考以下文章