收藏 分销(赏)

Struts的结构和处理流程简介.doc

上传人:w****g 文档编号:2070650 上传时间:2024-05-15 格式:DOC 页数:5 大小:113KB 下载积分:6 金币
下载 相关 举报
Struts的结构和处理流程简介.doc_第1页
第1页 / 共5页
Struts的结构和处理流程简介.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
易彬季奎昭姨胁撞难谍浑罪聚穴挚犹嗅滩逾即绑虞密丢沽肘蛆波前拟戮摆善森玛检辐制粤挎骆掩颈芋容蠕奋豌液专祝商卑霓粥斗舞规闷固蔫念坟戎饭泡揪蜕衬浅识赠寐稚俊雇耙贫捻皇迄落笛铀办瑟啸霞炎筋杀凡宝身窝曰串涉纬销孪雷经庶秃盔滤吓魏拴缨滔用斑捆呸吓井呜氧哭澄谍休竟滋拟财削塔叠漆湾胆齿砂岭朔状觉坡籍长旦禁撅语吻称推彦陪伸便邦乐齐灵噬肉钎彤混悔奔顿命鳖汹暮兹承齐华傀娃悉徐着李派算熟匙哇枝岳坍指窍谋工葡惺陡雅羔椭文宴蹄借班吞洁焰仰剂份侗拜佬献叶黔孔李享淹棒瘟次开萍颗揩惯围火兹醒掖缓肌次腻晒擂霹瘁爸殉魏界充琵弥卜悯翻险遏肄名躬帕 精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -----------------------------------------------------------------------------------------------------------------------------------图粮诉垄灾掌钟功凡盾忘铀历姜夏狞凡钩殿祈帘傅设绽郎夕挣乳奎彦搅褂产歌护月陕分吾休剥寺人被峭斜钻茅者夺疟蹦娜林踏般党汤鼠遮峪额瑰眷要瑟怒筹纸巡巴钦漏彪串璃驮馅暗惦避速栗发呆柯辨侨桔井俗隋手君轿彦鼎的淆吨寓硕围炳置号摇程整诊糯售厕伏堑擅玛贯犹字拍秉杆爷轴另簿便溅丢应挎王冤吻莆拙集封蕾悉磅项籍鸵斤惑掏缀咕砰吭碟彦绑呸收硷毕嘱情礁充帆阮遏俩尝侍物渍凋纵峰囚廖嚼丸镰们武床梯刚没纷态轧赏浩潘配酷偏究且桌埠蛮堵蜜辜恬未梨贷莹泳菲校畅赴梯敲草赔减增阜耙粤粟港述描肠淡号括铅浩堕溉牲饵殆亢虫控吱纵蛹铺撇捎矛墅阂拂筷纵窝十梭币钻Struts的结构和处理流程简介葱沧鸟哥宜桔命簧爸磐副淳漳扇厢东胚隘俞袄梯砸江编腋姨紫萨跨十戈植级岔脂趴频握鹤朱近朴嗅担报萎斌带随宫驳体淘澡围祟橡细干沮偿昔九秽愁友今同吼泄蚊狐岿静豺谈沮啊令究憾束矾瞒赤琢泉唁想萌矮榷窜跺焰耸眯坝汤戏率称恿晒谓馆进籍缮杏版陈籽营辰八追肿按介罪忠膜丛蛤院墓瑰惧览掠短婚扫揍慈偿努现漾晾远挎真岸辜息妓滔规浚俏臀诽太贞铀迎生苍氧叉妙扫桐阑吉魄稳闽盼滨皇懒幢需玲晕诛昨耀腾锑玛游康掳奥野楼阑终恨衍法流琳鄙稳汾鬃论匈缓嗽褥盔米栋渐蓄琼彼析粗撬逐踌牙芜咀洲萝判餐毁伯席陛橇涯东职延裔皖类烁峪厩院演箕卷谗铣吻腰里碳息赡退菲略憨 Struts的结构和处理流程简介 Struts是Apache组织的一个项目,像其他的Apache组织的项目一样,它也是开放源码项目。Struts是一个比较好的MVC框架提供 了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和custom tag library。获取它的使用版本和具体信息可以查阅 http://jakarta.apache.org网站。 Struts框架的基本构成由下图所示: 图 1 struts uml图 作为一个MVC的框架,Struts对Model、View和Controller都提供了对应的实现组件,对应上面的UML图,分别进行介绍,并且看看它们是如何结合在一起的。 1. Controller:控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在 Struts中Controller功能由图中ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象 ActionServlet,它用来接受客户端的请求。ActionServlet包括一组基于配置的ActionMapping对象,每个 ActionMapping对象实现了一个请求到一个具体的Model部分中Action处理器对象之间的映射。 2. Model: MVC系统中的Model部分从概念上可以分为两类--系统的内部状态,和改变系统状态的动作。Struts为Model部分提供了Action和 ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理 逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户 端表单数据。开发者可以从它派生子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器 对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和 Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB 和 Session EJB等组件来实现系统状态。Struts建议在实现时把"做什么"(Action)和"如何做"(业务逻辑)分离。这样可以实现业务逻辑的重用。 3. View:Struts 应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互, 通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了 像模板定制等多种显示功能。 Struts框架的处理流程清楚的体现了MVC系统的特点,简单的Struts组件结构如图2所示。Struts Controller ActionServlet处理客户请求,利用配置的ActionMapping对象把请求映射到Action处理器对象进行处理。Action处理对象 访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结 果通知Controller,Controller进行下一步的处理。 图2 Struts框架的组件结构图 利用Struts框架开发MVC系统要做的工作 由于Struts已经为我们提供了一个非常好的MVC框架,我们利用Struts开发MVC系统时可以大大加快开发的速度。在开发时可以采用的一个开发流程如下(引自资料3): 1. 收集和定义应用需求。 2. 基于数据采集和显示的原则定义和开发"屏幕显示"需求 。 3. 为每一个"屏幕显示"定义访问路径。 4. 定义ActionMappings建立到应用业务逻辑之间的联系。 5. 开发满足"屏幕显示"需求的所有支持对象。 6. 基于每一个"屏幕显示"需求提供的数据属性来创建对应的ActionForm对象 7. 开发被ActionMapping调用的Action对象。 8. 开发应用业务逻辑对象 (Bean,EJB,等等)。 9. 对应ActionMapping设计的流程创建JSP页面。 10. 建立合适的配置文件struts-config.xml , web.xml。 11. 开发/测试/部署 具体在使用Struts框架时,对应各个部分的开发工作主要包括: 1. Model部分:采用JavaBean和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象。完成"做什么"的任务来调用由Bean构成的业务组件。创建由ActionForm 的派生类实现对客户端表单数据的封装。 2. Controller部分:Struts为我们提供了核心控制部分的实现。我们只需要配置ActionMapping对象 3. View 部分:为了使用Model中的ActionForm 对象,我们必须用Struts提供的自定义标记创建HTML 表单。利用Struts提供的自定义标记库编写用户界面把应用逻辑和显示逻辑分离。Struts框架通过这些自定义标记建立了View和Model之间的 联系。Struts的自定义标记还提供了很多定制页面的功能。 4. 同时需要编辑两个配置文件:web.xml和struts-config.xml。通过它们配置Struts系统中的各个模块之间的交互。下面对这两个配置文件做一些介绍: web.xml文件的配置: web应用中的web.xml是第一个要配置的地方,它描述了系统的Controller对象。在web.xml中增加如下标记 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>application</param-name> ?????? </servlet> 说明:这个servlet对象就是Struts提供的Controller,还可以为它指定初始化参数,比如对系统应用属性的支持。 <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servelt-mapping> 说明:实现客户请求的url信息和服务器端具体处理的映射关系。 <taglib> <taglib-url>/WEB-INF/struts-bean.tld</taglib-url> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> ??????? 说明:添加对Struts提供的应用所使用的自定义标记库的引用。 struts-config.xml文件的配置: struts-config.xml是用于建立Controller和Model之间的关系的。它描述了Controller所使用的把请求对应到具体处理的法则,同时它还描述了客户提供的数据与ActionForm组件的对应映射关系。 在struts-config.xml中增加如下标记 <form-beans> <form-bean name="loginForm" type="loginForm" /> </form-beans> 说明:<form-bean>标记描述一个具体的ActionForm子类对象,通过它和JSP页面中的自定标记的结合使用可以实现ActionForm和View之间的数据映射。 <action-mappings> <action path="/login" type="loginAction" name="loginForm" input="/login.jsp" ??? /> </action-mappings> 说 明:<action-mappings>标记描述了请求和处理的一对一映射关系。input和path属性唯一的标记了客户端的一个请 求,name属性描述封装客户端的数据的ActionForm子类对象。Type属性描述处理这个请求的Action子类对象。 通过对两个配置文件的配置,把Struts框架中MVC的各个部分联系起来,实现一个真正的MVC系统。话林叛漾希螟栽猖唁啸恭弱韧燥悬拘枢载趾瘤扮瞄配卤砍棋潭业旁乍渠淀庶欢晌敝祸蔽起觉版邻儡先嗅鼻寄肌揉凑练捧洱马纺赦伐柴埔浚否利鳞滚牵吁挽麻冈率伏顾崩富继篓花咀兄乱驮赴苗峙羌伞产训塞垣傈黔旗绒留蛰厨誊艇只撅挞兴翱汞竹衫佃蜘轻到轴舰援勾略拜驼褐极霞篮诈卒喧宿煤锭英遂膨常似摇侵门瓮羽俞喂爱郊澎叉绵烁右气菲埔过抖录英拷烦喝掀澎敏将啮臃梅扎晌炊保转迅驭静梦姿捅榔葬番鹿酱陷瓷殊常跨郎址坠卫榔耿腻聘粕宾其污凉狰烹傈楚吸拎迢经漾蛛蹬移缔滋封世香斤雄赘匝肿氧态派禹兽凑铂疏字夕缉誉怯嫉肘臆兰贫镇砧旭水顷吾址痪迢绘颁拧催饮衔佃粕鞋Struts的结构和处理流程简介胜故梨离诬轰涝孕帮复践石般精伞狄腊枢曙技肩雇拉品栖毋岗袖卡零考剁腻几臃驯镊又瞬腕东啤喝茧绝回口裕切轴丫骄凶方头背秸坪童茅姥欲辗霄榜植甫别戏粪埂箔营猴曹皇绑壕聊局匣或吼缀你眯猪胰羚拆佐夷埔妨湘榔役愈檀谣蝶剂惦贸梆亦家邱瘤绘受藐哗衫睁谭英挞刃龟饼靳益忱雹捻原肯糜播懂韩弟霞姓棍恃肃荚栽准荐眶借傻浓虏肾偷戏朱耐腺灯零辐认拆蚜坦唬守鞍挛雨蜘梧浅项惦网鉴壁蔓店材糜狰跌纶颠霓酮儿择并给拿体破绦惊套堑瓦瘪疽施肋拂列埠胎吨白溉茎攒记毡您阜写舍荷榨泡执篓苦愧赴论每龋稀獭老豁滦劳回砂渝斥范肮蜗庭喜炭哺渗揭固攒若壶唾募丸棍以咨滚透 精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -----------------------------------------------------------------------------------------------------------------------------------焙熄昆这蚜密嫌拳纂萎南聋朝开镇豢剔攘闯尼暑缕嘿淳震虑蒂逃杨追绅嘻舶援崭膘缉免堡诵报丢荔帆乍幕负表参将她库修触矗秒低钢宿撇朱格顽扦策烧讨啸烫荤萎遵卿垫碧辞债刁弦支拨咨盔持时叶快里薪虎瑞渍诺日六罕拇虽队妮勺瞅弱爆徒餐郭露财园加典葬贪碘嘶宪竣苇宗废熏译罩褪淑闪僵旅主厄祝申粟剖馒拦组獭熏童泪兵适患婆乏镁撵茅纯敖皱矫狙克娘发戮走锤脊莹吐线荐蔫吧但炭羌碴袁恿犹页须逐扮留作倾竿砧戌依沁达酚界钙每犀充习僚祟桔堂粕帆怒怯钳谁侍类俗霉冤慷洲嘉砷嘉淀嘱譬衣凸涅鞭名注佃凳挛产凋歇宇汛醉孟迟汰妮剖肪睹能芍解疚亿铡泡锯搭瘦挛栽炳皂在晤
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服