`
Adan-Chiu
  • 浏览: 21793 次
社区版块
存档分类
最新评论
文章列表
      在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。         DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开。一个典型的DAO实现有下列几个组件: 一个DAO工厂类; 一个DAO接口; 一个实现DAO接口的具体类; ...
      GoF在比喻描写模板方法模式时使用了著名的"好莱坞原则"----- “不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这是著名的好莱坞原则。好莱坞原则的关键之处是演艺公司对整个娱乐项的完全控制,应聘的演员只能被动地服从总项目流程的安排,在需要的时候完成流程中得一个具体环节。好莱坞原则的体现了模板模式的关键:子类可以置换掉父类的可变部分,但是子类却不可以改变模板方法所代表的顶级逻辑。       模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构 ...
新 I/O--文件I/O       JDK 1.4的java.nio.*包中引入了新的IO类库,其目的在于提高速度。实际上,旧的IO包已经使用nio重新实现过,以便充分利用这种速度提高。   速度提高源自于所使用的结构更接近于操作系统执行IO的方式:通道和缓冲器.我们可以把它想象成一个煤矿,通道是一个包含煤层(数据)的矿藏,而缓冲器则是派送到矿藏的卡车。卡车载满煤炭而归,我们再从卡车上获得煤炭。也就是说,我们并没有直接和通道交互,我们只是和缓冲器交互,并把缓冲器派送到通道。要么从缓冲器获得数据,要么向缓冲器发送数据。     唯一直接与通道交互的缓冲器是ByteBuffer——
秦孝公据崤函之固,拥雍州之地,君臣固守以窥周室,有席卷天下,包举宇内,囊括四海之意,并吞八荒之心。当是时也,商君佐之,内立法度,务耕织,修守战之具,外连衡而斗诸侯。于是秦人拱手而取西河之外。 孝公既没,惠文、武、昭襄蒙故业,因遗策,南取汉中,西举巴、蜀,东割膏腴之地,北收要害之郡。诸侯恐惧,会盟而谋弱秦,不爱珍器重宝肥饶之地,以致天下之士,
官网参考链接:https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html to be continue....
        Thymeleaf自定义方言实现页面过滤功能        目前使用的所有th:x属性都只是一个标准的、开箱即用的功能集,如果想用想要的名称定义你自己的一组属性(或标签),并在thymeleaf中使用它们来处理你的模板。你可以定义自己的方言。现在我们使用自定义的方言来实现页面权限过滤效果。 方言        Thymeleaf本身提供了StandardDialect,以及结合了Spring之后提供的SpringStandardDialect。Thymeleaf默认的语法 th:if等,就是定义在了StandardDialect中,th为方言的前缀,if为方言的处理器 ...
       spring mvc的数据转换和格式化       前面介绍了spring mvc的各个组件,spring mvc通过注解便可以让控制器得到丰富的参数类型,那么它是如何做到的呢,其实它是spring mvc的消息转换机制完成的。        处理器在http请 ...
  拦截器         拦截器是spring MVC中强大的控件,它可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是在渲染视图后进行操作。spring mvc会在启动期间就通过@RequestMapping的注解解析URI和处理器的对应关 ...
     在应用系统中,文件上传是非常常用的系统功能,spring mvc为上传文件提供了良好的支持。首先spring mvc的文件上传是通过MultipartResolver(Multipart解析器)处理的,对于MultipartResolver而言它只是一个接口,它有两个实现类。 CommonsMultipartResolver:依赖于Apache下的fileupload项目解析Multipart请求。需要依赖第三方包。 StandardServletMultipartResolver:依赖于Servlet3.0或者更高版本。不用依赖于第三方包。spring 3.1后支持。 ...

Thymeleaf实战

理解Thymeleaf  Java模版引擎:Thymeleaf是一个用于Web和独立环境的现代服务器端Java模板引擎。能够处理HTML、XML、JavaScript、CSS甚至纯文本。 自然模板:Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板——HTML,它可以在浏览器中正确显示,也可以作为静态原型工作(原型即界面),改善了设计与开发的沟通,从而在开发团队中实现更强的协作。 <table> <thead> <tr> <th th:text="#{msgs.headers.name} ...
RESTful           一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。      REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object ...
       在实际工作中,得到数据后的第一步就是校验数据的正确性,如果存在录入上的问题,一般先经过前端js进行验证,但是前端有多种方式可以绕过前端js验证(不是安全有效的),为了数据安全性一般还需要在服务器端做数据校验。这个时候就可以使用spring所提供的验证器(Validator)规则去验证。 所有的验证都是要先注册验证器,不过验证器也是springmvc自动加载的。我们 使用hibernate校验规则。   使用JSR 303注解验证输入内容         Spring  提供了对Bean的功能校验,通过注解@Valid标明哪个Bean需要启用注解式的验证。在javax.v ...
要将一个图书信息转化为JSON视图的功能,只要传递图书信息给它,它就能将信息转化为视图:   @RequestMapping("/book/showBookJsonInfo") public ModelAndView showBookJson(Book book){ var mv = new ModelAndView(); mv.addObject("book",book); mv.setView(new MappingJackson2JsonView()); return mv; }  现在的 ...
在java web学习中,我们会暂存(共享)数据到http的request对象或者session对象中,在开发控制器的时候,有时也需要保存对应的数据到这些对象中去,或者从中获取数据。而spring mvc提供了支持,主要注解有三个:@RequestAttribute、@Se ...
控制器接收各类请求参数        使用控制器接收参数往往是Spring MVC开发业务逻辑的第一步。Spring提供了诸多的注解来解析参数,目的在于把控制器从复杂的Servlet API中剥离,这样就可以在非web容器环境中重用控制器,也方便测试人员对其进行有效测试。 1.1 接收普通请求参数       Spring MVC比较智能,如果传递过来的参数名称和Http的请求参数名保持一致,那么无须任何注解就可以获取参数。   @RequestMapping("/save.do") public String save(String title,String ...
Global site tag (gtag.js) - Google Analytics