spring-mvc不拦截静态资源的配置

标签: spring
2015-03-27 23:54 11587人阅读 评论(0) 收藏 举报

版权声明:本文为博主原创文章,未经博主允许不得转载。

"mvc:annotation-driven" 的前缀 "mvc"未绑定
办法:这是我在spring-servlet.xml文件里使用<mvc>开头的标签时,忘记引入了命名空间。在xml的beans里面加入如下代码即可
xmlns:mvc="http://www.springframework.org/schema/mvc"  
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd

静态文件访问,主要是让DispatcherServlet不拦截以下静态资源
<mvc:annotation-driven /> 
<mvc:resources location="/image/" mapping="/image/**"/> 
<mvc:resources location="/css/" mapping="/css/**"/> 
<mvc:resources location="/js/" mapping="/js/**"/>

<!-- 启动扫描所有的controller -->  
<context:component-scan base-package="com.peidw.web"/>  
 <mvc:annotation-driven/> 
 
<!-- 对特定路径拦截-->  
<mvc:interceptors>  
        <mvc:interceptor>  
            <mvc:mapping path="/user/MyHome"/>  
            <mvc:mapping path="/um/*"/>  
            <bean  class="com.peidw.web.interceptor.MyInterceptor"></bean>  
        </mvc:interceptor>  
 </mvc:interceptors>  
 
Java代码里实现拦截
package com.peidw.web.interceptors;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.*;
/**
 * Created by peidw on 2015/3/6.
 */

@Component
public class HelloInterceptor implements HandlerInterceptor{
    private static Logger logger=Logger.getLogger(HelloInterceptor.class);

@Override
    public boolean preHandle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o) throws Exception {
        logger.info("执行Action前先判断权限");
        return true;
    }

@Override
    public void postHandle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o, ModelAndView
modelAndView) throws Exception {
        logger.info("生成视图前,可以改model和视图");
    }

@Override
    public void afterCompletion(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o, Exception e) throws
Exception {
        logger.info("生成视图前,可以改model和视图");
    }
}

package com.peidw.web;

import com.peidw.web.interceptors.HelloInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * Created by peidw on 2015/3/6.
 */

@Configuration
@EnableWebMvc
public class WebApplicationConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new HelloInterceptor()).addPathPatterns("/hello");;

}
}

<!-- 全局拦截 --> 
 <mvc:interceptors>  
     <bean class="com.peidw.web.interceptor.MyInterceptor"></bean>  
</mvc:interceptors>  
 
 
一些常用注解
@Autowired和@Qualifier  自动注入[根据类型注入]  
@Autowired 可以对成员变量、方法以及构造函数进行注释,  
@Qualifier 的标注对象是成员变量、方法入参、构造函数入参。  
ps:两者结合使用相当于@Resourcede效果。  
@Resource   自动注入[根据名称注入],可写参数name=""  
@Controller 表示控制器  
@Service    表示业务处理层[一般在serviceImpl]  
@Repository 表示持久层[一般在daoImpl]  
@Component  当你的类不清楚是哪一层的时候使用该注解  
@ResponseBody  异步返回数据类型为json  
@RequestMapping  路径,请求类型等设置  
@InitBinder   数据绑定  
@RequestBody、@ModeleAttributes、@SessionAttributes等

spring-mvc不拦截静态资源的配置的更多相关文章

  1. Spring MVC中处理静态资源的多种方法

    处理静态资源,我想这可能是框架搭建完成之后Web开发的”头等大事“了. 因为一个网站的显示肯定会依赖各种资源:脚本.图片等,那么问题来了,如何在页面中请求这些静态资源呢? 还记得Spring MVC中 ...

  2. spring MVC设置不拦截静态资源

    问题产生: 因为我们在web.xml中写了 拦截所有请求,当然包括了静态资源,所以页面需要引用css或js的话,该请求也会被拦截,例如: 在style.css中写一个简单样式,加个背景颜色  body ...

  3. spring boot 2.0 + 静态资源被拦截,怎么办?

    问题描述:使用springboot 2.0后,按照springboot 1.5版本(以下简称旧版)的方式去配置项目.结果发现静态资源访问不到了,本文对此情况分析.处理 项目结构: 直接上图 如果是在旧 ...

  4. Spring Boot 中的静态资源到底要放在哪里?

    当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:"松哥,我的HTML页面好像没有样式?& ...

  5. spring-mvc里的 <mvc:resources> 及静态资源访问

    在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL.配置如下: <servlet> <servlet-name>Sp ...

  6. SpringMCVC拦截器不拦截静态资源

    SpringMCVC拦截器不拦截静态资源 SpringMVC提供<mvc:resources>来设置静态资源,但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下 ...

  7. SpringMVC REST 风格静态资源访问配置

    1 在web.xml中使用默认servlet处理静态资源,缺点是如果静态资源过多,则配置量会比较大,一旦有遗漏,则会造成资源无法正常显示或404错误. <!-- 静态资源访问控制 --> ...

  8. springmvc、springboot静态资源访问配置

    如何访问项目中的静态资源? 一.springmvc springmvc中访问静态资源,如果DispatcherServlet拦截的为"",那么静态资源的访问也会交给Dispatch ...

  9. Spring Boot中的静态资源文件

    Spring Boot中的静态资源文件 1.SSM中的配置 2.Spring Boot 中的配置 2.1 整体规划 2.2 源码解读 2.3 自定义配置 2.3.1 application.prope ...

随机推荐

  1. MongoDB常用操作一查询find方法db.collection_name.find()

    来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...

  2. 进制转换器(十进制转n进制)

    #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 /*链栈类型定义*/ typedef struct node ...

  3. Android TextView多行垂直滚动

    在Android应用中,有时候需要TextView可以垂直滚动,今天我就介绍一下怎么实现的.在布局里: <TextView android:id="@+id/tvCWJ" a ...

  4. Openstack Swift中间件编写

    关于openstack swift的资料可以看这里,这里还有这里. 准备环境 从零开始接触的同学可以先从swift的all in one部署开始学习,在本机搭建好swift环境就可以进行简单的测试了. ...

  5. EAX、ECX、EDX、EBX寄存器的作用

    注意:在计算加法时,实在32位的累加器上进行,并注意类型之间的转换,数据的截取问题 一般寄存器:AX.BX.CX.DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器 ...

  6. 提示错误#165 too few argument in function call

    调用函数时,参数个数少于函数定义.检查一下函数定义和参数调用,两个要一致.

  7. 一维条形码攻击技术(Badbarcode)

    0x00 前言 在日常生活中,条形码随处可见,特别在超市,便利店,物流业,但你们扫的条形码真的安全吗?之前TK教主 在PacSec介绍的条形码攻击和twitter上的demo视频太炫酷,所以就自己买了 ...

  8. 《view programming guide for iOS 》之可以使用动画效果的属性

    frame—Use this to animate position and size changes for the view.  ,框架,可以视图动态改变大小和位置 bounds—Use this ...

  9. C# 线程问题

    一:概述和概念 C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行.一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为"主线程&quo ...

  10. CRM客户关系管理系统修改(十四)

    修改的流程: