java web用户请求过程原理的另类剖析

浏览器发出请求,因为浏览器应用http网络协议,
所以发出了满足http协议的请求,
则必须有一个实现了http协议的服务器来接收;

在服务端,为了接收一个http协议请求,则服务器应具有如下功能:
a.实现http协议。
则浏览器的发出的http请求,被服务器接收了;
服务器将http请求进行解析,获取了相应的参数;
b.然后根据参数从服务器中获取相应的内容返回浏览器。
由于浏览器只识别html,js,css语言,则服务器端必须将所获取的
内容根据html,js,css规范去组装,而后应用http协议发送给浏览器;


在这里进行抽象,可将服务端划分为两大功能模块,
a.1 http请求的解析与响应;
b.1 响应内容根据html,js,css规范去组装;
但是这里的 b.1 功能,是直接嵌在a.1 功能之中的,是一种强耦合。
为了进行解耦合,则需要a.1 与b.1 之间进行api定义;
这个api就是sun制定的servlet规范,这样服务器端的功能进行重新划分两大功
能模块:
a.2  http请求的解析与响应的实现及servlet 规范的实现;
用户发出相应的http请求,最终落实到一个个的servlet提供的服务上。
b.2 响应内容根据html,js,css规烦去组装,然后实现servlet接口;
这里就是我们需要开发的业务功能。


困难再次出现,即b.2响应内容根据html,js,css规范去组装,然后调用servlet接口。
但是这样动态内容与静态内容无法分离。因为它们需要一起被编织到servlet接口中,
造成维护的困难及开发的困难。此时sun制定了jsp规范,允许在页面中嵌入动态脚本。
而这个脚本却是java语言。

jsp页面的请求过程,用户发出http请求,服务器找到对应的jsp文件,首先将
其转化为servlet 类。而后进行servlet类的响应方式处理。
此时功能a.2进行了加强,增加了将jsp 转化为servlet类,
即功能a.2变为
a.3  http请求的解析与响应的实现,servlet规范的实现,jsp规范的实现;
而b.2 则变为
b.3 响应内容根据jsp规范去组装或者响应内容根据html,js,css规烦去组装,然后实现servlet接口.

对于a.3它的典型实现为tomcat。
在java web的学习中,我们很少去动tomcat,而
是对于b.3功能,我们学习很多的框架,比如springmvc,strusts2等,
这些框架的作用都是为了减少b.3开发过程中复杂度,及增加它的扩展点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值