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的一些知识点的更多相关文章

  1. springmvc的面试知识点总结

    新的一年,开启新的篇章,欧气满满,迎接未来. 前几天回顾了spring相关的知识点,现在再来回顾下springmvc相关的知识点做一下总结. 问题总结 之前面试问题总结的那篇文章中,与springmv ...

  2. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  3. springMVC等小知识点记录。。。持续更新

    1.springMVC 项目根路径访问页面配置 <!-- 表示当访问主页时自动转发到index控制器 --> <mvc:view-controller path="/&qu ...

  4. spring和springmvc的基础知识点

    1.spring中使用@Service("userservice")如何在其他地方引用这个service? (1)getBean("userservice") ...

  5. springmvc 最权威的知识点

    1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,C ...

  6. SpringMVC 视图解析器

    SpringMVC 视图解析器 还记得SpringMVC 快速入门中,dispatcher-servlet.xml 配置的视图解析器么.它是SpringMVC 的核心知识点.本章节比较简单,明白视图解 ...

  7. springmvc与freemarker的整合

    官方简介:FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具. 它不是面向最终用户的,而是一个Java ...

  8. 【mybatis深度历险系列】mybatis的框架原理+入门程序解析

    在前面的博文中,小编介绍了springmvc的相关知识点,在今天这篇博文中,小编将介绍一下mybatis的框架原理,以及mybatis的入门程序,实现用户的增删改查,她有什么优缺点以及mybatis和 ...

  9. SpringBoot | 第六章:常用注解介绍及简单使用

    前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志配置等.这章节开始,开始总结一些关于springboot的综合开发的知识点.由于SpringBoot本身是基于Sprin ...

  10. springmvc 项目完整示例08 前台页面以及知识点总结

    至此已经基本测试成功了,我们稍作完善,让它成为一个更加完整的项目 我们现在重新规划下逻辑 两个页面 一个登录页面 一个欢迎页面 登陆页面输入账号密码,登陆成功的话,跳转登陆成功 欢迎页面 并且,更新用 ...

随机推荐

  1. 微信小程序主包和分包的资源可以相互引用吗

    了解主包.分包 整个小程序所有分包大小不超过20M;单个分包/主包大小不能超过 2M 主包: a. 放置默认启动页面&&tabBar页面, 以及一些分包需要用到的公共资源(如wxss. ...

  2. 1、Java程序概述

    1.什么是Java? Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码,以及一个提供诸如安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. 2.Java白皮书的关键术语 ...

  3. eclipse project is missing required java project

    eclipse project is missing required java project eclipse版本: 2022-03 这情况就是maven包出了问题 具体的说不上 看我的解决方法: ...

  4. scroll-view 横向滚动无效

    scroll-view的内层view元素需要: display: inline-block scroll-view的外层元素需要: white-space: nowrap 使得内部组件不换行.

  5. nodejs 反单引号用法(·)

    这个反单引号就是数字1旁边(~)下面的那个符号,平时用得很少,虽然单引号和双引号是使用较多的,但我们还有第三个方案,就是ES6中的模板字符串(反引号). 在nodejs中用反单引号(·)主要基于以下作 ...

  6. 【搭建】【转】PPTP

    https://blog.51cto.com/10802692/2177227?SOURCE=DRA

  7. 6、jmeter的配置元件:参数化--CSV文件

    1.参数化一些数据,就需要用到csv文件 Filename:文件位置和文件名 (和jmeter同一个目录就不需要写哪个盘 直接写文件名字就可以了) File  encoding:编码 Variable ...

  8. Pytorch Cross Entropy

    Entropy Uncetainly measure of surprise higher entropy = less info \[Entropy = -\sum_i P(i)\log P(i) ...

  9. Matlab %伍

    第五章:初级绘图进阶 Special Plots  loglog semilogx semilogy plotyy hist bar pie polar Logarithm Plots  x = lo ...

  10. 在 vuex 中建立一个 permission.js 文件用于合并静态和动态的路由规则

    结果会获取完整的用户的路由规则 // 新建一个vuex模块来专门处理权限相关操作 import { constantRoutes, asyncRoutes } from "@/router& ...