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 ...
随机推荐
- 手动添加ceph的mds
1.在需要安装的目标机器上创建mds目录 mkdir -p / 2.生成mds的keyring,并将其写入/var/lib/ceph/mds/ceph-0/keyring文件中 ceph auth g ...
- idea 提示Resource registered by this uri is not recognized (Settings | Languages & Frameworks | Schemas and DTDs)
idea出现如上图所示的错误提示时,可以用如下方式解决 点击红色代码部分,鼠标悬停后出现红色灯泡,如下图所示 点击灯泡后,选择第一个选项就可以解决了
- javascript总结36:DOM-点击按钮切换图片案例
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- .NET基础 (05)内存管理和垃圾回收
内存管理和垃圾回收1 简述.NET中堆栈和堆的特点和差异2 执行string abc="aaa"+"bbb"+"ccc"共分配了多少内存3 ...
- 编写高质量代码改善C#程序的157个建议——建议118:使用SecureString保存密钥等机密字符串
建议118:使用SecureString保存密钥等机密字符串 托管代码中的字符串是一类特殊的对象,它们不可用被改变.每次使用System.String类张的方法之一时,或者使用此类型进行运算时(如赋值 ...
- Alpha冲刺(十)
Information: 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Details: 组员1(组长)柯奇豪 过去两天完成了哪些任务 本人负责的模块(共享编辑)的前端 ...
- JavaScript学习总结——转
JavaScript学习总结(一)——JavaScript基础 JavaScript学习总结(二)——逻辑Not运算符详解 JavaScript学习总结(三)——逻辑And运算符详解 JavaScri ...
- jmeter接口测试注意点
1:许多接口访问前会鉴权,不能直接访问.需要给线程组加上cookies管理. 2:第二个接口的入参是第一个接口的返回,需要先调第一个接口,在第一个接口后加后置处理器,如正则表达式提取器,提取参数供后面 ...
- c# Quartz.net的简单封装
分享一个以前封装的Quartz.net类. 新建一个QuartzClass类库项目.nuget控制台输入 image.png 添加Quartz.net的引用. 我们新建一个JobBase.cs文件,里 ...
- Entity Framework中的连接管理
EF框架对数据库的连接提供了一系列的默认行为,通常情况下不需要我们太多的关注.但是,这种封装,降低了灵活性,有时我们需要对数据库连接加以控制. EF提供了两种方案控制数据库连接: 传递到Context ...