这里使用Maven项目管理工具构建项目初始化项目打开IntellijIDEA,点击CreateNewProject选择Maven构建项目选择JDK版本选择maven-archetype-webapp模板(JavaWeb项目)填写项目在Maven仓库中的坐标(在Maven仓库中根据这个坐标才能找到该项目)选择Maven路径选择Maven配置文件路径选择Maven本地仓库路径填写项目名选择工作目录创建目录在src>main目录下分别新建java源码目录和reso...
继续阅读 >
分类:MVC
2020
12-10
12-10
Spring Boot 通过 Mvc 扩展方便进行货币单位转换的代码详解
由于公司是支付平台,所以很多项目都涉及到金额,业务方转递过来的金额是单位是元,而我们数据库保存的金额单位是分。一般金额的流向有以下几个方向:外部业务方请求我们服务,传递过来的金额单位是元,需要把元转换成分。比如:下单接口。内部系统之间的流转,不管是向下传递还是向上传递系统间的流程都是分,不需要扭转。比如:调用支付引擎(向下传递),支付引擎回调收单业务(向上传递)。向业务方返回数据,这个时候需要把...
继续阅读 >
2020
12-02
12-02
如何在Asp.Net Core MVC中处理null值的实现
译文链接:https://www.infoworld.com/article/3434624/how-to-handle-null-values-in-aspnet-core-mvc.html传统的asp.netmvc对应着.netcore中的asp.netcoremvc,可以利用asp.netcoremvc去构建跨平台,可扩展,高性能的web应用和api接口。程序员都有一些洁癖,很多时候我们都想很完美的包装一些错误信息,如一些返回空response的request请求,或者一些action中返回nullvalue的情况,通常这些情况下,asp.netco...
继续阅读 >
2020
11-19
11-19
基于Mock测试Spring MVC接口过程解析
1.前言在Java开发中接触的开发者大多数不太注重对接口的测试,结果在联调对接中出现各种问题。也有的使用Postman等工具进行测试,虽然在使用上没有什么问题,如果接口增加了权限测试起来就比较恶心了。所以建议在单元测试中测试接口,保证在交付前先自测接口的健壮性。今天就来分享一下胖哥在开发中是如何对SpringMVC接口进行测试的。在开始前请务必确认添加了SpringBootTest相关的组件,在最新的版本中应该包含以下依赖:<dep...
继续阅读 >
2020
11-19
11-19
Springboot自定义mvc组件如何实现
如果你想实现一些定制化功能,只需要写这个组件,然后将它交给springboot管理,springboot会给我们自动装配以下是spring官方文档解释由官方文档可知,想要自定义组件,需要实现以下步骤写一个配置类,加上@Configuration注解实现WebMvcConfigurer接口不添加@EnableWebMvc注解示例:自定义视图解析器packagecom.yl.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotatio...
继续阅读 >
2020
10-13
10-13
如何测试Spring MVC应用
Spring的依赖注入使得我们的代码非常容易进行单元测试——@Controller,@Service,@Entity等注解标注的类基本都是POJO(plainoldJavaobject),也就是说很少依赖于Spring容器本身的API。我们可以非常容易地使用JUnit或TestNG编写测试代码。另一方面,对于三层架构的SpringWeb应用(Controller,Service,DAO),使用Mock活Stub方法也能够更好的来测试我们的代码逻辑。例如Service层代码的单元测试中,依赖的DAO(或Repository)对...
继续阅读 >
2020
10-10
10-10
Spring mvc服务端数据校验实现流程详解
B/S系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的,实际上,几乎所有的系统,凡是涉及到数据校验,都需要在服务端进行二次校验。为什么要在服务端进行二次校验呢?这需要理解客户端校验和服务端校验各自的目的。客户端校验,我们主要是为了提高用户体验,例如用户输入一个邮箱地址,要校验这个邮箱地址是否合法,没有必要发送到服务端...
继续阅读 >
2020
10-10
10-10
Spring mvc Json处理实现流程代码实例
接收JSON浏览器传来的参数,可以是key/value形式的,也可以是一个JSON字符串。在Jsp/Servlet中,我们接收key/value形式的参数,一般是通过getParameter方法。如果客户端商户传的是JSON数据,我们可以通过如下格式进行解析:@RequestMapping("/addbook2")@ResponseBodypublicvoidaddBook2(HttpServletRequestreq)throwsIOException{ObjectMapperom=newObjectMapper();Bookbook=om.readValue(req.getIn...
继续阅读 >
2020
10-10
10-10
如何使用新方式编写Spring MVC接口
1.前言通常我们编写SpringMVC接口的范式是这样的:@RestController@RequestMapping("/v1/userinfo")publicclassUserInfoController{@GetMapping("/foo")publicStringfoo(){return"felord.cn";}}这种我都写吐了,今天换个口味,使用Spring5新引入的函数式端点(FunctionalEndpoints)来耍耍。这种方式同样支持SpringWebflux。请注意可使用该特性的Spring版本不低于Spring5.22.依赖为了演示,这里极...
继续阅读 >
2020
10-08
10-08
Spring MVC 拦截器 interceptor 用法详解
SpringMVC-拦截器今天就是把有关拦截器的知识做一个总结。1.拦截器概述1.1什么是拦截器?SpringMVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。要使用SpringMVC中的拦截器,就需要对拦截器类进行定义和配置。通常拦截器类可以通过两种方式来定义。1.通过实现HandlerInterceptor接口,或继...
继续阅读 >
2020
10-08
10-08
Spring MVC数据绑定概述及原理详解
数据绑定概述在执行程序时,SpringMVC根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据与后台方法参数建立连接的过程就是SpringMVC中的数据绑定。在数据绑定过程中,SpringMVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋给控制器类中方法的形参,这样后台方法就可以正确绑定并获取客户端请求携带的参数。具体的...
继续阅读 >
2020
10-08
10-08
C# MVC 使用LayUI实现下拉框二级联动的功能
一、layui.use1、LayUI的官方使用文档:https://www.layui.com/doc/2、layui的内置模块不是默认就加载好的,必须要执行启动模块的这种方法后模块才会加载;3、layui.use就是一种加载模块的方式。如下代码://LayUI渲染以及启动模块layui.use(['form','layedit','laydate'],function(){varform=layui.form,//获取form模块layer=layui.layer,//获取layer模块layedit=layui.layedit,//获取layedit模块l...
继续阅读 >
2020
10-07
10-07
ASP.NET Core MVC如何实现运行时动态定义Controller类型
昨天有个朋友在微信上问我一个问题:他希望通过动态脚本的形式实现对ASP.NETCoreMVC应用的扩展,比如在程序运行过程中上传一段C#脚本将其中定义的Controller类型注册到应用中,问我是否有好解决方案。我当时在外边,回复不太方便,所以只给他说了两个接口/类型:IActionDescriptorProvider和ApplicationPartManager。这是一个挺有意思的问题,所以回家后通过两种方案实现了这个需求。源代码从这里下载。一、实现的效果我们先来看...
继续阅读 >
2020
09-29
09-29
asp.net mvc core管道及拦截器的理解
今天来看一下asp.netcore的执行管道。先看下官方说明: 从上图可以抛光,asp.netcore的执行顺序是,当收到一个请求后,request请求会先经过已注册的中间件,然后会进入到mvc的拦截器管道:进入mvc管道后,根据以上顺序执行过滤校正。OK,根据以上说明下面我们新建一个MVC的演示,将执行方式切换为控台运行://Thismethodgetscalledbytheruntime.Usethismethodtoaddservicestothecontainer.publicvoidConf...
继续阅读 >
IViewLocationExpanderAPIExpandViewLocationsRazor视图路径,视图引擎会搜索该路径.PopulateValues每次调用都会填充路由项目目录如下所示创建区域扩展器,其实我并不需要多区域,我目前只需要达到一个区域中有多个文件夹进行存放我的视图.所以我通过实现IViewLocationExpander进行扩展添加我自定义视图路径规则即可正如下代码片段publicclassMyViewLocationExpander:IViewLocationExpander{publicIEnumerable...
继续阅读 >
2020
09-24
09-24
SpringMVC生成的验证码图片不显示问题及解决方法
近期用SSM框架写一个项目,登录模块需要生成验证码图片,我把相关的代码写好了之后传到jsp,但是图片不显示,查看控制台显示404,反复查询了一下代码并没有发现任何问题,代码如下:@ControllerpublicclassValidateCodeController{privatestaticfinallongserialVersionUID=1L;privatestaticintWIDTH=70;//验证码图片的宽度privatestaticintHEIGHT=35;//验证码图片的高度@RequestMapp...
继续阅读 >