
Spring MVC
HernSong
HernSong
展开
-
SpringMVC配置全局日期转换器
springmvc前端到后台数据映射的时候出现了The request sent by the client was syntactically incorrect.错误,发现是前端日期是字符串类型的,传到后台时,后台的Java程序不能将字符串日期解释成Date类型的日期。方法一:实体类中加日期格式化注解@DateTimeFormat(pattern = "yyyy-MM-dd")pr...转载 2019-09-18 11:38:45 · 1248 阅读 · 0 评论 -
SpringMVC——文件上传与下载
1.文件上传多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单必须满足以下3个条件:form表单的method属性设置为post; form表单的enctype属性设置为multipart/form-data; 提供<input type="file" name="filename" />的文件上传输入框;...转载 2019-07-28 17:31:28 · 712 阅读 · 0 评论 -
SpringMVC+Jersey实现跨服务器上传图片
场景比如:填写用户信息的时候,除了填写常规的form表单标签外,还需要上传头像,点击浏览选择头像后,不刷新页面也能马上在页面的文件区域显示所上传的图片在互联网项目中,经常使用的是图片单独存放在一个服务器,这就是使用了跨服务器上传图片的技术,接下来就介绍如何跨服务器上传图片,springmvc+jersey准备服务器既然说了是跨服务器上传,那么首先需要两台服务器,这里使用两个不同端...转载 2019-07-28 17:31:00 · 686 阅读 · 0 评论 -
SpringMVC——json数据处理
json数据为什么流行,因为json格式数据比较简单,更符合面向对象,在页面使用js解析json比较方便的。输入json数据好处:为了适应众多客户端请求,可以将请求的内容类型统一为json数据格式。将请求结果以json格式输入好处:在页面使用js解析json比较方便 。springmvc中通过@requestBody注解实现将json数据转成java对象。内部使用jackson包将json转...转载 2019-07-28 17:30:38 · 324 阅读 · 0 评论 -
SpringMVC——重定向(不带参数重定向、带参数重定向、FlashAttribute、RedirectAttribute)
SpringMVC Controller间跳转,需重定向。分三种情况:(1)不带参数跳转(2)带参数拼接url形式跳转(3)带参数不拼接参数跳转,页面也能显示。1、不带参数重定向需求:在列表页面,执行新增操作,新增在后台完成之后要跳转到列表页面,不需要传递参数,列表页面默认查询所有项目。(1)方式一:使用ModelAndView(这是Spring 2.0用到的方法)retur...转载 2019-07-27 20:55:35 · 3211 阅读 · 0 评论 -
SpringMVC——请求转发(三种方式)
首先明白请求转发是一次请求,地址栏不会发生变化,区别于重定向。springmvc环境自行配置。以下举例中存在如下文件/WEB-INF/pages/success.jsp请求转发的第一种情况:请求转发经过视图解析器前端页面<a href="${pageContext.request.contextPath}/forwardMvcView">请求转发经过视图解析器<...转载 2019-07-27 20:55:30 · 1853 阅读 · 0 评论 -
SpringMVC——REST风格的URL
REST REST(Representational State Transfer)。(资源)表现层状态转化。它是一种架构风格,用 url 来访问网络上的资源。 ● 资源(Resources):网络上的一个实体,即网络上的一个具体的信息。比如 一段文本、一张图片等。可以用一个 URI 指向它,每个资源对象一个特定的 URI。 ● 表现层(Representation):把资源具体...转载 2019-07-27 20:55:26 · 414 阅读 · 0 评论 -
SpringMVC——@PathVariable注解
@PathVariable绑定URI模板变量值 @PathVariable是用来获得请求url中的动态参数的 通过@PatchVariable可以将URL中的占位符参数绑定到控制器处理方法的入参中:URL 中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中 @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。//配置url...原创 2019-07-27 20:55:20 · 1464 阅读 · 0 评论 -
SpringMVC——mvc:annotation-driven标签说明
主要作用在SpringMVC的各个组件中,处理映射器、处理器适配器、视图解析器称为SpringMVC的三大组件。使用<mvc:annotation-driven>自动加载RequestMappingHandlerMapping(处理映射器)和RequestMappingHandlerAdapter(处理适配器),可用在SpringMVC.xml配置文件中使用<mvc:an...原创 2019-07-22 11:30:32 · 534 阅读 · 0 评论 -
SpringMVC——自定义类型转换器 及 使用 ServletAPI 对象作为方法参数
自定义类型转换器使用场景:jsp 代码:<!-- 特殊情况之:类型转换问题 --><a href="account/deleteAccount?date=2018-01-01">根据日期删除账户</a>控制器代码: @RequestMapping("/deleteAccount") public String del...转载 2019-07-22 11:30:05 · 346 阅读 · 0 评论 -
SpringMVC 运行流程
SpringMVC的工作原理图:SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherS...转载 2019-04-06 11:17:53 · 79322 阅读 · 7 评论 -
SpringMVC 异常处理
简介• Spring MVC 通过 HandlerExceptionResolver 处理程序的异常,包括 Handler 映射、数据绑定以及目标方法执行时发生的异常。• SpringMVC 提供的 HandlerExceptionResolver 的实现类HandlerExceptionResolver • DispatcherServlet 默认装配的 HandlerExc...原创 2019-04-04 21:08:02 · 295 阅读 · 0 评论 -
SpringMVC @ControllerAdvice 注解
简介@ControllerAdvice注解如果当前Handler中找不到@ExceptionHandler方法来解决当前方法出现的异常,则将去@ControllerAdvice注解标记的类中查找@ExceptionHandler标记的方法来处理异常。例如(当id = 0时,将出现异常)index.jsp<%@ taglib prefix="form" uri="http:/...原创 2019-04-04 20:46:42 · 480 阅读 · 0 评论 -
SpringMVC 自定义拦截器
简介• Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口– preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对 请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如...转载 2019-04-04 16:03:11 · 1789 阅读 · 0 评论 -
SpringMVC 文件上传
简介• Spring MVC 为文件上传提供了直接的支持,这种支持是通 过即插即用的 MultipartResolver 实现的。Spring 用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:CommonsMultipartResovler• Spring MVC 上下文中默认没有装配 MultipartResovler...原创 2019-04-04 13:55:37 · 330 阅读 · 0 评论 -
SpringMVC 国际化
简介• 默认情况下,SpringMVC 根据 Accept-Language 参数 判断客户端的本地化类型。• 当接受到请求时,SpringMVC 会在上下文中查找一个本 地化解析器(LocalResolver),找到后使用它获取请求 所对应的本地化类型信息。• SpringMVC 还允许装配一个动态更改本地化类型的拦截 器,这样通过指定一个请求参数就可以控制单个请求的本 地化类型。...原创 2019-04-04 11:39:28 · 296 阅读 · 0 评论 -
SpringMVC 返回JSON、HttpMessageConverter <T>的使用
处理 JSON 点击进入maven的中央仓库下载所需Jackson jar包• 1. 加入 jar 包:• 2. 编写目标方法,使其返回 JSON 对应的对象或集合• 3. 在方法上添加 @ResponseBody 注解HttpMessageConverter <T>• HttpMessageConverter 是 Spring3.0 新添加的一个接 口,...原创 2019-04-04 11:27:40 · 733 阅读 · 0 评论 -
SpringMVC 在页面上显示错误、提示消息的国际化
在页面上显示错误• Spring MVC 除了会将表单/命令对象的校验结果保存到对应的 BindingResult 或 Errors 对象中外,还会将所有校验 结果保存到 “隐含模型” 。• 即使处理方法的签名中没有对应于表单/命令对象的结果入参,校验结果也会保存在 “隐含对象” 中。• 隐含模型中的所有数据最终将通过 HttpServletRequest 的属性列表暴露给 JSP 视...转载 2019-04-04 09:14:10 · 1929 阅读 · 0 评论 -
SpringMVC 数据校验(JSR303)
点击下载所需要的jar包下载(Hibernate官网)(Hibernate Validator 6.0)所必须的jar包简介• Spring 4.0 拥有自己独立的数据校验框架,同时支持 JSR 303 标准的校验框架。• Spring 在进行数据绑定时,可同时调用校验框架完成数据校验工作。在 Spring MVC 中可直接通过注解驱动的方式进行数据校验 。• Spring...原创 2019-04-03 21:11:25 · 528 阅读 · 0 评论 -
SpringMVC 数据格式化
简介• 对属性对象的输入/输出进行格式化,从其本质上讲依然 属于 “类型转换” 的范畴。• Spring 在格式化模块中定义了一个实现 ConversionService 接口的 FormattingConversionService 实现类,该实现类扩展 了 GenericConversionService,因此它既具有类型转换的 功能,又具有格式化的功能• FormattingC...原创 2019-04-03 17:04:22 · 399 阅读 · 0 评论 -
SpringMVC @InitBinder注解
简介• 用于@Controller中标注的方法上,表示为当前控制器注册一个属性编辑器,只对当前的Controller有效。• 由 @InitBinder 标识的方法,可以对 WebDataBinder 对象进行初始化。WebDataBinder 是 DataBinder 的子类,用于完成由表单字段到 JavaBean 属性的绑定。• @InitBinder方法不能有返回值,它必须声明为...原创 2019-04-03 16:16:33 · 796 阅读 · 0 评论 -
SpringMVC mvc:annotation-driven属性及其配置
• 会自动注 册RequestMappingHandlerMapping 、RequestMappingHandlerAdapter 与 ExceptionHandlerExceptionResolver 三个bean。• 还将提供以下支持:– 支持使用 ConversionService 实例对表单参数进行类型转换– 支持使用 @NumberFormat annotation、@Da...原创 2019-04-03 15:36:31 · 1383 阅读 · 0 评论 -
SpringMVC 自定义类型转换器
Spring支持的转换器类型Spring 定义了 3 种类型的转换器接口,实现任意一个转换器接口都可以作为自定义转换器注册到ConversionServiceFactroyBean 中:– Converter:将 S 类型对象转为 T 类型对象。– ConverterFactory:将相同系列多个 “同质” Converter 封装在一 起。如果希望将一种类型的对象转换为另一种类型及其...原创 2019-04-03 14:38:28 · 571 阅读 · 0 评论 -
SpringMVC 数据绑定流程、参数绑定、数据类型绑定、自定义数据类型
• 1. Spring MVC 主框架将 ServletRequest 对象及目标方 法的入参实例传递给 WebDataBinderFactory 实例,以创 建 DataBinder 实例对象• 2. DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换、数据格式 化工作。将 Servlet 中的请求信息填充到入参对象中...原创 2019-03-31 21:11:55 · 773 阅读 · 0 评论 -
SpringMVC 处理静态资源
• 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀• 若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获 WEB 容器的所有请求,包括静态资源的请求, SpringMVC 会将他 们当成一个普通请求处理,因找不到对应处理器将导致错误。• 可以在 SpringMVC 的配置文件中配置 的方式解决静态资源的问题:– ...原创 2019-03-31 20:23:54 · 339 阅读 · 0 评论 -
SpringMVC 转发和重定向
SpringMvc请求方式分为转发、重定向两种,是用forward和redirect关键字在controller层进行处理。• 一般情况下,控制器方法返回字符串类型的值会被当成逻辑视图名处理• 如果返回的字符串中带 forward: 或 redirect: 前缀 时,SpringMVC 会对他们进行特殊处理:将 forward: 和 redirect: 当成指示符,其后的字符串作为 URL...原创 2019-03-31 14:44:39 · 569 阅读 · 0 评论 -
SpringMVC 自定义视图
注意:在SpringMVC配置文件中要能够扫描到视图所在的包(context:component-scan)。自定义视图要实现view接口或继承AbstractView抽象类,并加入到IOC容器中(注意:定义的视图类要声明注解@Component)package com.hello.view;import org.springframework.stereotype.Componen...原创 2019-03-31 11:36:09 · 347 阅读 · 0 评论 -
SpringMVC InternalResourceViewResolver视图解析器
• JSP 是最常见的视图技术,可以使用 InternalResourceViewResolver 作为视图解析器:• 若项目中使用了 JSTL,则 SpringMVC 会自动把视图由 InternalResourceView 转为 JstlView• 若使用 JSTL 的 fmt 标签则需要在 SpringMVC 的配置文件中配置国际化资源文件<%-- Created...原创 2019-03-31 09:42:08 · 750 阅读 · 0 评论 -
SpringMVC 视图解析流程
视图和视图解析器• 请求处理方法执行完成后,最终返回一个 ModelAndView 对象。对于那些返回 String,View 或 ModeMap 等类型的 处理方法,Spring MVC 也会在内部将它们装配成一个 ModelAndView 对象,它包含了逻辑名和模型对象的视图 。• Spring MVC 借助视图解析器(ViewResolver)得到最终 的视图对象(View),最...原创 2019-03-30 20:33:10 · 1244 阅读 · 0 评论 -
SpringMVC 处理模型数据(ModelAndView、@SessionAttributes、@ModelAttribute)
Spring MVC 提供了输出模型数据的途径ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据 Map 及 Model: 入参为 org.springframework.ui.Model、org.springframework.ui. ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添...原创 2019-03-29 20:08:53 · 993 阅读 · 0 评论 -
SpringMVC 使用Servlet原生API作为参数
SpringMVC支持直接使用ServletAPI 作为目标方法的入参。MVC 的 Handler 方法可以接受如下ServletAPI 类型的参数:• HttpServletRequest• HttpServletResponse• HttpSession• java.security.Principal• Locale• InputStream• OutputS...原创 2019-03-29 16:05:23 · 523 阅读 · 0 评论 -
SpringMVC 使用 POJO 对象绑定请求参数值
在实际开发中如果参数太多就不能使用@RequestParam去一个一个的映射了,需要定义一个实体参数对象(POJO)来映射请求参数。Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。例如UserInfo.class类package com.user;import lombok.Getter;import lombok...原创 2019-03-29 15:31:21 · 597 阅读 · 0 评论 -
Spring MVC @CookieValue注解
使用 @CookieValue 绑定请求中的 Cookie 值,@CookieValue 可让处理方法入参绑定某个 Cookie 值。例如:jsp页面<%-- Created by IntelliJ IDEA. User: 23369 Date: 2019/3/24 Time: 18:29 To change this template use File |...原创 2019-03-29 11:50:12 · 407 阅读 · 0 评论 -
Spring MVC @RequestParam注解
简介@RequestParam注解用于绑定请求参数值,在处理方法入参处使用@RequestParam注解可以把请求参数传递给请求方法。@RequestParam 的属性(1)value:请求参数名(必须配置)。(2)required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)。(3)defaultValue:默认值,如果设置了该...原创 2019-03-29 11:38:35 · 453 阅读 · 0 评论 -
SprinMVC HiddenHttpMethodFilter 过滤器
Rest简介REST:即 Representational State Transfer。(资源)表现层状态转化。是目前 最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便, 所以正得到越来越多网站的采用• 资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它 可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。 可以用一个UR...原创 2019-03-25 16:21:12 · 341 阅读 · 0 评论 -
Spring MVC @PathVariable注解
简介@PathVariable 映射 URL 绑定的占位符。带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC 向REST目标挺进发展过程中具有里程碑的意义。通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。...原创 2019-03-25 14:57:22 · 3401 阅读 · 0 评论 -
Spring MVC @RequestMapping注解
简介@RequestMapping注解是一个用来处理请求地址映射的注解,相当于Servlet中在web.xml中配置的映射作用一致,在控制器的类定义及方法定义处都可以标注。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。DispatcherServlet截获请求后,通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法。@RequestMap...原创 2019-03-25 11:51:28 · 369 阅读 · 0 评论 -
IDEA 新建Spring MVC项目、环境配置、Tomcat配置
环境:IDEA 2018 .3 .3 、JDK 11 、Tomcat 9.0.12、Spring 4.3.18新建项目1、新建项目,选择左上角的【File】——>【New】——>【Project】。2、选择左侧边栏的【Spring】,再勾选【Spring】、【Spring MVC】、【Web Application】,然后选择【Next】。3、设置项目名称以及项...原创 2019-03-24 10:05:52 · 7348 阅读 · 3 评论