SpringMVC之Controller层最佳实践】的更多相关文章

规范设置接口, 有利于项目的可扩展性,提高前后端的交互特性. 请求参数 响应结果…
记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑 结论 给心急的人. 直接在Controller的成员变量上使用@Autowire声明HttpServletRequest,这是线程安全的! @Controller public class TestController{ @Autowire HttpServletRequest request; @RequestMapping("/") public void test(){…
这种情况是,jsp页面的中文正常显示,数据的中文也是正常显示,但是在Controller层接收到的中文是乱码,如下图所示: 解决方法:在Controller层对前台传递的中文乱码进行处理,将它转换成utf-8,转换代码: String name = new String(username.getBytes("iso-8859-1"),"UTF-8");并且需要加try/catch进行异常处理,修改后的代码如下图所示: 乱码在红色箭头处被转换成功…
楼主一直习惯使用public,偶尔手误也可能使用private,但是发觉也没啥区别,都能调用service层,注入bean. 后来做一个新项目时,发觉自己以前的写的部分功能报错,当时有点懵逼,,找了半天都没发现哪里写错了,代码啥的都确定无错(这种时候最蛋疼,因为报错不太准确),以前写好的啥都没改,突然报错,经过蛋疼的排除,发现service层的注入都是null,但是还是一脸懵逼,我一直以为无区别,感觉自己的代码无错,经过长时间找寻(我感觉自己快要崩溃了),然后发现自己另一个类有相似的方法,就用的…
方法一:request.getParameter("name") 方法二:注解@RequestParam @RequestMapping("testRequestParam") //注解的方式 public String filesUpload(@RequestParam(value="inputStr", required=false) String inputStr, HttpServletRequest request) { System.…
1.ModelAndView  既带着数据,又返回视图路劲 2.String 返回试图路径  model带数据  (官方或企业推荐使用此种方式 ,此方法符合解耦思想,即数据,视图,分离 MVC) 3.void   使用ajax请求是合适使用此方法   ,ajax返回json数据不需要跳转页面(response)…
PowerMock扩展自Mockito,实现了Mockito不支持的模拟形式的单元测试.PowerMock实现了对静态方法.构造函数.私有方法以及final方法的模拟支持,对静态初始化过程的移除等强大的功能.(官方) 接下来,通过实例来实现对SpringMVC的Controller层的方法模拟测试. 一.maven引入PowerMock相应的Jar文件 <dependency> <groupId>org.powermock</groupId> <artifactI…
原文:http://www.cnblogs.com/sonykings/archive/2013/05/30/3107531.html ASP.NET MVC最佳实践 本文档提供了一套旨在帮助创建最佳优化ASP.NET MVC应用程序的 开发人员编码准则. 当然,由您来选择这些优化准则. 模型的建议 Model是定义业务领域相关的对象,应该包含业务逻辑(对象如何动作和关联),验证逻辑(验证对象的有效值),数据逻辑(数据对象如何持久化),和会话逻辑(跟踪用户状态). 创建独立的Model项目,在A…
==网文1,还不错,感觉比较老旧springMVC中controller的几种返回类型 - CSDN博客http://blog.csdn.net/qq_16071145/article/details/51222372 Controller方法的返回值可以有以下几种: 1.返回ModelAndView 返回ModelAndView时最常见的一种返回结果.需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置. 2.返回String 1):字符串代表逻辑视图…
前言 本文分两部分,第一部分剖析SpringMVC的源代码,看看一个请求响应是如何处理,第二部分主要介绍一些使用中的最佳实践,这些best practices有些比较common,有些比较tricky,旨在展示一个框架的活力以及一些能在日常项目中能够应用的技巧,这些技巧的线索都可以在 第一部分的代码剖析中找到,所以读读源代码对于使用好任何框架都是非常有帮助的,正所谓“知其然,还要知其所以然”. 另外,本文中所涉及的Spring版本是3.1.2RELEASE. Part 1. SpringMVC请…
15.SpringMVC最佳实践 15.1.遵循Restful API最佳实践 参考:http://segmentfault.com/a/1190000002949234 15.2.统一返回字段 15.3.统一错误处理 15.3.1.web容器统一错误页面 15.3.2.业务统一错误处理 15.4.统一日志处理 15.5.统一国际化处理 15.5.1.格式化返回 15.5.2.语言切换 16.附录 尚硅谷资料.文档.视频.软件包等:http://www.atguigu.com/opensourc…
得益于 JavaScript 加入的 decorator 特性,可以使我们跟 Java/C# 一样,更加直观自然的,做面向切面编程.而随着 TypeScript 的成熟,类型系统也让我们增强了信心,面对复杂的业务逻辑,也更有底气. egg-controller 是集合了一些在 Controller 层开发中常见问题解决方案的插件. Controller 路由定义 export class HomeController { @route('/api/xxx', { name: '获取XXX数据'…
Controller层 1.接收httpRequest/requestDTO数据 ,检查接收数据参数与格式. 2.传递参数至Service层并接收返回responseDTO数据. 3.包装responseDTO并客户端响应请求. *** Controller层只做2件事:1获取并校验入参,2由Service层获取处理结果并返回 *** Service层 1.接收Controller层数据 2.与DAO层交互,处理业务逻辑 3.生成responseDTO数据并返回Controller层…
Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合.以下列举接收List<String>.List<User>.List<Map<String,Object>&g…
之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation.本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底! 项目源码:spring-validation 简单使用 Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现.hibernate validation是对这个规范的实现,并增加了校验注解如@Email.@Leng…
前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语言本身来看,C#确实比Java更优秀(并非C#天生丽质,而是它站在了巨人的肩膀上). 本文并非为.NET正名而来,而仅仅是分享作者近几年在ASP.NET跨平台方面的研究与实践经验,算是对八年的.NET之路作一个阶段性的总结. .NET技术自诞生以来,便一直因其跨平台能力差而广受诟病.这里面有微软有意为之,也有别有用心之人在混淆视…
这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相册. 多个片段可以组织在一起,形成"事件". 任意事件.片段都可以互相标记因果关系. 可以follow事件或者他人. 事件和片段模糊搜索. 我对目前前端框架的观点已在另一篇文章中讲过,这里只介绍一下目前实践的情况. 使用requirejs做模块化,上线时用r.js打包. 使用avalon做…
JSR 303 - Bean Validation 介绍及最佳实践 JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案.2009 年 12 月 Java EE 6 发布,Bean Validation 作为一个重要特性被包含其中.本文将对 Bean Validation 的主要功能进行介绍,并通过一些示例来演示如何在 Java 开发过程正确的使用 Bean Validation. 关于 Bean Validation 在任何时候,当你要处…
Atitit. js mvc 总结(2)----angular  跟 Knockout o99 最佳实践 1. 框架 angular 跟Knockout 1 2. 2. 简单的列表绑定:Knockout 1 3. foreach绑定 3 4. Sumup:hesh angular simply 3 1. Mvc优点 angular 功能包括 3 2. 2.1 数据绑定 就是MVVM 结构, 3 3. 2.10 动画效果, ng-animate 4 5. 参考 5 1. 框架 angular 跟K…
paip.spring3 mvc servlet的配置以及使用最佳实践 1. Web.xml 1 2. springMVC.xml 2 1. mvcAction .mvcAction 2 2. Resin4 发动跟踪mvc maping 3 3. No mapping found for HTTP request with URI 3 1.Web.xml <servlet> <servlet-name>spring</servlet-name> <servlet-…
AngularJS是google设计和开发的一套前端开发框架,他能帮助开发人员更便捷地进行前端开发.AngularJS是为了克服HTML在构建应用上的不足而设计的,它非常全面且简单易学习,因此AngularJS快速的成为了javascript的主流框架. 一.Amazing的Angular AnguarJS的特性 方便的REST: RESTful逐渐成为了一种标准的服务器和客户端沟通的方式.你只需使用一行javascript代码,就可以快速的从服务器端得到数据.AugularJS将这些变成了JS…
express 最佳实践 (一) 最近,一直在使用 nodejs 做项目,对 nodejs 开发可以说深有体会. 先说说 nodejs 在业务中的脚色,, 在 web同构 方面, nodejs 的优势相对于其他语言来说,可以说非常巨大,基本上算是只有 nodejs 能做,其他语言根本不能做.在传统 web 开发方面,nodejs(必竟时间太短了)的相对于其他语言来说的劣势,已经不是太明显了. 再来说说自己,算了算差不多做了 5 个项目,都是使用 express 做为项目的基础框架,然后再上面进行…
===================================自定义异常类===================================稍具规模的项目, 一般都要自定义一组异常类, 这样做的好处是:1. 可以充分利用异常的中断特性, 简化代码的逻辑控制. 2. 在自定义的异常类, 可以设置 BusinessErrorCode 和 error message, 有了统一的 BusinessErrorCode, 排查和联调沟通就更容易了. Java 异常的 Root 是 Throwa…
Spring是个非常非常非常优秀的java框架,主要是用它的IOC容器帮我们依赖注入和管理一些程序中的Bean组件,实现低耦合关联,最终提高系统可扩展性和可维护性,用它来辅助我们构建web工程将会感觉非常非常非常地愉悦. Spring旗下的Spring MVC又是后来居上,设计得非常非常非常的优雅,可以用来替代Struts来做界面视图的控制(Controller)等. 现在我们就来搭建一个利用Spring和Spring MVC结合的web工程最佳实践的例子.以Spring Framework 4…
Spring Boot是最流行的用于开发微服务的Java框架.在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章. 在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目).以下依次列出了最佳实践,排名不分先后. 1.使用自定义BOM来维护第三方依赖 这条实践是我根据实际项目中的经历总结出的. Spring Boot项目本身使用和集成了大量的开…
springmvc controller默认的是单例singleton的,具体可以查看注解scope可以一目了然. 单例的原因有二: 1.为了性能. 2.不需要多例. 1.这个不用废话了,单例不用每次都new,当然快了. 2.不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例. 我这里说不需要的原因是看开发者怎么用了,如果你给controller中定义很多的属性,那么单例肯定会出现竞争访问了. 因此,只要controller中不定义属性,那么单例完全是安全的.下面给个例子…
上期我们完成了一个简单的主从页面,但是页面是静态的,不能交互,功能也很简单,只有一个销售订单的列表. 我们今天就一鼓作气把代码全都写完,由于本次的代码量较大,所以只对重点代码部分进行讲解. 具体每个文件和代码就不一一贴出来了,代码都放在github中,需要的自行下载吧. 1 页面导航 可以先把代码下载到本地并跑起来,这样可以对这个最佳实践的程序有一个直观的了解. 页面导航如下: 销售订单列表(Master) -> 销售订单明细(Detail) -> 行项目明细(LineItem),在每个明细页…
[转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceManager解析二进制资源文件 小看RESX资源文件的Designer.cs文件 返回目录 程序集清单资源 在程序集中嵌入资源的最简单方法是什么?那就是使用Visual Studio中的“嵌入式资源(Embedded Resource)”创建选项,相当于使用csc的”/resource”参数.具体步…
SpringBoot2.X最佳实践 前言 本系列文章,从零基础接触  SpringBoot2.x新版本,基础入门使用,热部署,到整合各个主流框架Redis4.x,消息队列AciveMQ, RocketMQ等,搜索框架ElasticSearch5.6版本,到web-flux反应式编程,到Actuator监控应用信息,官方最佳实践,最全的SpringBoot2.教程 技术选型和更新须知: 采用最新的SpringBoot2.x版本 JDK1.8 IDEA或者Eclipse编辑器 Maven3.x版本…
express 最佳实践 (一) 第二篇: express 最佳实践(二):中间件 最近,一直在使用 nodejs 做项目,对 nodejs 开发可以说深有体会. 先说说 nodejs 在业务中的脚色,, 在 web同构 方面, nodejs 的优势相对于其他语言来说,可以说非常巨大,基本上算是只有 nodejs 能做,其他语言根本不能做.在传统 web 开发方面,nodejs(必竟时间太短了)的相对于其他语言来说的劣势,已经不是太明显了. 再来说说自己,算了算差不多做了 5 个项目,都是使用…