各种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名称的主要内容,如果未能解决你的问题,请参考以下文章

Java Web应用

java Web

理解Servlet和Servlet容器Web服务器等概念

面试题: 各种 !=!=未看

Servlet Java Web开发上传下载和邮件

servlet 是jdk带的吗,还是服务器带的