WEB三大应用框架之一structs
structs 基于mvc的web应用框架
structs结构
Model,划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),对应Struts里ActionForm与Action,需继承实现超类。
视图(View)端,除使用标准的JavaServer Pages(JSP),还提供了大量的标签库使用tag-lib,同时可与其他表现层组件进行整合,比如Velocity Templates,XSLT等。
控制器Controller由一个名为ActionServlet的Servlet充当,controller功能是 转发视图(View)的请求,组装响应数据模型(Model)。
struts-config.xml的配置文件:描述模型、视图、控制器对应关系。
Struts可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB),JDBC与JNDI。
应用structs框架优缺点
1.通过应用Struts的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)。
2.Taglib和页面导航,Taglib是Struts的标记库,大大提高开发效率。
3.开源软件
4.Struts的漏洞处理机制常被诟病,OGNL的功能强大和请求处理机制极易产生远程执行问题。
structs执行流程
1). 读取配置(初始化ModuleConfig对象)
采用Struts的Web应用,在Web应用启动时就会加载并初始化ActionServlet,在ActionServlet初始化 ModuleConfig的候,调用initModuleConfigFactory()初始化配置工厂,然后由配置工厂通过 initModuleConfig("", config)获得ModuleConfig对象。通过ModuleConfig对象调用下列方法去初始化相关模块。
a.initModuleMessageResources(moduleConfig); b.initModuleDataSources(moduleConfig); c.initModulePlugIns(moduleConfig) 这些方法的功能就是:容器在加载Struts应用程序时,会先加载web.xml中与Struts相关的一些配置参数,找到struts-config.xml文件,然后通过循环来读取此文件和解析里面的内容,并初始化相关对象。
2). 用户请求
用户提交或调用url向Web应用程序提交一个请求,请求的数据用HTTP协议上传给Web服务器。
3). 填充FormBean
填充FormBean的过程包括实例化、复位、填充数据、保存等操作。根据*.do请求从ActionConfig中找出对应该请求的 Action子类,如有对应的Action且这个Action有一个相应的ActionForm,则ActionForm被实例化并用HTTP请求的数据 填充其属性,并保存在ServletContext中,这样它们就可以被其他Action对象或JSP调用。如果没有对应的Action,则直接转 发给JSP或静态页面。
4). 转发请求
控制器根据配置信息ActionConfig将请求派发到具体的Action,与请求相应的FormBean将一并传给这个Action对象。
5). 处理业务
Action一般只包含一个execute()方法,它负责执行相应的业务逻辑。执行完毕后返回一个ActionForward对象,控制器通过该ActionForward对象进行转发工作。
6). 返回响应
Action根据业务处理的不同结果返回一个响应对象给总控制器,该目标响应对象对应一个具体的JSP页面或另一个Action。
7). 查找响应
总根据业务功能Action返回的目标响应对象找到对应的资源对象,通常是一个具体的JSP页面。
8). 响应用户
目标响应对象将结果展现给用户目标响应对象,即具体的JSP页面,这样客户就得到响应的结果。
WEB三大应用框架之一structs相关推荐
- web前端三大主流框架_web前端三大主流框架
于前端开发工程师来说,组件化模块的框架能够帮助我们更加快速的搭建自己的网站.下面本篇文章和大家介绍一下web前端的三大主流框架:Angular.React.Vue,让大家可以对这三个框架有一定的了解, ...
- Web前端三大主流框架是什么?Web前端前景与就业形势
近十年以来,IT行业发展火热,衍生了很多新职业,例如UI设计师.开发工程师.软件测试工程师等等,在众多备受瞩目的新生职业中,Web前端工程师是其中的一员.那么Web前端三大主流框架是什么呢? 一.We ...
- web前端三大主流框架是什么?
转载自品略图书馆 http://www.pinlue.com/article/2020/07/1217/0311017786310.html web前端三大主流框架是什么?前端开发师的岗位职责有哪些? ...
- web前端三大主流框架介绍
转自:微点阅读 https://www.weidianyuedu.com web前端三大主流框架是什么? 前端开发师的岗位职责有哪些?微点阅读小编整理了相关内容供大家参考了解,请各位小伙伴随小编一起 ...
- 浅谈web前端三大主流框架
转自:微点阅读(www.weidianyuedu.com)http://www.weidianyuedu.com/ web前端三大主流框架是什么?前端开发师的岗位职责有哪些?小编整理了相关内容供大家参 ...
- Web前端三大主流框架是什么?它们的优点和缺点试什么?
一.Web前端三大主流框架是什么 React: 1.声明式设计:React采用声明范式,可以轻松描述应用. 2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互. 3.灵活:React ...
- Web前端三大主流框架是什么?Web前端前景与就业形势分析
近十年以来,IT行业发展火热,衍生了很多新职业,例如UI设计师.开发工程师.软件测试工程师等等,在众多备受瞩目的新生职业中,Web前端工程师是其中的一员.那么Web前端三大主流框架是什么呢? 一.We ...
- 三大缓存框架ehcache、memcache和redis的介绍
三大缓存框架ehcache.memcache和redis的介绍 2016-04-12 架构说 4964 阅读 最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存 ...
- java怎么监听多个组件,java web(五):java web三大组件之另外两个和八大监听器
java的三大组件指Servlet.Filter.Listener.八大监听器指八个接口.前面介绍了Servlet,现在介绍一下Filter拦截器以及拦截地址的设置, Listener监听那些事件. ...
最新文章
- AttributeError:module“seaborn” has no attribute “lineplot”
- php生成图片表格自动换行_实用的财务做账表格,点击即可一键生成报表,并自动结转...
- python pypdf2另存为图片_用Python玩转PDF的各种骚操作
- Android开发文章推荐
- java学习(111):日期时间格式化
- 周鸿祎:比情怀更重要的硬件创业三定律
- 10_隐马尔科夫模型HMM1_统计学习方法
- [转]SQLite内存数据库
- EJB-02:EJB开发流程
- 伺服舵机四方运动程序以及角度确定
- h2o api java_H2O与Java线程同步
- 2019矿大软件工程考试记录
- 使用FFMPEG 模仿微信拍视频
- Metasploitable渗透测试实战:ms17-010
- Python pyglet 自制3D引擎入门(一) -- 绘制几何体、创建3D场景
- 细粒度图像分类(FGVC)---综述
- Adobe Premiere Pro CC入门到精通教程合集!
- 电子元器件贸易如何应用采购管理系统,做好采购订单交期管理?
- 医药公司协同电子商务系统
- vue项目中elementUI的日期时间选择器的默认修改以及能选择当天的未来时间24点
热门文章
- java毕设 springboot公寓宿舍后勤管理系统(含源码+论文)
- 计算机wps基础知识试题,计算机一级考试计算机基础及wpsoffice应用试题.doc
- 在线电商平台管理系统源码
- 四款python中文分词系统简单测试
- 【数学建模】2019国赛C
- 人脸识别之DeepFace、DeepID以及FaceNet网络的区别
- 马云——数学1分的落榜考生
- 温故知新:常用的SQL标准有哪些,在SQL92中是 如何使用连接的?
- 安装vue脚手架遇到的问题报错‘code EEXIST‘,ERR! path C:\Users\空你吉瓦\AppData\Roaming\npm\node_modules
- 淘晶驰串口屏入门(二)文本、字库、滚动文本、滑动文本、数字、变量与虚拟浮点数