springMVC中一些功能
1.controller的生命周期
- spring框架默认为单例模式,会使数据之间的传递互相影响,而springMVC给我们提供了request与session两个,request每次请求就会产生一个单例,会导致数据比较多,session每次回话才会产生一个请求,所以我们一般情况都是用session比较多,它们两个具体的表现是出现在方法上的注解@requestscope或者@scope("request")和@sessionscope或者@scope("session")
- 当然因为他是后来才加入的注解,所以必须配置springMVC的扩展,我们需要在web。xml中配置<mvc:annotation-driven />
2.一些相关的注解配置及说明
- 放开所有的静态资源<mvc:default-servlet-handler/>
- 开放指定路径
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中的拦截器
- 拦截器和过滤器的基本功能是一样的,但是过滤器拦截的是请求路径,而拦截器是拦截的相对应映射方法路径
- 拦截器因为本就属于spring框架中的功能,所以spring一些需要的组件功能还是可以使用,而过滤器会把这些全都给拦截了
在SpringMVC里面,拦截器一定要实现HandleInterceptor,所以我们配置拦截器的时候必须继承HandleInterceptor这个接口类
- 拦截器的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中一些功能的更多相关文章
- 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题
问题描述: 在springmvc中实现文件下载功能一般都会使用javax.servlet.ServletOutputStream out = response.getOutputStream();封装 ...
- springmvc中RequestMapping的解析
在研究源码的时候,我们应该从最高层来看,所以我们先看这个接口的定义: package org.springframework.web.servlet; import javax.servlet.htt ...
- SpringMVC 中HttpMessageConverter简介和Http请求415 Unsupported Media Type的问题
一.概述: 本文介绍且记录如何解决在SpringMVC 中遇到415 Unsupported Media Type 的问题,并且顺便介绍Spring MVC的HTTP请求信息转换器HttpMessag ...
- SpringMvc中Interceptor拦截器用法
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆等. 一. 使用场景 1 ...
- JavaEE开发之SpringMVC中的路由配置及参数传递详解
在之前我们使用Swift的Perfect框架来开发服务端程序时,聊到了Perfect中的路由配置.而在SpringMVC中的路由配置与其也是大同小异的.说到路由,其实就是将URL映射到Java的具体类 ...
- JavaEE开发之SpringMVC中的自定义拦截器及异常处理
上篇博客我们聊了<JavaEE开发之SpringMVC中的路由配置及参数传递详解>,本篇博客我们就聊一下自定义拦截器的实现.以及使用ModelAndView对象将Controller的值加 ...
- JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术
在上篇博客中,我们聊了<JavaEE开发之SpringMVC中的自定义拦截器及异常处理>.本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js.css这些静态文件的加载配置 ...
- JavaEE开发之SpringMVC中的自定义消息转换器与文件上传
上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...
- SpringMVC中使用Swagger2整合
Swagger2是什么 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...
随机推荐
- CodeForces 342B Xenia and Spies (水题模拟,贪心)
题意:给定 n 个间谍,m个区间,一个 s,一个f,然后从 s开始传纸条,然后传到 f,然后在每个 t 时间在区间内的不能传,问你最少的时间传过去. 析:这个题,就模拟一下就好,贪心策略,能传就传,找 ...
- CodeForces 346A Alice and Bob (数学最大公约数)
题意:有一堆数,然后有两个人轮流从中取出两个数,这两个数的差的绝对值不在这个集合,然后把这个数放进这个集合,如果哪个人不能拿了,就是输了,问你谁赢. 析:当时连题意都没看好,以为拿出两个数,就不放回了 ...
- smarty中用truncate来截取中英文字符串及避免中文乱码问题
smarty中用truncate来截取含有中英文的字符串,可能会出现中文乱码问题.字符串截取长度不一问题,下面是新建个扩展函数,或修改原Truncate函数方法也可以的.扩展smarty/plugin ...
- sql server锁检测
有时候系统运行老感觉效率不高,并且有时候sql还有超时的报错,但是并发量并不高.通过排查定位sql是否有执行效率问题 -- 开事务, 以保持锁 BEGIN TRAN -- 更新 update tabl ...
- 设计模式15---观察者模式(Observer Pattern)
一.观察者模式定义 观察者模式定义: Define a one-to-many dependency between objects so that when one object changes s ...
- MongoDB整理笔记のjava MongoDB分页优化
最近项目在做网站用户数据新访客统计,数据存储在MongoDB中,统计的数据其实也并不是很大,1000W上下,但是公司只配给我4G内存的电脑,让我程序跑起来气喘吁吁...很是疲惫不堪. 最常见的问题莫过 ...
- Linq聚合操作之Aggregate,Count,Sum,Distinct源码分析
Linq聚合操作之Aggregate,Count,Sum,Distinct源码分析 一:Linq的聚合运算 1. 常见的聚合运算:Aggregate,Count, Sum, Distinct,Max, ...
- 【C#】事件
前言:CLR事件模式建立在委托的基础上,委托说调用回调方法的一种类型安全的方式. 我个人觉得事件本质就是委托,所以把委托弄清楚,只要知道事件基本语法就会使用了(如果说到线程安全,我个人觉得这个应该和线 ...
- jQuery基础入门
一.什么是 jQuery Jquery它是javascript的一个轻量级框架,对javascript进行封装,它提供了很多方便的选择器.供你快速定位到需要操作的元素上面去.还提供了很多便捷的方法. ...
- 构建基于asp.net core 的docker应用并发布
发布Docker镜像的方法有很多种,asp.net core的发布需要在windows系统中 开门见山,首先保证已经在Centos上安装好了Docker.创建一个asp.net core的webapi ...