自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 AJAXJS MVC 使用教程之五:过滤器

过滤器的主要目的是拦截每次请求之前和之后的一些操作。有别于 Servlet 标准过滤器,这是 MVC 框架中重写的过滤器。为简化概念,框架中不单独另设 AOP 机制,但可把过滤器当作 AOP 的代替品。其发挥如下作用:初始化数据库连接、日志记录、权限校验等等。 如下例子中注解 @MvcFilter...

2020-07-30 17:33:04 101 0

原创 AJAXJS MVC 使用教程之四:模板和返回响应数据

控制器处理完业务后会返回结果数据给前端:要么在前后端分离的情况下直接返回 JSON 数据,无须经过视图层;要么返回 HTML 则要在 View 层进行转化。 输出 HTML AJAXJS Web 提供中介媒介 ModelAndView 对象,用于存储页面所要显示的数据。在控制器方法中加入 Mode...

2020-07-30 17:30:49 97 0

原创 AJAXJS MVC 使用教程之三:处理请求参数

请求参数出现的地方将变成控制器的方法的输入参数,即每个 Java 参数映射着 HTTP 请求参数;然后控制器方法执行后返回的结果就是响应客户端的结果。 原生请求响应对象 原生对象指的是 HttpServletRequest、HttpServletResponse 这类由 Servlet 提供的接口...

2020-07-30 17:28:59 96 0

原创 AJAXJS MVC 使用教程之二:定义路由路径

写一个控制器很简单,但有下面注意的事项需要遵守的。 每个控制器类必须要实现IController接口,才能表明为控制器组件,否则不被视为控制器。 至少要一个@Path路径的注解定义在类声明上。 控制器的类名推荐以Controller结尾,比如ApplicationController, Hell...

2020-07-28 10:48:50 102 0

原创 AJAXJS MVC 使用教程之一:创建第一个 Hello World! 路由控制器

我们利用MVC来建立一个Hello World!的Web应用程序1。首先在项目pom.xml添加ajaxjs-web的JAR包依赖。 <dependency> <groupId>com.ajaxjs</groupId> <artifactI...

2020-07-27 23:57:57 113 0

转载 OO之美:好代码和坏代码

本节将介绍以下内容: 编码的规范 面向对象指导 引言 好的代码,是练出来的。坏的代码,是惯出来的。 那么,代码是写给计算机的吗?不是,代码其实是写给人的。Martin Fowler说:任何一个傻瓜都可以写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀程序员。那么,本文要探讨的其...

2020-07-27 19:53:00 130 1

转载 OO之美:面向对象和基于对象

本节将介绍以下内容: 基于对象的澄清 面向对象的差别 引言 这是一个常常被问起的话题,对于面向对象(Object-Oriented)我们可能有清晰的概念,对于基于对象(Object-Based)我们可能有模糊的认知,而对于二者一词之差的细节,又有多少概念值得深究呢? 关于面向对象的论述,本书第...

2020-07-27 19:43:51 77 0

转载 OO之美:依赖的哲学

依赖的哲学 本节将介绍以下内容: 关于依赖和耦合 面向抽象编程 依赖倒置原则 控制反转 依赖注入 工厂模式 Unity框架应用 引言 “不要调用我们,我们会调用你”是对DIP最形象的诠释。作为5大设计原则之一的DIP原则,有了2.4节“依赖倒置原则”由概念而实例的单纯讨论,还不能全面阐释清楚:...

2020-07-27 19:19:02 120 0

转载 OO 之美:设计的分寸

本节将介绍以下内容: 设计的由来 浅谈重构 设计的分寸 引言 有了前面两章“OO 大智慧”和“OO 大原则”的铺垫,相信读者已经有了对面向对象的基本认知。而本章将继续深入关于面向对象和设计问题的讨论,挑起设计与架构的话题。在高级语言横行的今天,对于静态语言的设计都源于面向对象思想,重构与设计都...

2020-07-27 18:06:40 88 0

转载 解耦设计手法小结

设计是一个平衡的产物,需要在各个约束条件下(组织目标,业务目标,开发流程,技术能力,学习及维护成本等)不断地进行演进。 我们虽然不提倡做大而全的设计,但会坚持进行基础性设计,以保证我们的设计一直在正确的方向上演进。 设计演进的过程既可以是自上而下的,也可以是自下而上的。 基本设计原则 业界普遍被接...

2020-07-27 15:13:22 72 0

转载 JDBC和数据库事务详解

现在还在写 JDBC 事务的文章,我觉得我一定是相当的 Out 了,现在主流的 java 应用,框架都是分布式的,各种分布式的事务,或者容器事务才是需要学习的重点,在这里谈 JDBC 确实有点不合时宜,但任何的 java 开发人员,如果不能够深入的理解数据库的事务,那在做数据处理的方面就一定是有所...

2020-07-27 12:15:12 92 0

转载 支付系统经验谈

支付系统各接口总结 接口:同步调用, 重试调用(框架自动重试),自己定时任务自动重试、主动查询、主动查询后自动重试,异步回调,对账,网关层处理对后续逻辑。定时关闭 正常支付: 正常获取支付签名. 重试调用(框架自动重试): 支付宝普通支付不交互,支付宝app支付交互可重试,微信支付交互...

2020-07-27 11:52:45 99 0

转载 自然而然的设计

设计,似乎有点高深莫测! 一堆的模式、模型,让人无所适从。学了记不住,记住又用不上。我觉得设计应当是自然而然的事,从实际问题出发找出实际的解决方案就可以了。其实难点在于能不能看到问题。 回想起 12 年前的 2000 年,当时刚进入一家 ERP 公司,被安排为一家灯饰公司"客制"...

2020-07-27 11:31:34 112 0

转载 用 Java 8 lambda 优化 JDBC

首先创建一个函数接口 ResultSetProcessor : @FunctionalInterface public interface ResultSetProcessor { public void process(ResultSet resultSet, long currentR...

2020-07-27 10:33:48 94 0

原创 权限设计算法基础
原力计划

权限管理在一个系统中是不可或缺的,总的来说还是一个数学的问题。 最笨的方法 之前这个系统的权限管理是通过配置文件来处理的,大概流程是这样的,把用户分成多个用户组,然后每个用户组对应着多个用户的 id,每次访问页面的时候,都会读取这个配置文件的信息,判断登录用户的 id 属于哪个用户组,然后在页面判...

2020-07-23 10:25:41 211 1

原创 聊聊数据库表结构设计心得

本文讨论是一般表的设计,有一定的普遍性和通用性,当然对于特殊性的考量则不在本文讨论之列。 自增 id Java 层的 CRUD 都是围绕自增 id 的,以这个 id 为依据的,所以自增 id 不可或缺,每张表都应该有。当然其他类型的 id,如 uuid、雪花 id 都可以并存。 还有分页、表与表的...

2020-07-22 12:09:03 2105 8

原创 六行代码写个 Tab 控件

其实之前的方法都不是太聪明(例如我写过的《Vue Tab 组件再探究》),个人认为这种方法,区区六行代码,搞定! changeTab = function(e) { var old = aj('.show'); old.classList.remove('show...

2020-07-18 22:33:25 126 0

原创 Java Web 实现 HTTP Basic 认证

Basic 认证是一种较为简单的 HTTP 认证方式,客户端通过明文(Base64 编码格式)传输用户名和密码到服务端进行认证,通常需要配合 HTTPS 来保证信息传输的安全。界面如下。 下面基于 Servlet 标准 Filter 实现一个 HTTP Basic 登录机制,可以用作测试时的临时...

2020-07-03 16:44:55 332 0

提示
确定要删除当前文章?
取消 删除