引言
本文主要说明web请求的处理流程,并提炼处理过程中的一系列概念。以最常见的登陆过程进行说明,
并与Spring,JFinal中的web框架相印证。
目录:
1. 示例说明
1.1 登陆过程
1.2 处理流程
1.3 信息提炼
2. Web请求处理过程
2.1 请求分发器
2.2 映射表
2.3 控制器
3. 附录
1. 示例说明
1.1登陆过程:
1. 在登陆页面输入用户名,密码
2. 点击登陆按钮
3. 登陆成功,返回系统主页
1.2处理流程
1.点击登陆按钮产生登陆请求,在HttpRequest中携带username,password等信息
2.后台服务器接收到该请求,查找对应控制器,处理请求
3.在处理器内部,进行业务操作,如登陆信息合法性判断等
4.登陆正确,返回系统主页面,登陆错误,返回错误提示信息
1.3信息提炼
请求分发器:即请求入口,所有请求都经过该分发器,我觉得他就是一个高速收费站;
请求映射表:不同的请求对应不同的处理过程,映射表记录请求和处理动作的对应管理。
高速公路上有牌牌,请按照牌牌指示行走,可别走错了。会被丢弃的。
控制器:映射表负责将请求交由控制器,在控制器中,进行请求的响应,即业务处理。
2. web请求处理过程
![20193748_WU9O.jpg](http://static.oschina.net/uploads/img/201501/20193748_WU9O.jpg)
2.1 请求分发器
在Spring中,叫DispatcherServlet,在JFinal中,称为
JFilter
,作用是
作为所有请求的
统一入口,进入该入口后再做处理,
该对象需要在web.xml中进行配置。
2.2映射表
映射表负责将请求与对应的控制器进行关联,建立一张映射表,key为请求URL,value为对应的控制器。
Spring配置方式:XML配置
<bean name = "./home.htm" class = "org.avic.soft.HomePageController"></bean>
JFinal配置方式:编码
![20193748_5BHw.jpg](http://static.oschina.net/uploads/img/201501/20193748_5BHw.jpg)
但是不管采用何种方式,目的是为了建立请求与控制器之间的关联关系。
2.3控制器
控制器是真正响应请求动作的地方。在控制器内,可以做真正的业务逻辑操作,一般是调用相关的Action进行处理。而我们的工作重心,就是完成实现Acion的内容。
3. 附录
web开发框架梳理了web请求的处理流程、并通过框架,让开发人员集中精力关注业务层面,其他工作框架已为我们做好,无需在旁枝末节上耗费精力。
4.参考
《Spring inAction第二版中文》 P330页 第13章
《JFinal1.8 Manual文档》