1.controller的生命周期

  1. spring框架默认为单例模式,会使数据之间的传递互相影响,而springMVC给我们提供了request与session两个,request每次请求就会产生一个单例,会导致数据比较多,session每次回话才会产生一个请求,所以我们一般情况都是用session比较多,它们两个具体的表现是出现在方法上的注解@requestscope或者@scope("request")和@sessionscope或者@scope("session")
  2. 当然因为他是后来才加入的注解,所以必须配置springMVC的扩展,我们需要在web。xml中配置<mvc:annotation-driven />

2.一些相关的注解配置及说明

  1. 放开所有的静态资源<mvc:default-servlet-handler/>
  2. 开放指定路径

    location:表示访问的静态文件的目录

    mapping:表示访问的规则

    <mvc:resources location="/image/" mapping="/image/**"></mvc:resources>

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

    <mvc:resources location="/js/" mapping="/js/**"></mvc:resources>

3.springMVC对json的支持

  1.springMVC可以把所有的json语句和json对象进行强制转换,当然需要先导入支持其的相对应包

   

  2.发送过来的json请求必须通过@requestBody注解对传过来的json进行强制转换为json对象返回的直接就是json对象

4.spring中的拦截器

  1. 拦截器和过滤器的基本功能是一样的,但是过滤器拦截的是请求路径,而拦截器是拦截的相对应映射方法路径
  2. 拦截器因为本就属于spring框架中的功能,所以spring一些需要的组件功能还是可以使用,而过滤器会把这些全都给拦截了
  3. 在SpringMVC里面,拦截器一定要实现HandleInterceptor,所以我们配置拦截器的时候必须继承HandleInterceptor这个接口类

  4. 拦截器的spring相关配置

    4.1既然拦截器是基于spring框架中当然需要先配置一下这个拦截器的spring的配置,首先还是必须先保证springMVC的那几个包的添加

     并且我们要先了解一下它的一些通配符,以达到精确拦截的要求。  ?  可以匹配任何一个字符  * 匹配任何长度的字符  **  匹配多级目录的路径

  5.

<!-- 配置拦截器 -->

<mvc:interceptors>

<!-- 配置指定的拦截器 -->

<mvc:interceptor>

<!-- 过滤规则,放在最前面 -->

<mvc:mapping path="/**"/>

<!-- 排除的过滤规则,放在第二,不包括 -->

<!--注意,如果加了命名空间 -->

<!-- 规则:

1.**不能加任何的字符,表示通配多级目录

2.多个字符*号. 表示通配同一级目录的多个字符

3.排除的范围小于拦截的范围.

-->

<mvc:exclude-mapping path="/user/login*"/>

<!-- 对象配置放在最后 -->

<bean class="cn.gzsxt.interceptor.MyInterceptor"></bean>

</mvc:interceptor>

</mvc:interceptors>

springMVC中一些功能的更多相关文章

  1. 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题

    问题描述: 在springmvc中实现文件下载功能一般都会使用javax.servlet.ServletOutputStream out = response.getOutputStream();封装 ...

  2. springmvc中RequestMapping的解析

    在研究源码的时候,我们应该从最高层来看,所以我们先看这个接口的定义: package org.springframework.web.servlet; import javax.servlet.htt ...

  3. SpringMVC 中HttpMessageConverter简介和Http请求415 Unsupported Media Type的问题

    一.概述: 本文介绍且记录如何解决在SpringMVC 中遇到415 Unsupported Media Type 的问题,并且顺便介绍Spring MVC的HTTP请求信息转换器HttpMessag ...

  4. SpringMvc中Interceptor拦截器用法

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆等. 一. 使用场景 1 ...

  5. JavaEE开发之SpringMVC中的路由配置及参数传递详解

    在之前我们使用Swift的Perfect框架来开发服务端程序时,聊到了Perfect中的路由配置.而在SpringMVC中的路由配置与其也是大同小异的.说到路由,其实就是将URL映射到Java的具体类 ...

  6. JavaEE开发之SpringMVC中的自定义拦截器及异常处理

    上篇博客我们聊了<JavaEE开发之SpringMVC中的路由配置及参数传递详解>,本篇博客我们就聊一下自定义拦截器的实现.以及使用ModelAndView对象将Controller的值加 ...

  7. JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术

    在上篇博客中,我们聊了<JavaEE开发之SpringMVC中的自定义拦截器及异常处理>.本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js.css这些静态文件的加载配置 ...

  8. JavaEE开发之SpringMVC中的自定义消息转换器与文件上传

    上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...

  9. SpringMVC中使用Swagger2整合

    Swagger2是什么 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...

随机推荐

  1. HUST软件测试数媒1501班: 第0周作业成绩

    说明 本次公布的成绩包含三次作业的结果: 毕博平台课前测试题 第0周作业1:开设博客 第0周作业2:博客阅读和思考 如果同学对作业结果存在异议,可以: 在线平台的第一周在线答疑中创建话题申诉. 或直接 ...

  2. STL中 map 和 multimap

    1. 所在头文件<map>. 命名空间std, 声明如下: namespace std{ template <class Key,class T, class Compare = l ...

  3. 【转】C++中#if #ifdef 的作用

    一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件 编译”.有时,希望当满足某条件时对一组语句进行编译,而当 ...

  4. html传参数 js工具类

    var QueryUtils = { GetQueryString: function (name) { var reg = new RegExp("(^|&)" + na ...

  5. JavaScript排序,不只是冒泡

    做编程,排序是个必然的需求.前端也不例外,虽然不多,但是你肯定会遇到. 不过说到排序,最容易想到的就是冒泡排序,选择排序,插入排序了. 冒泡排序 依次比较相邻的两个元素,如果后一个小于前一个,则交换, ...

  6. mongodb 更新操作

    db.aaaa.update({},{$push:{money:{$each:[8,9,10],$slice:-4}}}) db.aaaa.update({},{$addToSet:{money:{$ ...

  7. HDU 6148 Valley Numer (数位DP)

    题意:... 析:好久没写数位DP了,几乎就是不会了.... dp[i][last][s] 表示前 i 位上一位是 last,当前的状态是 s,0表示非上升,1 表示非下降,然后就很简单了,只有 0 ...

  8. CodeForces 682A Alyona and Numbers (水题,数学)

    题意:给定两个数 m,n,问你在从1到 n,和从 1到 m中任选两个数加起来是5的倍数,问你有多少个. 析:先计算 m 和 n中有多少个取模5是从0到4的,然后根据排列组合,相乘就得到了小于等于 m ...

  9. 反射:获取Class对象的三种方式

    获取Class对象的三种方式 package lianxiApril18; /** * 获取Class对象的三种方式 * 1 Object ——> getClass(); * 2 任何数据类型( ...

  10. 算法 UVA 11729

     例2:假设当前小光有n个部下,每个部下需要完成一项任务.第i个部下需要小光花Bi分钟交代任务,然后他会立刻独立地.无间断地执行Ji分钟后完成任务.小光需要选择交代任务的顺序,使得所有任务尽早执行完毕 ...