Spring MVC
文章平均质量分 92
carl-zhao
I never grew up, but i never stop growing.
展开
-
Spring Webflux 后端处理前端请求的 4 种方式
Spring Webflux 是一个无响应系统。它具有某些特性,使其成为低延迟、高吞吐量工作负载的理想选择。Project Reactor 和 Spring 组合一起工作,使开发人员能够构建响应性、弹性、弹性和消息驱动的企业级反应系统。............原创 2022-07-31 18:40:26 · 2167 阅读 · 1 评论 -
Spring Webflux 构建响应式 Restful Web 服务
本指南将引导您完成创建“Hello, Spring!”使用Spring WebFlux的rest式web服务(Spring Boot 2.0的新版本),然后使用WebClient使用该服务(Spring Boot 2.0的新版本)。原创 2022-07-30 20:03:34 · 958 阅读 · 0 评论 -
Spring Boot 通过 Mvc 扩展方便进行货币单位转换
由于公司是支付平台,所以很多项目都涉及到金额,业务方转递过来的金额是单位是元,而我们数据库保存的金额单位是分。一般金额的流向有以下几个方向:- 外部业务方请求我们服务,传递过来的金额单位是元,需要把元转换成分。比如:下单接口。- 内部系统之间的流转,不管是向下传递还是向上传递系统间的流程都是分,不需要扭转。比如:调用支付引擎(向下传递),支付引擎回调收单业务(向上传递)。- 向业务方返回数据,这个时候需要把分转换成元。比如:商户调用查询订单接口。原创 2020-08-20 23:30:19 · 1204 阅读 · 3 评论 -
Apollo 通过 Spring Mvc DeferredResult 实现长轮询服务推送
最近在看 Apollo 配置中心的实现原理,``Apollo`` 的发布配置推送变更消息就是用 ``DeferredResult`` 实现的。``Apollo`` 客户端会循环的向服务端发送长轮训 ``Http`` 请求,超时时间 60 秒 。当超时后返回客户端一个 ``Http Status`` 为 ``304`` 状态码的时候表明配置没有变更,客户端继续这个步骤重复发起请求。当有发布配置的时候,服务端会调用 DeferredResult.setResult 返回 ``200`` 状态码,然后轮训原创 2020-07-04 11:03:13 · 1908 阅读 · 0 评论 -
Spring MVC restful 路径小数点问题
之前有个小伙伴问了我一个问题,就是在使用Spring MVC的时候。当使用www.xxx.com/abc/1.11这个路径。然后在Controller使用@PathVariable注解来接收这个值的时候得到的却是1,遇到这种情况如何解决。如果没有遇到过这种问题那么我们应该如何解决它呢?首先要解决这个问题我们先来看一下Spring MVC的原理图。原创 2017-05-13 13:36:20 · 4843 阅读 · 0 评论 -
sping mvc 分步式session
Session代表服务器与浏览器的一次会话过程,它的信息是保存在服务器端的。在Servlet中,session指的是HttpSession类的对象。服务器在创建session后,会把sessionid以cookie的形式回写给客户端。只要客户端的浏览器不关,每一次访问服务器都会带上这个sessionid。这样就可以在每次请求的时候获取到session的信息。原创 2017-04-04 10:35:10 · 866 阅读 · 1 评论 -
spring mvc ant path
任何一个WEB都需要解决URL与请求处理器之间的映射,Spring MVC也是一样,但Spring MVC就像Spring所作的一切一样(灵活,可以配置各种东西,但是也造成了很多复杂性),肯定不会只有一种方法来映射URL和 Controller之间的关系。并且在实际上,允许你自己创建映射规则和实现,而不仅仅依赖URL映射。原创 2017-04-02 01:20:38 · 726 阅读 · 0 评论 -
7、Spring MVC 之 处理异步请求
Spring MVC 3.2开始引入Servlet 3中的基于异步的处理request.往常是返回一个值,而现在是一个Controller方法可以返回一个java.util.concurrent.Callable对象和从Spring MVC的托管线程生产返回值.同时Servlet容器的主线程退出和释放,允许处理其他请求。翻译 2016-08-04 23:29:43 · 20767 阅读 · 0 评论 -
Spring Mvc Upload -- 0配置文件
之前使用Spring的时候都是基于xml的使用,工作之余就写了一个Spring MVC基于注解的上传文件方式的小demo.里面使用的都是Spring的注解来加载Spring bean。原创 2017-02-19 01:07:33 · 694 阅读 · 0 评论 -
2、DispatcherServlet in Spring MVC
Spring的web MVC框架,就像许多其他webMVC框架,request-driven,围绕一个中心分派请求的Servlet控制器设计,并提供其他功能,促进了web应用程序的开发。然而,Spring MVC中的的DispatcherServlet不仅仅是只包含那些.它完全集成Spring IoC容器,因此允许你使用Spring所包含的特性。翻译 2016-07-05 20:23:09 · 1323 阅读 · 2 评论 -
Spring MVC DataBinder
我们都知道Spring MVC在处理HTTP请求的时候的数据都是来自于HTTP请求。这不是废话吗,:)! 那么Spring MVC是如何把HTTP中的请求中的数据纳入到其中呢?我们都知道Spring MVC处理HTTP请求是通过DispatcherServlet来做为拦截请求的。DispatcherServlet是一个Java EE中的Servlet,可以从Servlet容器 获取到HTTP请求过来的报文原创 2016-11-27 22:37:14 · 6162 阅读 · 1 评论 -
Spring MVC 之 处理Date类型
在使用Spring MVC的项目中,我们经常需要遇到处理时间类型的字段。一般情况下大家可能都是通过String来接收这个对象,然后再把它转化成Date类型。如何能够优雅的处理这些时间类型的字段呢?下面我来分享一下我总结的一些方法。原创 2017-05-26 19:54:23 · 22737 阅读 · 3 评论 -
Spring COC TypeConverter
Spring的核心思想是IOC(Inversion of Control),DI其实就是IOC的另外一种说法。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。当一个对象需要使用其它对象时,通过Spring容器动态的向这个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。原创 2017-08-12 17:27:51 · 2265 阅读 · 0 评论 -
Spring MVC 与 Servlet
相信大家都能够在上网上看到Spring MVC的核心类其实就是DispatherServlet,也就是Spring MVC处理请求的核心分发器。其实核心分发器几乎是所有MVC框架设计中的核心概念,像在Struts2也有类似的分发器FilterDispatcher。只不过Spring MVC中的是一个Servlet,而Struts2里面的是一个Filter.原创 2017-08-05 19:13:52 · 10255 阅读 · 2 评论 -
Spring MVC 之 调用复用
如果大家看过Spring MVC的源代码都会知道.Spring MVC框架在Spring容器初始化的时候,通过@RequestMapping建立起请求路径与调用方法的映射(没有看过源码的同学应该也能够想明白)。原创 2017-08-08 22:19:41 · 2924 阅读 · 0 评论 -
Spring MVC Content Negotiation
在这篇文章中,我想讨论如何配置和使用Spring的内容协商,主要是使用HTTP消息转换器的RESTful控制器。在另一篇博文中,我将展示如何设置专门为使用内容协商使用Spring的ContentNegotiatingViewResolver视图。翻译 2017-11-15 00:21:21 · 6246 阅读 · 1 评论 -
Spring MVC 之 自定义List绑定
Spring MVC对于普通对象可以很容易的进行数据绑定,但是对于复杂对象比如说集合就支持得不太友好。对于普通对象Spring通过在请求参数里面参数名称与定义的接收对象的属性名称一致就可以进行数据绑定了。比如:定义的实体对象为:import lombok.Data;@Datapublic class User { private int id; privat原创 2018-01-05 13:36:35 · 2205 阅读 · 0 评论 -
Spring MVC 406
使用Spring MVC返回 JSON 数据有时候会在页面报出以下 406 错误。具体错误信息如下:最常见的问题就是缺少 Jackson 工具包,它的作用是把 Java 对象转换成 JSON 输入出页面。当然这是最常见的情况,下面我就来介绍一下项目中出现的问题。由于项目遗留原因,项目请求中 URI 都是以 .htm 结尾。之前都是使用 HttpServletResponse 操作原生 Se...原创 2018-04-04 01:34:45 · 2325 阅读 · 0 评论 -
spring import 占位符
一般情况下我们在Spring的配置文件中使用<import>标签是这样的,<import resource="other-beans.xml">。如原创 2018-08-01 00:18:59 · 1197 阅读 · 0 评论 -
Spring MVC 自定义类名称参数绑定
众所周知,spring mvc 在进行参数绑定的时候。前端请求的参数名称与后端定义的类名称是一一对应的。比如:请求参数有一个 name 值传到后端。后端只需要定义一个类,然后类里面声明一个 name 属性。在发送请求的时候 spring mvc 就会自动把 name 的值填充到这个定义的类里面。现在遇到一个问题就是比如前端定义一个 goods_name (商品名称),如果后端也声明一个 goods...原创 2019-09-11 12:44:54 · 1367 阅读 · 1 评论 -
1、Spring MVC 介绍
Spring web MVC框架是主要是围绕着DispatcherServlet这个类来设计的,DispatcherServlet用于分发请求给handlers(操作者),可配置的处理程序映射,页面解析,local(也就是i18n)与主题解析并且支持文件下载。默认的handler是基于@Controller与@RequestMapper注解,提供多种灵活的处理方法。翻译 2016-06-23 13:17:03 · 1245 阅读 · 0 评论 -
3、Spring MVC 之 一些特殊的Bean
在Spring MVC中DispatcherServlet使用特殊bean来处理请求并呈现适当的视图。这些bean是Spring MVC的一部分。你可以选择使用这些特殊bean通过简单配置一个或多个WebApplicationContext其中。这些bean对Spring MVC进行从request传到response返回,起到了至关重要的作用.翻译 2016-07-12 20:56:56 · 1777 阅读 · 0 评论 -
17、Spring MVC 之 COC support
对于很多项目,坚持既定的约定,并设置合理的默认值是他们(项目)所需要的东西。并且Spring WEB MVC已经明确的支持约定优于配置。这意味着如果你建立一组命名约定等,你可以充分的减少大多数配置。其中必要的设置包含handler mappings,view resolvers, ModelAndView实例等等。对于快速原型这是一个被视为很好的,提供一定程度的(总是好)一致性代码库。你应该选择把它推行到生产中。翻译 2016-11-06 17:27:31 · 1676 阅读 · 0 评论 -
16、Spring MVC 之 Web Security
Spring Security是一个单独的项目,它可以无缝的和Spring MVC集成。Spring Security提供会特性保护web应用来自恶意的攻击。原创 2016-11-05 23:46:34 · 1526 阅读 · 1 评论 -
15、Spring MVC 之 Handling exceptions
HandlerExceptionResolver是Spring MVC中的为web请求一个统一异常处理的一个接口。其中定义了方法ModelAndView resolveException()可以自定义Controller当中出现的异常。返回值类型是ModelAndView,可以通过这个返回值来设置异常时显示的页面。翻译 2016-11-05 17:13:05 · 2129 阅读 · 0 评论 -
9、Spring MVC 之 Resolving views
所有的MVC框架都会为web应用提供一个方法去访问view。Spring提供了页面解析,这个能够使你不需要使用特定的view技术在浏览器中渲染你的model.Spring默认提供了让你能够使用JSP,Velocity模板和XSLT页面技术.在Spring中ViewResolver和View这两个接口非常重要,他们是用来处理页面的.ViewResolver提供了一个页面名称与真实页面的映射。翻译 2016-09-27 20:56:04 · 895 阅读 · 0 评论 -
Spring MVC @RequestMapping
要想了解决Spring MVC是怎么把@RequestMapping注解了的方法以及类解析的,首先我们需要关注AbstractHandlerMethodMapping#afterPropertiesSet这个方法,而这个方法是Spring的init方法,是Spring在进行初始化bean之前在DI注入之后调用到的方法。原创 2016-07-14 19:54:12 · 2656 阅读 · 1 评论 -
Spring MVC DispatcherServlet
根据web.xml配置我们知道.DispatcherServlet这个类是Spring MVC的关键类。Spring的方法命名很有趣,在Spring进行DI注入的时候,也就是当Application调用getBean方法的时候。getBean方法调用的是doGetBean.而Spring MVC在处理request对象的时候调用的是doService方法。原创 2016-07-15 18:09:20 · 4228 阅读 · 1 评论 -
SpringMVC Custom ArgumentResolver
我想大家做微信开发都涉及到微信授权这个问题。那么对于项目中需要授权的URL大家都是怎么设计开发的呢?我想大家一般都有2个方案。一种是用Servlet中的Filter,还有一种就是Spring MVC中的HandlerInterceptor。当需要获取微信中的用户信息时,我们可以在Cookie中添加相关的code然后使用拦截器机制对面URL进行授权。原创 2016-09-24 14:34:47 · 1605 阅读 · 0 评论 -
8、Spring MVC 之 Handler mappings
在Spring之前的版本中,用户必须定义一个或者多个HandlerMapping bean在web应用容器中用来映射web请求到合适的handlers。自从引进了注解控制器,你通常不再需要这样做了.因为standardAsyncRequestConstructor会自动寻找所有标注了@Controller中标记了@RequestMapping.翻译 2016-08-19 00:05:12 · 1485 阅读 · 0 评论 -
18、Spring MVC 之 HTTP caching support
一个好的HTTP缓存策略可以显著的提高一个web应用的性能以及客户体验。HTTP响应头'Cache-Control',条件头'Last-Modified'以及'ETag'通常负责这个.翻译 2016-11-07 20:49:52 · 2953 阅读 · 0 评论 -
19、Spring MVC 之 Container Config
在Servlet 3.0+的环境里,你可以选择以编程的方式配置Servlet容器或者结合web.xml文件。下面是是一个注册DispatcherServlet的例子:翻译 2016-11-09 00:21:47 · 1334 阅读 · 0 评论 -
13、Spring MVC 之 Using themes
themes概述你可以使用Spring Web MVC框架的整体外观主题设定你的应用程序,从而提高用户体验。一个theme是静态资源的集合,通常样式表和图片,影响应用程序的视觉风格。翻译 2016-10-24 20:19:35 · 1610 阅读 · 0 评论 -
14、Spring MVC 之 multipart (file upload) support
Spring在web应用程序的内置支持处理multipart文件上传.你可以使用定义在org.springframework.web.multipart包里面的MultipartResolver对象可插拔的支持处理multipart文件上传。Spring提供了一个是基于Commons FileUpload的MultipartResolver实现使用,另一个是基于Servlet 3.0的multipart语法解析。翻译 2016-11-02 00:36:25 · 3277 阅读 · 1 评论 -
20、Spring MVC 之 Configuring
在之前的Blog – Spring MVC 之 一些特殊的Bean中的”WebApplicationContext中一些特殊的Bean”和”默认的DispatcherServlet配置”中已经解释了Spring MVC中的一些特殊的Bean以及DispatcherServlet中的使用的一些默认实现。在这个部分中你将学到配置Spring MVC的2种额外的方法。也就是MVC Java配置和MVC X翻译 2016-11-13 15:52:35 · 1271 阅读 · 0 评论 -
4、Spring MVC 之 实现Controller
控制器提供的应用程序行为通常通过服务接口定义.Controller翻译用户的输入并将其转换为一个模型,用于提供给用户视图。Spring用一种非常抽象的方式实现控制器,它使您能够创建一个多样化的控制器。翻译 2016-07-13 23:38:09 · 7671 阅读 · 0 评论 -
5、Spring MVC 之 URI
URI模板可以用于方便访问方法上标注了@RequestMapping中的URL中指定的元素.URI模板就像一个URI的String,包含一个或多个变量名.替换掉这些变量的值时,URI模板就变成了一个URI。翻译 2016-07-21 00:42:48 · 4282 阅读 · 0 评论 -
6、Spring MVC 之 定义@RequestMapping处理方法
本篇文章主要是讲Spring MVC的Controller支持的方法参数以及返回值.还有就是Spring MVC中的注解使用包含@RequestBody,@ResponseBody, @ModelAttribute等等,以及方法参数的类型转换,自定义数据绑定,Spring MVC对Jackson序列化页面的支持,Jackson JSONP Support.翻译 2016-07-29 23:53:29 · 6869 阅读 · 0 评论 -
12、Spring MVC 之 Using locales
Spring MVC的架构是支持i18n的。DispatcherServlet让你能够使用客户端的locale自动解析message.主要是通过LocalResolver这个对象办到的。翻译 2016-10-20 01:43:49 · 989 阅读 · 0 评论 -
10、Spring MVC 之 Flash attributes
Flash attributes提供一种方式给一个request储存attributes用来给另一个请求使用。这是最常见的重定向时所需要的–例如,Post/Redirect/Get模式。在重定向之前Flash attributes被临时保存(典型是保存在session中)使得它能够在重定向之后对于request可以获取然后立刻被移除。Spring MVC有2个抽象用来支持flash attribut翻译 2016-09-28 22:20:27 · 893 阅读 · 0 评论