spring3mvc框架开发中resin和tomcat默认servelt配置


解决的问题: 让静态资源不通过DispatcherServlet处理,由容器默认servlet来处理.

 

在spring3mvc框架开发,web.xml如下配置时


    <servlet>
        <servlet-name>task</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>task</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


必须配置默认servlet的映射配置,才能正确处理静态资源文件 如 css,gif,jpg,js等文件


resin 配置;


  <servlet-mapping>
         <servlet-name>resin-file</servlet-name>
         <url-pattern>*.css</url-pattern>
     </servlet-mapping>
 
      <servlet-mapping>
         <servlet-name>resin-file</servlet-name>
         <url-pattern>*.gif</url-pattern>
     </servlet-mapping>
    
    <servlet-mapping>
         <servlet-name>resin-file</servlet-name>
         <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
         <servlet-name>resin-file</servlet-name>
         <url-pattern>*.js</url-pattern>
    </servlet-mapping>


tomcat配置:

   <servlet-mapping>
         <servlet-name>default</servlet-name>
         <url-pattern>*.css</url-pattern>
     </servlet-mapping>
 
      <servlet-mapping>
         <servlet-name>default</servlet-name>
         <url-pattern>*.gif</url-pattern>
     </servlet-mapping>
    
    <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>

 

缺省Serlet:
当Servlet的映射路径仅为一个正斜杠/时,这个Servlet便为一个默认的Servlet.


其他服务器缺省Serlet:


Tomcat, Jetty, JBoss, and GlassFish  默认 Servlet的名字 -- "default"
Google App Engine 默认 Servlet的名字 -- "_ah_default"
Resin 默认 Servlet的名字 -- "resin-file"
WebLogic 默认 Servlet的名字  -- "FileServlet"
WebSphere  默认 Servlet的名字 -- "SimpleFileServlet"

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐