`
xiejin2008
  • 浏览: 125441 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring4 DispatcherServlet拦截所有请求-特殊处理静态文件

    博客分类:
  • J2EE
阅读更多

当前使用:Spring4 

 

首先使用spring mvc需要配置其使用的servlet.在web.xml中:

    <servlet>  

        <servlet-name>springMVC</servlet-name>  

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  

        <load-on-startup>1</load-on-startup>  

        </servlet>  

      

        <servlet-mapping>  

            <servlet-name>springMVC</servlet-name>  

            <url-pattern>/</url-pattern>  

        </servlet-mapping>  

 

这里给 servlet-name定义的名称是springMVC,这样的话会在web-inf下spring会自动扫描一个XML文件名叫springMVC-servlet.xml文件,这里都是spring自动扫描的,如果你没有提供,将会报一个文件查找不到的异常。看了下org.springframework.web.servlet.DispatcherServlet加载这个文件的过程,貌似这个文件存放的地址也是可以进行设置的,具体怎么搞我还没有研究。

 

由于spring mvc拦截了所有请求,所以当你设置

引用

<servlet-mapping>

<servlet-name>springMVC</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

 

的时候会影响到静态资源文件的获取,这样就需要有这个标签来帮你分类完成获取静态资源的责任。

 

springMVC-servlet.xml文件

 

    <?xml version="1.0" encoding="UTF-8"?>  

    <beans xmlns="http://www.springframework.org/schema/beans"    

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    

        xmlns:mvc="http://www.springframework.org/schema/mvc"  

        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     

        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">     

      

        <mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/>  

        <mvc:resources mapping="/styles/**" location="/static_resources/css/"/>  

        <mvc:resources mapping="/images/**" location="/static_resources/images/"/>  

        <mvc:default-servlet-handler />  

          

 

        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  

            <property name="prefix" value="/WEB-INF/views/"/>  

            <property name="suffix" value=".jsp"/>  

        </bean>  

      

    </beans>  

 

这里可以看到我所有的页面引用到/styles/**的资源都从/static_resources/css里面进行查找。

 

分享到:
评论

相关推荐

    防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    通过在web.xml文件中对默认Servlet进行映射(通常是url-pattern为/*),可以让默认Servlet先于SpringMVC的DispatcherServlet处理静态资源的请求。这种方法的优点是不需要在SpringMVC的拦截器中进行繁琐的配置,而且...

    spring-3.0-应用springmvc-构造RESTful-URL-详细讲解

    为了防止Spring MVC拦截原本应由容器处理的静态资源(如CSS、JavaScript文件),我们需要在`web.xml`中配置Servlet映射。将静态资源的URL模式从`/*`改为`/static/*`,并将Spring MVC的DispatcherServlet配置为处理...

    spring-mvc-documentation-linesh-translation

    - **资源服务**: 可以配置 Spring MVC 来处理静态资源请求。 ### 总结 Spring Web MVC 提供了一个强大而灵活的框架来构建 Web 应用程序,它包含了各种功能和机制,使得开发者能够高效地开发出高性能、高可用性的 ...

    Spring-MVC-DispatcherServlet-Example:Maven项目

    当Web服务器接收到请求时,DispatcherServlet会拦截请求,然后根据请求映射信息找到对应的处理器(Controller)。 2. **Controller** - 控制器处理用户请求,通常由`@Controller`注解的类实现。它们将业务逻辑与...

    spring-web-5.2.4_spring-web_SSM框架_

    4. **Filter和Interceptor**:Spring Web支持自定义过滤器(Filter)和拦截器(Interceptor),可以实现全局的功能,如登录验证、日志记录、性能监控等。 5. **RESTful支持**:Spring Web提供对RESTful服务的良好...

    Spring3.X @MVC - (一)重要的配置文件

    11. **源码分析**:博主可能还会涉及到Spring MVC的源码分析,以帮助读者深入理解其内部工作机制,如DispatcherServlet的请求处理流程。 由于没有具体的博客内容,以上都是基于一般Spring MVC应用配置的常见实践。...

    spring mvc4 详细教程 PDF

    4. 创建请求处理器类,使用@Controller注解标识该类是一个控制器,使用@RequestMapping注解映射请求地址,处理请求的方法返回视图名称,Spring MVC会根据配置的视图解析器找到对应的JSP页面。 5. 使用@...

    spring MVC快速入门-深入分析.pdf

    - **拦截器**:Spring MVC 支持拦截器机制,可以在请求处理前后执行特定的操作,如权限验证、日志记录等。 - **异常处理**:通过配置 `@ExceptionHandler` 或 `@ControllerAdvice` 注解的方法来处理全局异常。 ####...

    Spring3_MVC_基础实践之路

    为了避免拦截静态资源(如图片、JavaScript、CSS),可以在`web.xml`中配置过滤器或者在Spring MVC配置文件中设置`&lt;mvc:resources&gt;`标签。 ```xml **" location="/resources/"/&gt; ``` 5. **请求映射**: - 使用`@...

    Spring MVC之DispatcherServlet_动力节点Java学院整理

    如果我们将DispatcherServlet的URL模式配置为`/`,那么它将拦截所有的请求,这样就需要更精细的配置来指定请求处理器的映射,如`@RequestMapping`注解。 总的来说,DispatcherServlet是Spring MVC的核心组件,负责...

    SpringMVC 拦截器不拦截静态资源的三种处理方式方法

    本文将详细介绍三种避免SpringMVC拦截器拦截静态资源的方法。 ### 方案一:在拦截器配置中排除静态资源 在`spring-mvc.xml`配置文件中,可以通过`&lt;mvc:exclude-mapping&gt;`标签明确指定不被拦截的路径。例如: ```...

    SpringMVC4教程-超权威--超详细

    - **请求流程**:当用户发送请求时,请求会先到达DispatcherServlet,然后通过HandlerMapping确定处理该请求的控制器,接着调用相应的控制器方法处理请求,最后通过ViewResolver解析视图并返回给客户端。 #### 十六...

    Spring MVC 教程 快速入门 深入分析

    七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常...

    Spring MVC入门教程

    七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常...

    spring-mvc-mybatis

    - **spring-mvc-mybatis-sample-master**:项目根目录,包含所有源代码和配置文件。 - **src/main/java**:Java源代码目录,包括Controller、Service、Mapper等包。 - **src/main/resources**:资源文件目录,如...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...

    Spring mvc 教程

    - **概述**:Spring MVC 支持处理多部分请求,特别是文件上传。 - **使用 MultipartResolver 与 CommonsFileUpload 传输文件**:这些组件帮助处理文件上传请求。 - **Servlet 3.0 下的 MultipartResolver**:对于 ...

    spring-mvc-01.zip

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供...此外,文件中可能还包括错误处理、国际化、静态资源处理等相关配置,这些都是构建实际Web应用时经常遇到的问题。

    基本的spring mvc + spring security实现的登录(无数据库)

    - 通常包含src/main/java目录下的Controller、Service、DAO层以及配置类,src/main/resources下可能有Spring MVC和Spring Security的配置文件,webapp下是静态资源和视图文件。 7. **学习重点**: - 理解Spring ...

    Spring MVC 教程快速入门 深入分析

    七、Spring MVC如何访问到静态的文件:描述了如何配置Spring MVC来处理静态资源,如图片、JavaScript和CSS文件等。 八、Spring MVC请求如何映射到具体的Action中的方法:说明了如何配置映射器(HandlerMapping)将...

Global site tag (gtag.js) - Google Analytics