236630Java 设计模式之抽象工厂模式(三) 2017-11-08上篇文章 《Java 设计模式之工厂模式(二)》 ,介绍了简单工厂模式和工厂方法模式,本篇将继续介绍工厂模式中的最后一个模式--抽象工厂模式。 抽象工厂模式是所有形态的工厂模式中最为抽象的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型(不是指实现类)的情况下,能够创建多个产品族的产品对象。 产品族可以通入下图理解:
233520Java 设计模式之工厂模式(二) 2017-11-07本篇内容是 Java 设计模式创建型模式的第二篇。上一篇主题为 《Java 设计模式之单例模式(一)》 在介绍工厂模式之前,我们需要了解设计模式中应该遵循的原则。 五大原则:
259931JavaSE 手写 Web 服务器(二) 2017-10-22在上一篇文章 《JavaSE 手写 Web 服务器(一)》 中介绍了编写 web 服务器的初始模型,封装请求与响应和多线程处理的内容。但是,还是遗留一个问题:如何根据不同的请求 url 去触发不同的业务逻辑。 这个问题将在本篇解决。 XML:将配置信息写到 XML 文件,解决硬编码问题。
265640JavaSE 手写 Web 服务器(一) 2017-10-22某日,在 Java 技术群中看到网友讨论 tomcat 容器相关内容,然后想到自己能不能实现一个简单的 web 容器。于是翻阅资料和思考,最终通过 JavaSE 原生 API 编写出一个简单 web 容器(模拟 tomcat)。在此只想分享编写简单 web 容器时的思路和技巧。 Socket 编程:服务端通过监听端口,提供客户端连接进行通信。 Http 协议:分析和响应客户端请求。
291420Maven 插件实现 Tomcat 热部署 2017-10-14传统的部署项目方式:关闭 web 容器,将项目放入到 web 容器,启动 web 容器这个三个步骤。步骤不多,但是需要手动完成,频繁的操作总会让人心累。为了“解放双手”,实现自动化部署,本篇介绍通过使用 Maven 实现 Tomcat 的热部署。 本次测试使用一台ip为 192.168.2.25 的虚拟机,系统为 centos 7.2,tomcat 使用 8.5 版本。 为了能安全地连接远程的 tomcat 服务器,我们需要在 tomcat 上配置账号和密码。
270681记一次跨域问题的解决方案 2017-09-26在公司空暇时间,笔者使用 AngularJS + SSM 方案编写一套权限控制系统。由于采用的是前后端分离的思想,前端页面服务启动的端口和后端服务启动端口不一致导致请求跨域问题的出现。在此,写下解决问题的流程。 URL 由协议、域名、端口和路径组成,如果两个 URL 的协议、域名和端口相同,则表示它们同源。 浏览器的同源策略,限制了来自不同源的 document 或脚本,对当前 document 读取或设置某些属性。其目的是为了保证用户信息的安全,防止恶意的网站窃取数据。