Tomcat

Docker中级篇

天涯浪子 提交于 2020-10-23 11:53:33
Docker镜像理解 Docker镜像是什么 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件 Docker镜像加载原理 UnionFs:联合文件系统 UnionFs(联合文件系统):Union文件系统(UnionFs)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,UnionFs联合文件系统是Docker镜像的基础,镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像 特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录 Docker镜像加载原理 Docker的镜像实际上由一层一层的UnionFs文件系统组成 bootfs:主要包含 bootloader和 Kernel,bootloader主要是引导加 kernel,Linux刚启动时会加bootfs文件系统,在 Docker镜像的最底层是bootfs,这一层与我们典型的Linux/Unix系统是一样的,包含bootfs加载器和内核,当bootfs加载完成之后整个内核就都在内存中了,此时内存的使用权已由

IDEA创建Servlet并配置web.xml

主宰稳场 提交于 2020-10-22 12:23:13
module与project区别 IntelliJ IDEA 中,project相当于eclipse的WorkSpace,module相当于eclipse的project; IntelliJ中一个 Project 可以包括多个 Module ; Eclipse中一个 Workspace 可以包括多个 Project。 创建module 创建一个 module 选择Java项目 输入项目名称,选择存储空间,点击 finish 完成创建 添加框架 选中创建的module,右键选择 Add Framework Support 选中 Web Application 点击 OK ,这时module下面就会出现相关的web文件 配置Tomcat 点击顶部的 Add Configuration... 点击 “ + ” 号,下拉找到 Tomcat Server ,点击 Local 注意:不是TomEE Server 找到 Deployment 找到右边 “ + ” 号,选择 Artifact... 最后点击OK,完成配置 创建Servlet并配置web.xml 新建一个servlet 点击 OK 这时候应该会报错,点击 Add Java EE 6 JARs to module dependencies 如果有的话导入就行了;没有的话点击 Download ,会自动下载一个。 在上面加上下面这句代码

编程体系结构(07):JavaEE之Web开发

橙三吉。 提交于 2020-10-22 04:10:53
本文源码: GitHub·点这里 || GitEE·点这里 一、基础概念 1、CS与BS架构 CS架构模式 客户端/服务器(Client/Server)模式,既要编写服务器端程序,也要开发客户端程序,软件更新时需要同时更新客户端和服务器端,整体模式相比BS架构要复杂,但是安全性比较高。 B/S架构模式 即浏览器/服务器(Browser/Server),只需要编写服务器端程序,浏览器的界面作为访问的服务端的入口,架构相对简单,可以快速迭代,但是安全性较差。 2、Socket通信机制 TCP/IP 协议 传输控制协议/网际协议是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。 Socket套接字 网络中不同主机上的应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。通常接收请求数据,并做业务处理的称为服务端即ServerSocket,发送请求并接收处理结果的称为客户端。 二、Http协议 1、Http和Https Http协议 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP

Netty入门教程——认识Netty(转)

╄→尐↘猪︶ㄣ 提交于 2020-10-22 01:04:36
什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见 https://www.java.net/dukeschoice/2011 )。它活跃和成长于用户社区,像大型公司 Facebook 和 Instagram 以及流行 开源项目如 Infinispan, HornetQ, Vert.x, Apache Cassandra 和 Elasticsearch 等,都利用其强大的对于网络抽象的核心代码。 以上是摘自 《Essential Netty In Action》 这本书,本文的内容也是本人读了这本书之后的一些整理心得,如有不当之处欢迎大虾们指正 Netty和Tomcat有什么区别? Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,他的实质是一个基于http协议的web容器,但是Netty不一样,他能通过编程自定义各种协议,因为netty能够通过codec自己来编码/解码字节流,完成类似redis访问的功能,这就是netty和tomcat最大的不同。 有人说netty的性能就一定比tomcat性能高,其实不然,tomcat从6