spring mvc 自定义转换器】的更多相关文章

<!-- 注册转化器 --> <mvc:annotation-driven conversion-service="conversionService" /> <!-- 自定义转换器 --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> &l…
新建一个自定义转换器 import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; import com.atguigu.springmvc.crud.entities.Department; import com.atguigu.springmvc.crud.entities.Employee; @Component public cla…
起始知识: Java标准的PropertyEditor的核心功能是将一个字符串转换为一个Java对象,以便根据界面的输入或配置文件中的配置字符串构造出一个JVM内部的java对象. 如何注册自定义的属性编辑器: 1.实现PropertyEditor接口或者继承PropertyEditorSupport类 2.在Spring上下文中声明一个org.springframework.beans.factory.config.CustomEditorConfigurer的bean <!--将bean1中…
1.前言 对于Long 类型的数据,如果我们在Controller层通过@ResponseBody将返回数据自动转换成json时,不做任何处理,而直接传给前端的话,在Long长度大于17位时会出现精度丢失的问题. 至于为啥丢失,我们在此处不探讨. 如图所示:后端返回数据如下: 而前端接收的数据时就丢失了精度 2.简单分析 首先,我们分析一下@ResponseBody是怎样将一个普通的对象转换成Json对象返回. @responseBody注解的作用是将controller的方法返回的对象通过适当…
在使用SimpleMappingExceptionResolver实现统一异常处理后(参考Spring MVC的异常统一处理方法), 发现出现异常时,log4j无法在控制台输出错误日志.因此需要自定义一个继承至SimpleMappingExceptionResolver的 RrtongMappingExceptionResolver类,在RrtongMappingExceptionResolver中通过 log.error(ex.getMessage())的方式输出日志到控制台上.以下是具体的配…
上次大概写了个可以解决velocity 多视图的东西. 但是实际运用过程中又到处找了些资料看了下.这里 小计下: DispatcherServlet解析过程: ..1..HandlerMapping.getPageHandle public class SpringMvcExtendHandlerMapping extends WebApplicationObjectSupportimplements HandlerMapping, Ordered{ ..2..HandlerMapping.ge…
在MVC中我们可以很轻松的根据项目需求进行必要的信息转换,如设置默认的日期格式,自定义String类型的格式等等... 配置中我们需要自定义converseService: <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"…
类型转换器引入 为什么页面上输入"12",可以赋值给Handler方法对应的参数?这是因为框架内部帮我们做了类型转换的工作.将String转换成int 但默认类型转换器并不是可以将用户提交的String,转换为用户需要的所有类型.此时 ,就需要自定义类型转换器了 案例:自定义日期类型转换器 要求日期格式为:yyyy/MM/dd ---单日期(在Controller定义了一个方法,主要是对参数有要求) MyCOntroller.java package cn.controller; im…
1,定义注解名称接口 /** * 使用该注解不用再MD5转换了 * * @author adonis * */ @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Password { String value() default "password"; } 2,实现HandlerMethodArgumentResolver 接口 public…
代码 HTTP状态码干货:http://tool.oschina.net/commons?type=5 import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.an…
作用:在访问controller的方法时,判断用户是否是登陆状态. step1:定义注解 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ ElementType.TYPE, ElementType.METH…
处理静态资源的handler和处理Controller请求中的handler不同,对应的Interceptor也不同 查找对应handler是在DispatcherServlet中 因此一些自定义的Interceptor,默认不会对静态资源进行拦截…
实现View import org.springframework.stereotype.Component; import org.springframework.web.servlet.View; @Component public class HelloView implements View{ @Override public String getContentType() { return "text/html"; } @Override public void render…
@InitBinder   在controller中注册一个customer protperty editor以解析request中的参数并通过date bind机制与handler method中的参数做绑定. @InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.se…
在web.xml中添加: <error-page(其他属性404...省略咯)> <location>/error</location> </error-page> web.xml 添加控制器: @Controller public class ErrorController { @RequestMapping(path = "/error", produces = MediaType.APPLICATION_JSON_VALUE) pu…
最近在做.net转译成Java.其中遇到一个很蛋疼的问题.以前.net属性名都是首字母大写.造成返回给客户端的JSON字符串属性名称都是首字母大写.为了和前端对接我们以前都是如下图所示做法 public class User { @JSONField(name = "Name") private String name; @JSONField(name = "Age") private BigDecimal age; @JSONField(name = "…
2,spring MVC的注解驱动控制器,rest风格的支持 作为spring mvc的明星级别的功能,无疑是使得自己的code比较优雅的秘密武器: @RequestMapping处理用户的请求,下面对它的参数给点简单的说明,每个参数可以同时使用,他们之间是与的关系 参数名 意义 补充说明 value url的全称 支持ant风格和占位符(入参中使用@PathVariable取得占位符的数据),实现REST风格的关键 param 请求参数 限定参数名称 method 请求方法 最佳实践是get方…
Spring MVC 1.Spring MVC概述 Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet负责截获请求并将其分配给响应的处理器处理.Spring MVC框架包括注解驱动控制器.请求及响应的信息处理.视图解析.本地化解析.上传文件解析.异常处理以及表单标签绑定等内容. 2.注解驱动的控制器 2.1.使用@RequestMapping映射请求 通过请求URL进行映射 @RequestMapping("/user/register…
请求参数绑定 当用户发送请求时,根据Spring MVC的请求处理流程,前端控制器会请求处理器映射器返回一个处理器,然后请求处理器适配器之心相应的处理器,此时处理器映射器会调用Spring Mvc 提供的参数绑定组件将请求的key/value 数据绑定到Controller处理器方法对应的形参上.Spring MVC使用Converter转换器可以进行各种类型的转换,也可自定义Converter转换器,Spring MVC默认转换器支持的类型有HttpServletRequest.HttpSer…
Spring MVC教程--检视阅读 参考 Spring MVC教程--一点--蓝本 Spring MVC教程--c语言中午网--3.0版本太老了 Spring MVC教程--易百--4.0版本不是通过maven创建的 Spring MVC教程--javaschool纯理论 Spring MVC应用--javaschool纯理论 Spring MVC学习总结 Spring MVC 4.2.4.RELEASE 中文文档--基础学习后看 SpringMVC面试题 目前大多数使用的是spring4.x…
如果遇到了Spring MVC报错400,而且没有返回任何信息的情况下该如何排查问题? 问题描述 一直都没毛病的接口,今天测试的时候突然报错400 Bad Request,而且Response没有返回任何信息. 解决方案 尝试了一下午,终于找到了排查这类问题的办法. 我们知道,在Spring MVC里面, org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler 负责所有异常的统一处理…
方法一: 实现spring mvc 自带的 Formatter 接口 1.创建一个类来实现Formatter接口 import org.springframework.format.Formatter; import java.text.ParseException; import java.util.Locale; public class MyFormatter implements Formatter<CardId> { @Override public String print(Car…
WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查询到数据,然后在jsp页面上格式化,最后展示给用户.但是这次不同,这次我纯属操作数据,没有页面.直接从数据库拿数据给它们返数据.它们给我传数据我持久化数据,说到这里一个小问题就默默的来了. 首先把问题还原一下吧(这是一个数据导出功能),下图中用红框圈起来的都是直接从数据库中拿到的数据,但是不幸的是它…
Spring 定义了 3 种类型的转换器接口,实现任意一个转换器接口都可以作为自定义转换器注册到 ConversionServiceFactoryBean 中: Converter<S,T>:将 S 类型对象转为 T 类型对象: ConverterFactory:将相同系列多个 “同质” Converter 封装在一起.如果希望将一种类型的对象转换为另一种类型及其子类的对象(例如将 String 转换为 Number 及 Number 子类(Integer.Long.Double 等)对象)可…
每篇一句 一个事实是:对于大多数技术,了解只需要一天,简单搞起来只需要一周.入门可能只需要一个月 前言 通过 前面两篇文章 的介绍,相信你对HandlerMethodArgumentResolver了解已经很深刻了.但是你或许和我一样还有一种感觉,似乎还缺点什么: 我们使用非常频繁的@RequestBody是怎么封装请求体的呢???这块使用非常广泛的地方却还木有讲解到,因为它的处理方式和前面的不太一样,因此单摘出来到本文进行详细描述. 第四类:基于ContentType消息转换器类型 利用Htt…
0.准备 Spring Boot 不仅提供了相当简单使用的自动配置功能,而且开放了非常自由灵活的配置类.Spring MVC 为我们提供了 WebMvcConfigurationSupport 类和一个注解 @EnableWebMvc 以帮助我们减少配置 Bean 的声明.本文简单说明如何自定义 Web MVC 配置. 首先需要使用 @Configuration 将 WebMvcConfig 类标注为 Spring 配置类,示例代码如下: @Configuration public class…
首先还在我们的框架的基础上建立文件 在domian下建立Account实体类 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping(value = "/account") public class Account { private String usernam…
<mvc:annotation-driven/> 这个便签会注册2个自定义拦截器,所以导致请求过来就会自己去走注册的这2个拦截器和定义的一堆bean 但是这个便签是必须得定义的 直接贴代码吧 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context=&qu…
 spring mvc的拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式, 第…
Spring MVC 项目搭建 -6- spring security使用自定义Filter实现验证扩展url验证,使用数据库进行配置 实现的主要流程 1.创建一个Filter 继承 AbstractSecurityInterceptor FilterSecurityInterceptor extends AbstractSecurityInterceptor 是过滤链中最后一个Filter 使用SecurityContext 和 Authentication 对象,来进行辨别用户的 Grant…