文章列表 | 月光中的污点

文章列表

分类: 后端

当前位置: 首页 / 分类 / 后端

JavaSE 手写 Web 服务器(二)

在上一篇文章 《JavaSE 手写 Web 服务器(一)》 中介绍了编写 web 服务器的初始模型,封装请求与响应和多线程处理的内容。但是,还是遗留一个问题:如何根据不同的请求 url 去触发不同的业务逻辑。 这个问题将在本篇解决。 XML:将配置信息写到 XML 文件,解决硬编码问题。

JavaSE 手写 Web 服务器(一)

某日,在 Java 技术群中看到网友讨论 tomcat 容器相关内容,然后想到自己能不能实现一个简单的 web 容器。于是翻阅资料和思考,最终通过 JavaSE 原生 API 编写出一个简单 web 容器(模拟 tomcat)。在此只想分享编写简单 web 容器时的思路和技巧。 Socket 编程:服务端通过监听端口,提供客户端连接进行通信。 Http 协议:分析和响应客户端请求。

使用 Ant 实现远程部署 Tomcat 项目

笔者用 Hexo 搭建此博客系统,搭建过程非常方便。但是,有个麻烦的操作就是每次发布文章都需要重新 clean 和 generate。由于笔者使用的是云服务器,使用 Tomcat 运行博客系统,因此每次还得需要挑选新博文相关的文件远程上传到服务器上。为此,笔者通过 ant 实现自动部署项目。 安装 jdk 和 ant,并配置环境变量。 下载 catalina-ant.jar ,并将其添加到 CLASSPATH 中。如下图:

Maven 插件实现 Tomcat 热部署

传统的部署项目方式:关闭 web 容器,将项目放入到 web 容器,启动 web 容器这个三个步骤。步骤不多,但是需要手动完成,频繁的操作总会让人心累。为了“解放双手”,实现自动化部署,本篇介绍通过使用 Maven 实现 Tomcat 的热部署。 本次测试使用一台ip为 192.168.2.25 的虚拟机,系统为 centos 7.2,tomcat 使用 8.5 版本。 为了能安全地连接远程的 tomcat 服务器,我们需要在 tomcat 上配置账号和密码。

记一次跨域问题的解决方案

在公司空暇时间,笔者使用 AngularJS + SSM 方案编写一套权限控制系统。由于采用的是前后端分离的思想,前端页面服务启动的端口和后端服务启动端口不一致导致请求跨域问题的出现。在此,写下解决问题的流程。 URL 由协议、域名、端口和路径组成,如果两个 URL 的协议、域名和端口相同,则表示它们同源。 浏览器的同源策略,限制了来自不同源的 document 或脚本,对当前 document 读取或设置某些属性。其目的是为了保证用户信息的安全,防止恶意的网站窃取数据。