作者:李东龙
在上片博文当中Web程序客户端和服务器端的交互原理基本上也说明白了!下面我就继续深入,对Java Web项目的“内部”构造进行分解。
在web程序中有两种交互方式,a、静态web页面;b、动态web页面。
当然了静态页面也是出现较早的,这样程序不能进行交互,只能作为浏览。不过现在静态页面成了我们做web程序原形的一个手段。
这两种交互过程如下图所示:
A、静态web页面
B、动态web页面
从上图我们不难看出静态也面和动态页面在客户端和服务器的交互上没有什么不同的。都是通过HTTP协议进行交互的。静态的交互是由web服务器根据HTTP请求从HTML文件中找到请求的页面,然后将文本发送到客户端,在浏览器上进行显示。而动态页面就要通过web服务器将HTTP请求进行分析,调用相关的web应用程序,从数据库读出需要的数据动态生成HTML文本,然后再由服务器发送给客户端。
在这个服务器当中又有哪些物件,web程序是如何生成HTML文本的呢?
想要了解这些东东,就必须想从其构造入手。客户端都只有一个浏览器用来显示服务器发回的响应消息。那能“做手脚”的也就只有服务器了,下面我们就来把服务器大卸八块吧!
在当前做的DRP系统中,这个服务器组成大概有Tomcat、jsp、servlet。现在还没有用到其他的东西呢,现在我还对他们之间的关系不是很清楚,只是一些简单的接触。
看下面的图示:
Web服务器主要作为HTML页面的处理,响应浏览器的请求。Web服务器除了我们现在用的tomcat之外还有很多。例如:大型的web服务器有Microsoft IIS、 IBM Web Sphere、 BEA WebLogic、 Apache、 Tomcat。 小型的有nginx、micro_httpd - really small HTTP server等等。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。另外它还是一个Servlet和JSP容器。
接下来是Servlet 和JSP了。
SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。
DRP当中我们使用的是oracle数据库。
接下的博客将对Servlet和jsp进行详细的解析。