SpringMVC笔记如何高效学习?

更新于
2026-10-12 10:03:17
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计965个文字,预计阅读时间需要4分钟。

SpringMVC笔记如何高效学习?

gistfile1.txtSpring MVC 知识体系

1. 核心流程: 浏览器 - DispatcherServlet - HandlerMapping - HandlerAdapter - Controller - DispatcherServlet - ViewResoler - View - 浏览器

SpringMVC笔记如何高效学习?

2. 浏览器详解: 1. 浏览器 + 请求 + DispatcherServlet(核心Servlet) 2. DispatcherServlet 调用 HandlerMapping 3. HandlerMapping 调用 HandlerAdapter 4. HandlerAdapter 调用 Controller 5. Controller 处理请求并返回 ModelAndView 6. HandlerAdapter 调用 ViewResoler 7. ViewResoler 调用 View 8. View 渲染视图并返回给浏览器

gistfile1.txt

spring mvc 知识体系 1.核心流程:浏览器-DispatcherServlet-HandlerMapping-HandlerAdapter-Controller-DispatcherServlet-ViewResoler-View-浏览器 详解: -->1.浏览器 请求 DispatcherServlet(核心Servlet) -->2.DispatcherServlet 调用 HandlerMapping(映射处理类) -->3.HandlerMapping 调用 HandlerAdapter(处理适配器) -->4.HandlerAdapter 分配 到指定的 Controller -->5.Controller 处理 完数据后 返回到DispatcherServlet -->6.DispatcherServlet 根据 Controller返回结果找到 ViewResoler视图解析器 -->7.ViewResoler 找到 指定页面 2.请求映射@RequestMapping(value,method,params,headers) -->*所有,??两个字符,{userid}参数值 -->@PathVariable("userid"):获取路由参数列表值 -->@RequestParam(value,required,defaultValue) -->value 参数名 -->required 是否为必须,默认true,必须有参数,无则抛异常 -->defaultValue 默认值,有此属性则required=false -->@CookieValue("key") 获取Cookie值 -->spring mvc 希望controller和servlet完全解耦,但 cookie解耦还不完善 -->@RequestHeader("key")获取头文件值 -->参数也支持 实体类,HttpServletRequest,HttpServletResponse -->ajax请求 使用@ResponseBody注解即可 -->ajax乱码:produces="text/plain;charset=utf-8" 3.处理模型数据 -->ModelAndView 返回值类型,传递视图数据 只可传参入UI,但必须作为返回值类型 -->@ModelAttribute 参数类型,入参对象直接放入 可接收UI值(但仅限于对象),也可传参入UI(但仅限于对象) -->Map,Model,ModelMap 参数类型 只可传参入UI,但必须作为参数传入 -->@SessionAttributes 将模型中某个属性暂存到HttpSession中 暂时废弃,使用参数HttpSession -->重定向使用redirect:/index 转发使用forward:/index 4.Spring MVC数据校验 -->@Pattern(regexp) 正则匹配 -->@Length(min,max) 字符长度区间限制 -->@DecimalMin(value) 数据必须在指定值以上 -->@DecimalMax(value) 数据必须在指定值以下 -->@NotNull 不是空 -->@Null 是空 -->@NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) -->@Range(min=最小值, max=最大值) -->@NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格 -->@Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式 -->获取验证结果 -->index(@Valid User user,[BindingResult br,Errors er]){br.hasErrors()} -->在JSP页面显示错误信息 -->1.<%@ taglib prefix="form" uri="www.springframework.org/tags/form" %> -->2. -->3.如果需要使用JS验证,就需要写自定义标签了 5.Spring表单标签 -->1.引用标签声明 <%@taglib prefix="form" uri="www.springframework.org/tags/form"%> -->2. -->3.公共属性path 对象属性 -->4.<:input> 文本框 -->5.<:password> 密码框 -->6.<:hidden> 隐藏框 -->7.<:textarea> 多行输入框 -->8.<:radiobutton> 单选按钮 -->9.<:radiobuttons> 单选组 -->items List,String[],Map -->path 当前值,默认选中items中和[]path相同的 -->ps:如果是Map时,可指定 ItemValue,ItemLabel -->10.<:checkboxs> :复选框组,类似单选组 -->11.<:select> :下拉框组,类似单选组 -->12.<:option[s]> :下拉列表,下拉列表组,类似单选组 -->13.<:errors> : 6.文件上传 -->1.需要在配置文件加入

-->2.在控制其中使用 @RequestParam("file") MultipartFile file 作为参数 使用file.transferTo(new File("path")); 即可 -->3.必须在表单中加上

7.拦截器(过滤器) -->实现HandlerInterceptor类即可 -->preHandle 请求之前 -->postHandle 生成视图之前 -->afterCompletion 最后执行,一般用来释放资源 -->配置 配置文件

本文共计965个文字,预计阅读时间需要4分钟。

SpringMVC笔记如何高效学习?

gistfile1.txtSpring MVC 知识体系

1. 核心流程: 浏览器 - DispatcherServlet - HandlerMapping - HandlerAdapter - Controller - DispatcherServlet - ViewResoler - View - 浏览器

SpringMVC笔记如何高效学习?

2. 浏览器详解: 1. 浏览器 + 请求 + DispatcherServlet(核心Servlet) 2. DispatcherServlet 调用 HandlerMapping 3. HandlerMapping 调用 HandlerAdapter 4. HandlerAdapter 调用 Controller 5. Controller 处理请求并返回 ModelAndView 6. HandlerAdapter 调用 ViewResoler 7. ViewResoler 调用 View 8. View 渲染视图并返回给浏览器

gistfile1.txt

spring mvc 知识体系 1.核心流程:浏览器-DispatcherServlet-HandlerMapping-HandlerAdapter-Controller-DispatcherServlet-ViewResoler-View-浏览器 详解: -->1.浏览器 请求 DispatcherServlet(核心Servlet) -->2.DispatcherServlet 调用 HandlerMapping(映射处理类) -->3.HandlerMapping 调用 HandlerAdapter(处理适配器) -->4.HandlerAdapter 分配 到指定的 Controller -->5.Controller 处理 完数据后 返回到DispatcherServlet -->6.DispatcherServlet 根据 Controller返回结果找到 ViewResoler视图解析器 -->7.ViewResoler 找到 指定页面 2.请求映射@RequestMapping(value,method,params,headers) -->*所有,??两个字符,{userid}参数值 -->@PathVariable("userid"):获取路由参数列表值 -->@RequestParam(value,required,defaultValue) -->value 参数名 -->required 是否为必须,默认true,必须有参数,无则抛异常 -->defaultValue 默认值,有此属性则required=false -->@CookieValue("key") 获取Cookie值 -->spring mvc 希望controller和servlet完全解耦,但 cookie解耦还不完善 -->@RequestHeader("key")获取头文件值 -->参数也支持 实体类,HttpServletRequest,HttpServletResponse -->ajax请求 使用@ResponseBody注解即可 -->ajax乱码:produces="text/plain;charset=utf-8" 3.处理模型数据 -->ModelAndView 返回值类型,传递视图数据 只可传参入UI,但必须作为返回值类型 -->@ModelAttribute 参数类型,入参对象直接放入 可接收UI值(但仅限于对象),也可传参入UI(但仅限于对象) -->Map,Model,ModelMap 参数类型 只可传参入UI,但必须作为参数传入 -->@SessionAttributes 将模型中某个属性暂存到HttpSession中 暂时废弃,使用参数HttpSession -->重定向使用redirect:/index 转发使用forward:/index 4.Spring MVC数据校验 -->@Pattern(regexp) 正则匹配 -->@Length(min,max) 字符长度区间限制 -->@DecimalMin(value) 数据必须在指定值以上 -->@DecimalMax(value) 数据必须在指定值以下 -->@NotNull 不是空 -->@Null 是空 -->@NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) -->@Range(min=最小值, max=最大值) -->@NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格 -->@Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式 -->获取验证结果 -->index(@Valid User user,[BindingResult br,Errors er]){br.hasErrors()} -->在JSP页面显示错误信息 -->1.<%@ taglib prefix="form" uri="www.springframework.org/tags/form" %> -->2. -->3.如果需要使用JS验证,就需要写自定义标签了 5.Spring表单标签 -->1.引用标签声明 <%@taglib prefix="form" uri="www.springframework.org/tags/form"%> -->2. -->3.公共属性path 对象属性 -->4.<:input> 文本框 -->5.<:password> 密码框 -->6.<:hidden> 隐藏框 -->7.<:textarea> 多行输入框 -->8.<:radiobutton> 单选按钮 -->9.<:radiobuttons> 单选组 -->items List,String[],Map -->path 当前值,默认选中items中和[]path相同的 -->ps:如果是Map时,可指定 ItemValue,ItemLabel -->10.<:checkboxs> :复选框组,类似单选组 -->11.<:select> :下拉框组,类似单选组 -->12.<:option[s]> :下拉列表,下拉列表组,类似单选组 -->13.<:errors> : 6.文件上传 -->1.需要在配置文件加入

-->2.在控制其中使用 @RequestParam("file") MultipartFile file 作为参数 使用file.transferTo(new File("path")); 即可 -->3.必须在表单中加上

7.拦截器(过滤器) -->实现HandlerInterceptor类即可 -->preHandle 请求之前 -->postHandle 生成视图之前 -->afterCompletion 最后执行,一般用来释放资源 -->配置 配置文件