如何高效利用SpringMVC框架进行Java Web开发?

2026-04-15 10:1511阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

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

如何高效利用SpringMVC框架进行Java Web开发?

plaintextgistfile1.txtSpring MVC 知识体系

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

浏览器详解: 1. 浏览器 + 请求 - DispatcherServlet(核心Servlet) - 处理请求 2. DispatcherServlet - HandlerMapping - 获取处理器适配器 3. HandlerMapping - HandlerAdapter - Controller - 获取控制器处理结果 4. Controller - 处理业务逻辑 5. Controller - 返回ModelAndView 6. HandlerAdapter - ViewResolver - 根据视图名称解析视图 7. ViewResolver - 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 最后执行,一般用来释放资源 -->配置 配置文件

如何高效利用SpringMVC框架进行Java Web开发?

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

如何高效利用SpringMVC框架进行Java Web开发?

plaintextgistfile1.txtSpring MVC 知识体系

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

浏览器详解: 1. 浏览器 + 请求 - DispatcherServlet(核心Servlet) - 处理请求 2. DispatcherServlet - HandlerMapping - 获取处理器适配器 3. HandlerMapping - HandlerAdapter - Controller - 获取控制器处理结果 4. Controller - 处理业务逻辑 5. Controller - 返回ModelAndView 6. HandlerAdapter - ViewResolver - 根据视图名称解析视图 7. ViewResolver - 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 最后执行,一般用来释放资源 -->配置 配置文件

如何高效利用SpringMVC框架进行Java Web开发?