中间件原理
1. tomcat
使用tomcat已经有很长一段时间了,对weblogic也大概了解过,但是因为不做大型项目,因此对于分布式应用的开发了解得比较少。对于什么是中间件,也只是一个模糊的概念。
开始只知道Tomcat,必须有tomcat软件和JDK软件配合使用,至于怎么配合使用的,就没有深究过。每次做项目,就是安装JDK,然后安装Tomcat,然后就是编写java和jsp程序。
最近用Delphi写了个基于UDP的可靠文件传输系统,大概了解了多线程编程以及网络协议栈的工作过程。现在突然想了解一下什么是中间件,就大概百度了一下关于中间件的原理。
中间件:为什么叫中间件,那肯定是位于中间的软件了,下面是什么,就是操作系统底层,上面是什么,就是应用软件系统。中间件不针对具体的软件项目,但它也不是最基础的软件,必须有底层的支撑软件才能运行。
一个偶然的机会,我发现关闭了tomcat进程,依然可以访问我的web系统,没有任何异样。然后我敢确定,所有的服务都来自那个java进程。即然是java进程,那么tomcat的核心不就是java程序,这让我相信了解tomcat并不会太困难。
翻阅了一些资料后,我大概了解了web容器、EJB容器大概是什么东西。
2. web系统原理
从web服务器原理说起:web服务器,如apache,负责实现http协议,实现一个静态页面网站的实现。
1) 浏览器客户端发出http请求,经过网络传送到服务器。
2) 服务器监听TCP协议端口(如80端口),服务器对接收的TCP数据包进行解析,
数据包其实就是一个文本串,其中包含了请求的文件路径、cookies及其他一些信息。
3)服务器根据url文件路径找到本地文件,根据信息,填充Http数据包头部,然后附加文件内容
并发送给客户端(TCP数据包)。