唉,如果要贯通起来的话,那么必然要扩展的太多了。已经出现大面积的不了解的地段了。知识就是这样子的,你要是只是用,那或许很简单,但是你要是想懂,那么就是犹如往下对地球打坑。
比如说Servlet的吧,在用的时候,根本就不用管客户端的请求怎么就到了这个Servlet代码呢?也不用管那么多的客户端,Servlet到底怎么个个处理的呢?可惜,你还必须得去懂Servlet容器,特别是在分布式系统里面。
比如说Servlet的吧,在用的时候,根本就不用管客户端的请求怎么就到了这个Servlet代码呢?也不用管那么多的客户端,Servlet到底怎么个个处理的呢?可惜,你还必须得去懂Servlet容器,特别是在分布式系统里面。
还是接着昨天得讲吧,就是一个web项目的样子,希望可以在全貌里面把握Servlet容器。
根据前面介绍的三层和N层结构,你也应该知道了一个web项目到底包括哪几部分。首先呢,必须有web服务器里面的东西吧,就是Servlet和JSP和HTML了,就是和客户端交互的东西了,象Servlet和JSP是可以同时接受客户端数据和向客户端返回数据的,HTML是返回给客户端的静态内容的。还有呢?就是业务逻辑层啊,一个项目最核心的应该是它的计算功能啊,也就是业务逻辑,这部分一般是javabean和EJB或其他组件。还有呢?就是数据库了。于是一个项目差不多就包括上面的三个部分。从形式上讲,就是ear包包括war包和jar包和DB了。
除此之外,有一个非常需要关注的东西,就是DD了,布署描述符,每个层次都有相应的DD文件,比如应用系统层有应用系统的DD,web组件有web组件的DD,EJB有EJB的DD,它承担着两个功能,第一描述自己,第二连接彼此。它们起着绝对重要的作用。理解它们的时候可千万不要仅仅的停留在布署描述符这个神秘的概念上,而要知道,它就象许多的配置文件一样,起着框架解耦的作用。解耦是软件业永恒的话题。
上面就算是一个企业级的项目的全貌吧,当然一般是不会这么简单的,有很多的后台非web系统想连接的。
下面来简单的看看一个web服务器所需要承载的功能吧。首先让我们来设想一下,它该承载什么功能。