有关SpringMVC的一些知识点
Spring的获取对象
1.获取原生对象,直接在在方法李传http相关的对象。
2.接受简单数据类型,接受简单数据类型(八种基本类型)参数直接在handler方法里声明,会自动把相同类型进行绑定,但是接受数据类型要封装类好点
3.数值要保持前后一致,不然获取不到,如果传递值发现变化(id-》ids需要在之前加上@requestPamet)
4.绑定pojo类型,直接形参声明类型为pojo类型形参名要和pojo内的名称一致!!!(要根据你pojo内的属性名反射)
5.反射对象包装类(嵌套pojo等),不管对象包装是什么可以按照4一致,参数名一定要和pojo内属性名称保持一致,(别嵌套pojo的参属名也要一致!!!)
6.日期参数传递是需要类型转换器,实现接口扩展(实现converter接口),注册你的实现(配置一个bean)但是我感觉有点麻烦如果不是过多的数据建议工具类创建。
restful风格(资源,表现,状态转化)
rest为url请求风格,rest风格所有的东西都是资源,资源就会有唯一url标识。
根据请求不同代表不同操
get查询,获取资源
post 增加 新建
put 更新
delete 删除资源
(put ,delete 需要添加隐藏的请求域)
rest风格:就是参数风格变化,参数在url中(/user/3)
需要使用一个注解@requestMapping固定的写死传参括号(@requestMapping vslu="/user/{id}" method=""参数一样的请款下,根据请求方式不同进行不同的方法
)
post请求乱码(在web.xml配置好编码filter指定编码)
get请求在(tomcat的server.xml配置)
springMVC的ajax和json交互
1.前端发送json后台直接转化pojo@requestBody
2.后台返回pojo前端直接接受json@responseBody
默认jackson包使用
Spring高级部分
过滤器(filter)在servlet之前对所有静态资源过滤
监听器(listener)启动初始化动作创建监听容器整个过程结束销毁
拦截器springmvc中配置拦截handler方法拦截(前,后,页面跳转再拦截)三次一般用最前
自定义拦截器
需要的类继承HandlerInterceptor
可以在重写三个方法,别对应三次拦截。
第一个返回布尔,是否放行。(true放行,false为默认中止)一般用于权限校验部分
后两个比较少,没有返回。第二个可以修改返回数据和视图修改。第三个异常捕获但不常用。
(拦截器也需要在在springmvc配置)
连接器的执行流程
多拦截器的拦截拦截流程,
拦截器有执行顺序,preHandler顺序执行,后面两个从后往前
springMVC异常处理器
使用注解(方法上)@exceptionHandler(异常类型)传入参数类型不能小于定义,
当各类中的只对当个contorl生效
使用全局的异常捕获需要在一个类上使用@controllerAdvice,下面的2异常捕获方法进行上面
相同的操作更具不同的异常做不同的处理。
请求的转发和重定向:
1转发url不改变参数不需要在传递
2.重定向url改变参数需要再传递(在次传参数可以使用addflash把属性暂存session会在跳转后删除)
有关SpringMVC的一些知识点的更多相关文章
- springmvc的面试知识点总结
新的一年,开启新的篇章,欧气满满,迎接未来. 前几天回顾了spring相关的知识点,现在再来回顾下springmvc相关的知识点做一下总结. 问题总结 之前面试问题总结的那篇文章中,与springmv ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- springMVC等小知识点记录。。。持续更新
1.springMVC 项目根路径访问页面配置 <!-- 表示当访问主页时自动转发到index控制器 --> <mvc:view-controller path="/&qu ...
- spring和springmvc的基础知识点
1.spring中使用@Service("userservice")如何在其他地方引用这个service? (1)getBean("userservice") ...
- springmvc 最权威的知识点
1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,C ...
- SpringMVC 视图解析器
SpringMVC 视图解析器 还记得SpringMVC 快速入门中,dispatcher-servlet.xml 配置的视图解析器么.它是SpringMVC 的核心知识点.本章节比较简单,明白视图解 ...
- springmvc与freemarker的整合
官方简介:FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具. 它不是面向最终用户的,而是一个Java ...
- 【mybatis深度历险系列】mybatis的框架原理+入门程序解析
在前面的博文中,小编介绍了springmvc的相关知识点,在今天这篇博文中,小编将介绍一下mybatis的框架原理,以及mybatis的入门程序,实现用户的增删改查,她有什么优缺点以及mybatis和 ...
- SpringBoot | 第六章:常用注解介绍及简单使用
前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志配置等.这章节开始,开始总结一些关于springboot的综合开发的知识点.由于SpringBoot本身是基于Sprin ...
- springmvc 项目完整示例08 前台页面以及知识点总结
至此已经基本测试成功了,我们稍作完善,让它成为一个更加完整的项目 我们现在重新规划下逻辑 两个页面 一个登录页面 一个欢迎页面 登陆页面输入账号密码,登陆成功的话,跳转登陆成功 欢迎页面 并且,更新用 ...
随机推荐
- 关于pandas的一些用法
pandas用法之前我总是把他想的无比复杂.其实也是比较简单的,这个东西在做数据统计的时候还是挺好用的. 然后这里列举几个比较好用的几段代码.偏向数据透视类型pivot的,导出方式是直接在IDE 生成 ...
- MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因:同一个ip ...
- 字节过滤流->缓冲流 BufferedOutputStream 用法:
1创建字节输出节点流 :FileoutputStream fos = new FileoutputStream("文件输入的路径",true);(true表示追加,false表示覆 ...
- 使用navicat连接本地数据库时,出现错误1251错误
在安装完MySQL的时候,我们现在一般都使用Navicat来连接数据库,可惜出现下面的错误:1251-Client does not support authentication protocol r ...
- Flink学习系列——简介
Flink起源 德国柏林 Flink的目标 低延迟 高吞吐 较高的准确性(乱序数据的处理) 良好的容错性(容错性差的表现:一个节点挂了,全部回滚重新做计算,这对实时性要求高的场景非常致命)
- PHP接受json数据
PHP接受json数据 获取请求的参数 $input = file_get_contents("php://input"); $input = json_decode($input ...
- 4.javaweb-thymeleaf
1.知识回顾: 1. post提交方式下的设置编码,防止中文乱码 request.setCharacterEncoding("utf-8"); get提交方式,tomcat8开始, ...
- DataX Web可视化分布式调度数据同步系统
因项目需要,结合目前参与的项目,以及个人技术能力范围,组合研发一套web可视化数据同步系统,正式名称:DataXP. 项目背景:接触过阿里云这类大数据平台,对于中大型项目以及需要与外部系统对接数据的情 ...
- ACM 的正确入门方式是什么?
作者:数学lover 链接:https://www.zhihu.com/question/51727516/answer/127265733 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...
- 非侵入式入侵 —— Web缓存污染与请求走私
作者:vivo 互联网安全团队- Gui Mingcheng 本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞 -- Web缓存污染与请求走私.Web缓存污染旨在通过攻击者向缓存 ...