
SpringMVC
零度anngle
情商不是八面玲珑的圆滑,而是德行具足后的虚心、包容和自信;成熟不是单纯到复杂的世故,而是复杂回归简单的超然;觉悟不是对世事的无所谓,而是对无能为力之事的坦然接受;成功不是追求别人眼中的最好,而是把自己能做的事情做得最好。热爱生活,热爱编程,热爱Java,喜欢探索,纸上得来终觉浅,绝知此事要躬行,愿与你一起在技术的海洋中成长!
博客:http://blog.csdn.net/zmx729618
展开
-
SpringMVC与前/后台的json数据交互
json数据格式在接口调用中、html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍。在SpringMVC中,也支持对json数据的解析和转换,这篇文章主要总结一下在SpringMVC中如何和前台交互json数据。两种交互形式SpringMVC和前台交互主要有两种形式,如下图所示: 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在转载 2017-12-12 09:53:56 · 16088 阅读 · 9 评论 -
SpringMVC源码总结(四)由StringHttpMessageConverter引出的客户端服务器端之间的乱码过程分析
继续上一篇文章遗留的乱码问题,引出从客户端数据到服务器端的乱码和服务器端数据到客户端的乱码。 先说明下配置: web.xml,还是最简单的配置 Java代码 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3转载 2017-02-24 15:25:38 · 1519 阅读 · 0 评论 -
SpringMVC深度探险-SpringMVC概览
本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1330596。 对于任何事物的研究,总是由表及里、由浅入深地进行。在本系列的第二篇文章中,我们将通过不同的观察视角,对SpringMVC做一些概要性的分析,帮助大家了解SpringMVC的基本构成要素、SpringMVC的发展历程以及SpringMVC的设转载 2017-02-23 09:53:52 · 1201 阅读 · 0 评论 -
SpringMVC深度探险-DispatcherServlet与初始化主线
在上一篇文章中,我们给出了构成SpringMVC应用程序的三要素以及三要素的设计过程。让我们来归纳一下整个设计过程中的一些要点: SpringMVC将Http处理流程抽象为一个又一个处理单元SpringMVC定义了一系列组件(接口)与所有的处理单元对应起来SpringMVC由DispatcherServlet贯穿始终,并将所有的组件串联起来在整个过程中,组件和DispatcherS转载 2017-02-20 11:37:22 · 1036 阅读 · 0 评论 -
SpringMVC之文件上传(进度条显示)
1、实现org.apache.commons.fileupload.ProgressListener接口import javax.servlet.http.HttpSession;import org.apache.commons.fileupload.ProgressListener;import org.springframework.stereotype.Component;i转载 2016-06-02 12:48:28 · 7515 阅读 · 1 评论 -
SpringMVC-redirect重定向传值
spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。 首先先来介绍一下不带参数的重定向: 我在后台一个controller跳转到另一个controller,为什么有这种需求呢,是这样的。我有一个列表页面,然后我会进行新增操作,新增在后台完成之后我要跳转到列表页面,不转载 2017-01-11 10:25:22 · 13225 阅读 · 1 评论 -
SpringMVC控制台打印异常及异常处理
在程序开发中,如果程序发生异常,而控制台没有打印,那将是很麻烦的事情。使用SpringMvc的时候一般会在springmvc.xml中进行如下配置来处理异常[html] view plain copy print?bean class="org.springframework.web.servlet.handler.SimpleMappingExcept转载 2017-01-10 14:29:48 · 5117 阅读 · 0 评论 -
Springmvc 4.1新特性-jsonp支持
1、模型Java代码 public class User implements Serializable { public static interface OnlyIdView {} public static interface OnlyNameView {} public static interface AllView原创 2017-01-10 13:45:51 · 838 阅读 · 1 评论 -
spring mvc 异常统一处理方式
springMVC提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,另一种是使用注解的方式实现一个专门用于处理异常的Controller——ExceptionHandler。 1、实现自己的HandlerExceptionResolver,HandlerExceptionResolver是一个接口,springMVC本身已经对其有了一个自身转载 2017-01-10 10:16:28 · 2517 阅读 · 0 评论 -
springMVC对简单对象、Set、List、Map的数据绑定和常见问题
1、相关的类:查看spring源码可以看出spring支持转换的数据类型:org.springframework.beans.PropertyEditorRegistrySupport: private void createDefaultEditors() { this.defaultEditors = new HashMap(64);转载 2017-01-06 14:24:49 · 1613 阅读 · 0 评论 -
SpringMVC源码剖析-消息转换器HttpMessageConverter
概述在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制,就是Spring3.x中新引入的HttpMessageConverter即消息转换器机制。Http请求的抽象还是回到请求-响应,也就是解析请求体,然后返回响应报文这个最基本的Http请求过程中来。我们知道,在se转载 2017-01-06 13:58:22 · 429 阅读 · 0 评论 -
SpringMVC之自定义类型转换WebBindingInitializer@initBinder
类型转换器常用于转换double、float、date等类型,SpringMVC在支持自身的转换器框架的同时也支持JavaBean的PropertyEditor,可以通过在控制器中使用@@initBinder 添加自定义的编辑器,也可以通过WebBindingInitializer装配全局的类型编辑器。下面介绍如何使用自定义的类型编辑器 功能说明: 当表单提交原创 2017-01-06 10:22:10 · 8968 阅读 · 0 评论 -
SpringMVC源码总结(六)mvc:annotation-driven中的HandlerMethodReturnValueHandler
HandlerMethodReturnValueHandler是RequestMappingHandlerAdapter用来处理当含有@RequestMapping的方法调度完成后,后面要进行的事情。 首先是HandlerMethodReturnValueHandler的自定义注册: mvc:annotation-driven配置如下: Java代码转载 2017-02-24 17:02:43 · 752 阅读 · 0 评论 -
SpringMVC源码总结(十一)mvc:interceptors拦截器介绍
本文章针对mvc:interceptors标签进行介绍,它的注册过程以及在访问时的拦截过程。 首先说下接口HandlerInterceptor,它有如下三个方法: Java代码 boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)转载 2017-02-27 10:59:46 · 818 阅读 · 1 评论 -
SpringMVC源码总结(十二)ViewResolver介绍
首先我们先看看ModelAndView中重要的View接口。 View接口: Java代码 String getContentType(); /** * Render the view given the specified model. * The first step will be preparing the转载 2017-02-27 12:41:01 · 402 阅读 · 0 评论 -
基于SpringMVC的RESTful HTTP API实践
http://alexpdh.com/2017/06/26/springMVC-restful-api/理解 RESTREST(Representational State Transfer),中文翻译叫“表述性状态转移”。是 Roy Thomas Fielding 在他2000年的博士论文中提出的。它与传统的 SOAP Web 服务区别在于,REST关注的是要处理的数转载 2017-10-17 11:05:22 · 550 阅读 · 0 评论 -
使用idea搭建SSM框架
环境: idea 2017.1 jdk1.8 Maven 3.3.9步骤: 一、新建Maven webapp项目 点击Finish,第一次搭建可能会很慢,甚至可能需要VPN才能搭建成功二、项目目录结构 我这里列出的是搭建完了之后所有的目录和文件,诸位先把目录文件建起来,然后我在给出文件内容 这里的目录建好之转载 2017-11-02 10:43:11 · 1145 阅读 · 1 评论 -
SpringMVC自定义拦截器(资源和权限管理)
1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。 DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理。 所以我们现在w转载 2017-11-08 14:28:31 · 5457 阅读 · 0 评论 -
spring和springMVC父子容器的原理
要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC转载 2017-06-07 09:17:55 · 659 阅读 · 3 评论 -
使用RestTemplate访问restful服务
一. 什么是RestTemplate传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient。不过此种方法使用起来太过繁琐。spring提供了一种简单便捷的模板类来进行操作,这就是RestTemplate。二.一个简单的例子。定义一个简单的restful接口@RestControllerpublic class TestContro转载 2017-06-06 11:23:22 · 3401 阅读 · 2 评论 -
Spring提供RestTemplate用于访问Rest服务的客户端实践
什么是RestTemplate? RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,可以通过使用ClientHttpRequestFac转载 2017-06-06 09:22:43 · 7616 阅读 · 0 评论 -
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,转载 2017-05-24 17:51:06 · 439 阅读 · 0 评论 -
Spring Validation Example – Spring MVC Form Validator
When we accept user inputs in any web application, it become necessary to validate them. We can validate the user input at client side using JavaScript but it’s also necessary to validate them at serv转载 2017-04-06 10:42:30 · 1329 阅读 · 0 评论 -
Spring-MVC开发之全局异常捕获全面解读
异常,我们一定要捕获一切该死的异常,宁可错杀一千也不能放过一个!产品上线后的异常更要命,一定要屏蔽错误内容,以免暴露敏感信息! 在用Spring MVC开发WEB应用时捕获全局异常的方法基本有两种: 1、WEB.XML,就是指定error-code和page到指定地址,这也是最传统和常见的做法。 2、用SpringMVC的全转载 2017-03-20 10:23:28 · 7004 阅读 · 0 评论 -
Spring MVC 参数转换(CustomEditorConfigurer)和类型转换器(ConversionServiceFactoryBean)
问题:现在这样一种需求, 有一个bean它的属性是java.util.Date类型,我们要在spring的xml配置初始化它,怎么做呢解决方案:可以说spring的属性编辑器和类型转换器都是做类型转换的,但属性编辑器多为string转其它类型,方法1:添加属性编辑器:Servlet中的输入参数为都是string类型,而spring mvc通过转载 2017-02-27 15:06:48 · 1294 阅读 · 0 评论 -
SpringMVC之ContentNegotiatingViewResolver实现根据请求资源名选择视图
使用ContentNegotiatingViewResolver,这个视图解析器允许你用同样的内容数据来呈现不同的view。它支持如下面描述的三种方式:1)使用扩展名http://localhost:8080/employees/nego/Jack.xml 返回结果为XMLhttp://localhost:8080/employees/nego/Jack.json 返回结果为JS原创 2017-02-27 14:31:11 · 593 阅读 · 0 评论 -
spring mvc异常统一处理(使用ControllerAdvice注解)
1、配置spring 版本:[html] view plain copy print?org.springframework-version>4.1.9.RELEASEorg.springframework-version> 4.1.9.RELEASEspring-servlet.xml,注意必须开启注解,即xml要有[html转载 2017-01-04 11:59:30 · 4243 阅读 · 0 评论 -
SpringMVC 4.1使用ResponseBodyAdvice支持jsonp
ResponseBodyAdvice是一个接口,接口描述,[java] view plain copy print?package org.springframework.web.servlet.mvc.method.annotation; /** * Allows customizing the response after the executi转载 2017-01-04 11:57:06 · 12085 阅读 · 0 评论 -
使用Spring MVC的@ControllerAdvice注解做Json的异常处理
一,本文介绍Spring MVC的自定义异常处理,即在Controller中抛出自定义的异常时,客户端收到更友好的JSON格式的提示。而不是常见的报错页面。二,场景描述:实现公用API,验证API key的逻辑,放在拦截器中判断(等同于在Controller中)并抛出异常,用户收到类似下图的提示:其中,Http状态Code也能自由控制。三,解决方案:1,在RateLimit转载 2017-01-04 11:00:39 · 1362 阅读 · 0 评论 -
SpringMVC之后台接收参数与前台传递数据
1、接收请求参数 1. 使用HttpServletRequest获取Java代码 @RequestMapping("/login.do") public String login(HttpServletRequest request){ String name = request.getParameter("name"转载 2016-06-01 10:53:17 · 32505 阅读 · 2 评论 -
SpringMVC之原理浅析
SpringMVC主要包括以下要点: 1:由DispatcherServlet控制的整个流程; 2:注解驱动的控制器,其中包括请求映射、数据的绑定和格式化; 3:文件上传; 4:一些杂项,如静态资源处理、异常处理等等。 这些东西构成了精致的Spring MVC框架,下面针对这些要点做详细讨论。 1. Spri原创 2016-06-01 10:19:00 · 4489 阅读 · 0 评论 -
SpringMVC之ContentNegotiatingViewResolver解析器之实例分析
RESTful服务中很重要的一个特性即是同一资源,多种表述我们使用ContentNegotiatingViewResolver就可以做到,这个视图解析器允许你用同样的内容数据来呈现不同的view。 如下面描述的三种方式: 方式1: 使用扩展名http://www.test.com/user.xml 呈现xml文件http://www.test.com/user.json转载 2016-05-31 17:44:28 · 3177 阅读 · 0 评论 -
SpringMVC之绑定参数的类型转换(Date/Double)
一、使用注解式控制器注册PropertyEditor(针对具体的controller类处理) 1、使用WebDataBinder进行控制器级别的注册PropertyEditor(控制器独享)Java代码 @InitBinder // 此处的参数也可以是ServletRequestDataBinder类型 public void ini原创 2016-05-31 10:05:18 · 6928 阅读 · 1 评论 -
SpringMVC之异常统一处理
SpringMVC 提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,另一种是使用注解的方式实现一个专门用于处理异常的Controller——ExceptionHandler。前者当发生异常时,页面会跳到指定的错误页面,后者同样,只是后者会在每个controller中都需要加入重复的代码。如何进行简单地统一配置异常,使得发生普通错误指定到固定的页面转载 2016-05-30 16:35:55 · 3582 阅读 · 0 评论 -
SpringMVC配置返回pdf/json/xml等不同的视图
spring mvc通过使用org.springframework.web.servlet.view.ContentNegotiatingViewResolver,就可以根据不同的场景返回不同的view了,比如返回json,xml,pdf等不同视图。代码实现如下: 先是一个简单的pojo Java代码 package com.hmkcode.vo;转载 2016-05-31 17:12:22 · 2863 阅读 · 0 评论 -
SpringMVC之数据参数绑定
引言: 使用@RequestMapping进行地址映射,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用;简介:handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型)A、处理requet uri 部分(这里指uri template中转载 2016-05-31 16:54:19 · 2442 阅读 · 0 评论 -
SpringMVC中的ContentNegotiatingViewResolver配置
RESTful服务中很重要的一个特性即是同一资源,多种表述.如 get put post delete head方式提交的请求,或者根据accept,参数,后缀等方式。get、put、post、delete、head等方式不介绍。 Accept方式: chrome: Accept:application/xml,application/转载 2016-05-31 16:31:07 · 6999 阅读 · 0 评论 -
SpringMVC之Restful
Spring MVC本身对Restful支持非常好。它的@RequestMapping、@RequestParam、@PathVariable、@ResponseBody注解很好的支持了REST。1. @RequestMapping @RequestMapping 方法注解指定一个请求的URI映射地址. 类似于struts的action-mapping,同时可以指定POST或者GET请求类翻译 2016-05-31 15:57:41 · 3967 阅读 · 1 评论 -
SpringMVC之ContentNegotiatingViewResolver详解
诞生自 3.0 的 ContentNegotiatingViewResolver 从字义不太容易知道在做什么或怎么用,那就从 Source code 好好来研究一下。每个 ViewResolver 的重点就是 resolveViewName()。public View resolveViewName(String viewName, Locale locale) throws Ex转载 2016-05-31 14:28:23 · 10568 阅读 · 2 评论 -
SpringMVC中@RequestBody的应用
一个比较复杂的数据结构在前台组合起来后传递到后台,之前所有的前后台转换都是自己写的,比如js将json转为字符串的方法,后台接收json转成实体的方法。使用SpringMVC之后,可以使用@RequestBody注释接受参数,具体使用如下: 首先,@RequestBody需要接的参数是一个String化的json,这里直接使用JSON.stringify(json)这个方法来转原创 2016-05-30 13:58:23 · 8490 阅读 · 0 评论