文档章节

Web请求处理流程及相应框架思考

西昆仑
 西昆仑
发布于 2015/01/20 19:37
字数 748
阅读 115
收藏 0

引言

本文主要说明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请求处理过程



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配置方式:编码


但是不管采用何种方式,目的是为了建立请求与控制器之间的关联关系。


2.3控制器
控制器是真正响应请求动作的地方。在控制器内,可以做真正的业务逻辑操作,一般是调用相关的Action进行处理。而我们的工作重心,就是完成实现Acion的内容。


3. 附录

web开发框架梳理了web请求的处理流程、并通过框架,让开发人员集中精力关注业务层面,其他工作框架已为我们做好,无需在旁枝末节上耗费精力。


4.参考
《Spring inAction第二版中文》  P330页 第13章
《JFinal1.8  Manual文档》

© 著作权归作者所有

共有 人打赏支持
西昆仑

西昆仑

粉丝 137
博文 141
码字总数 102641
作品 0
南京
高级程序员
加载中

评论(2)

西昆仑
西昆仑

引用来自“河边洗澡”的评论

又学习到了新知识,谢谢西博主。
.....这一块你比我懂啊
河边洗澡
河边洗澡
又学习到了新知识,谢谢西博主。
Spring 源码分析(四) ——MVC(二)概述

前 言 Spring 是一种企业应用开发框架,在实际开发中起到了应用平台的作用,有点像企业应用中的“操作系统”,从而为企业应用资源的使用提供一致的环境。具体来说,Spring 提供的框架特性有 ...

水门-kay
2016/03/23
1K
0
对SimpleFramewok基于后处理模式与传统B/S开发模式的总结

本文对Java B/S开发模式做一个总结,对JSP+JDBC、JSP+JavaBean以及基于MVC Framework等Java B/S开发模式的发展做一些回顾和思考,从而更好的理解和使用SimpleFramework. B/S作为如今最为流行...

upsimple
2010/11/12
167
0
1.spring mvc入门

1.前端控制器是 2.应用控制器其实拆为:a,处理器映射器(Handler Mapping),用于进行处理器管理 b,视图解析器(View Resolver),用于进行视图管理; 3,页面控制器/动作/处理器为Controller接口(包...

老二q
2016/09/13
8
0
从零开始搭建论坛(三):Flask框架简单介绍

前面两篇文章中我们已经了解 Web(HTTP)服务器,Web应用程序,Web框架,WSGI这些 Python Web 开发中的概念。我们知道,Web框架通过将不同Web应用程序中的共性部分给抽象出来,提供一系列通用的...

selfboot
2016/10/30
0
0
Spring MVC温故而知新 – 从零开始

Spring MVC简介 Spring MVC是一款基于MVC架构模式的轻量级Web框架,目的是将Web开发模块化,对整体架构进行解耦。 Spring MVC有一下优点: 作为Spring框架的一部分,拥有Spring的优点(IOC,A...

Java工程师-Distance
05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
34分钟前
0
0
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 .├── main.php├── t│ ├── t1.php│ └── t2.php└─...

anoty
34分钟前
17
0
x64技术之SSDT_Hook

测试环境: 虚拟机: Windows 7 64bit 过PG工具 驱动加载工具 PCHunter64 系统自带的计算器和任务管理器等 实现思路: 实际思路与win32的思路一样.都是替换SSDT表里边的函数地址.不过微软被搞怕...

simpower
35分钟前
0
0
TreeMap源码分析,看了都说好

一、简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现。TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很...

Java小铺
45分钟前
0
0
协变、逆变

概念 假设 A、B表示类型 ≤ 表示继承关系 f<⋅>表示类型转换 若A ≤ B,则 A是B的子类,B是A的超类 协变、逆变 什么是型变?型变(type variance)允许对类型进行子类型转换。 为了下面讲解先...

obaniu
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部