




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Struts框架实现企业级WEB应用第一章Struts1基础入门课程介绍学习内容MVC MVC 优缺点优缺点Struts Struts 概述概述StrutsStruts入门示例入门示例使用使用MyEclipseMyEclipse快速开发快速开发StrutsStruts应用程序应用程序能力目标掌握掌握Struts1Struts1体系结构体系结构理解理解Struts1Struts1工作原理工作原理掌握掌握Struts-config.xmlStruts-config.xml文件的配置文件的配置掌握使用掌握使用Struts1Struts1框架开发框架开发WebWeb应用程序的方应用程序的方法法1.
2、 MVC优缺点JSPJSP开发技术标准提出的两种设计模式开发技术标准提出的两种设计模式Model1Model1:Model1Model1设计模式是设计模式是JSP+JavaBeanJSP+JavaBean的开发模式的开发模式Model2Model2:Model2Model2设计模式是设计模式是JSP+JavaBean+ServletJSP+JavaBean+Servlet的开的开发模式发模式1. MVC优缺点Model1Model1模式模式该模式适用于小型的该模式适用于小型的WebWeb应用程序的开发应用程序的开发 JavaBeanJavaBean通常用于处理具体的业务数据通常用于处理具体的业
3、务数据JSPJSP负责接收用户请求,调用相应的负责接收用户请求,调用相应的JavaBeanJavaBean完成业务完成业务逻辑,并将处理结果返回给用户逻辑,并将处理结果返回给用户客户端数据库请求JSP页面JavaBean请求在在Model1Model1设计模式中,设计模式中,JSPJSP不仅需要进行程序中不仅需要进行程序中大部分的流程控制,还需要负责页面显示大部分的流程控制,还需要负责页面显示JSPJSP技术标准推出了技术标准推出了Model2Model2模式,该模式在模式,该模式在JSP+JavaBeanJSP+JavaBean的设计模式基础上加入的设计模式基础上加入ServletServl
4、et来来实现程序控制层实现程序控制层在在Model2Model2设计模式中,设计模式中,由由ServletServlet控制程序流程,控制程序流程,由由JavaBeanJavaBean实现业务逻辑,实现业务逻辑,由由JSPJSP负责数据显示负责数据显示Model2优缺点 Model2 Model2中中MVCMVC设计模式的工作流程设计模式的工作流程执行Servlet接收客户端请求,并调用业务类的方法进行数据处理Servlet根据数据处理的结果,控制下一个显示的HTML或者JSP页面ServletJSP页面转向JavaBean调用Model2简介数据库Model2及其优势多个视图可以对应一个模型
5、。多个视图可以对应一个模型。按按 MVC MVC 设计模式,一个模型对应多个视图能够减少代设计模式,一个模型对应多个视图能够减少代码的复制量以及维护量。一旦模型发生改变,也易于维码的复制量以及维护量。一旦模型发生改变,也易于维护护模型返回的数据与显示逻辑分离。模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如使用模型数据可以应用任何的显示技术,例如使用JSP JSP 页面、页面、 Velocity Velocity 模板或者直接产生模板或者直接产生 Excel Excel 文档等文档等应用程序被分隔为应用程序被分隔为3 3层,降低了层间的耦合,提供层,降低了层间的耦合,提供了应
6、用的可扩展性了应用的可扩展性MVC MVC 更符合软件的工程化管理精神。更符合软件的工程化管理精神。不同的层各司其职,各层的组件具有相同的特征,有利不同的层各司其职,各层的组件具有相同的特征,有利于通过工程化与工具化产生管理程序代码于通过工程化与工具化产生管理程序代码 Model2及其缺点Model2Model2控制器太多,不能复用控制器太多,不能复用开发效率低开发效率低结构不一致。结构不一致。什么是框架技术“框架技术框架技术”帮我们更帮我们更快快更更好好地构建程序:地构建程序:是一个应用程序的半成品是一个应用程序的半成品提供可重用的公共结构,相当于利用框架完成了提供可重用的公共结构,相当于利
7、用框架完成了部分基础工作,开发者只需要集中精力完成系统的部分基础工作,开发者只需要集中精力完成系统的业务逻辑设计业务逻辑设计按一定规则组织的一组组件按一定规则组织的一组组件优势:优势:不用再考虑公共问题不用再考虑公共问题专心在业务实现上专心在业务实现上结构统一,易于学习、维护结构统一,易于学习、维护新手也可写出好程序新手也可写出好程序 直接组装汽车,不用自己造轮子直接组装汽车,不用自己造轮子站在巨人的肩膀上,享用前人经验和智慧站在巨人的肩膀上,享用前人经验和智慧2. Struts 概述现今比较流行的开源框架现今比较流行的开源框架StrutsStruts是实现是实现MVCMVC设计模式的一个优秀
8、框架,它定义了设计模式的一个优秀框架,它定义了通用的控制器,通过配置文件与视图,以通用的控制器,通过配置文件与视图,以ActionAction的概念的概念对用户请求进行封装,使代码更清晰易读对用户请求进行封装,使代码更清晰易读HibernateHibernate是一个数据持久化框架,能够使开发者以面是一个数据持久化框架,能够使开发者以面向对象的方式去操作关系型数据库,极大地提高了数据向对象的方式去操作关系型数据库,极大地提高了数据层的开发效率层的开发效率SpringSpring是一个轻量级的框架,主要作为依赖注入容器是一个轻量级的框架,主要作为依赖注入容器与与AOPAOP实现存在。实现存在。S
9、pringSpring相当于一个大型工厂,创建并相当于一个大型工厂,创建并管理应用程序中的组件,从而降低组件间的依赖性,实管理应用程序中的组件,从而降低组件间的依赖性,实现低耦合,提高了应用程序的可维护性、可扩展性现低耦合,提高了应用程序的可维护性、可扩展性2.2 什么是Struts框架Struts Struts 是是 Apache Apache 软件基金组织软件基金组织 Jakarta Jakarta 项目的项目的一个子项目一个子项目 Struts Struts 的前身是的前身是 CraigR.McClanahan CraigR.McClanahan 编写的编写的 JSP JSP Model
10、2 Model2 架构架构 使用使用 Struts Struts 可以更好地遵循可以更好地遵循 MVC MVC 模式模式 Struts Struts 提供了一套完备的规范以及基础类库,具提供了一套完备的规范以及基础类库,具有很强的可扩展性,可以充分利用有很强的可扩展性,可以充分利用 JSP/Servlet JSP/Servlet 的优点,从而减轻程序员的工作量的优点,从而减轻程序员的工作量Struts Struts 框架在面世时立即引起了框架在面世时立即引起了 Java Java 开发者的开发者的广泛关注,并在全世界内推广开来,最终成为应用广泛关注,并在全世界内推广开来,最终成为应用最广泛的最
11、广泛的MVC MVC 框架框架 模型(模型(ModelModel)部分)部分Struts1Struts1的模型部分由的模型部分由JavaBeanJavaBean组成。组成。JavaBeanJavaBean封装了封装了底层的业务逻辑,包括数据库访问等底层的业务逻辑,包括数据库访问等视图(视图(ViewView)部分)部分Struts1Struts1的视图部分采用的视图部分采用 JSP JSP 实现实现ActionFormActionForm用于封装用户请求参数,所有用户请求参数用于封装用户请求参数,所有用户请求参数由系统自动封装为由系统自动封装为ActionFormActionForm对象。该对
12、象被对象。该对象被ActionServletActionServlet转发给转发给ActionAction,然后,然后ActionAction根据根据ActionFormActionForm中的请求参数处理用户请求中的请求参数处理用户请求 2.3 Struts1的体系结构2.3 Struts1的体系结构控制器(控制器(ControllerController)部分)部分系统核心控制器(系统核心控制器(ActionServletActionServlet):负责):负责拦截所有拦截所有HTTPHTTP请求,然后根据用户请求调请求,然后根据用户请求调用业务逻辑控制器(用业务逻辑控制器(Action
13、Action)业务逻辑控制器(业务逻辑控制器(ActionAction):业务逻辑控):业务逻辑控制器负责处理用户请求,但是其本身并不制器负责处理用户请求,但是其本身并不具有处理能力,而是调用具有处理能力,而是调用 Model Model 来完成处来完成处理理 2.3 Struts1的体系结构浏览器Web服务器(核心控制器)ActionServlet(视图)JSPStruts-config.xml(业务逻辑控制器)Action(业务逻辑控制器)Action(模型)JavaBeanEJBServlet/JSP容器(业务逻辑控制器)Action2.4 Struts1 运行流程ActionServl
14、etJSP页面页面ActionForm客户端客户端JavaBeanStruts-config.xmlAction1. HTTP请求2. 填充FormBean3. 转发HTTP请求4. 调用ActionForm5. 调用JavaBean6. 回送ActionForward7. 转发HTTP请求8. 调用JavaBean9.HTTP响应 Struts1 Struts1运行流运行流程程4. 使用MyEclipse简化Struts开发给项目添加给项目添加StrutsStruts支持支持注意:利用MyEclipse工具向Web工程中添加Struts支持时,将自动生成struts-config.xml配置
15、文件初始架构,并自动在web.xml文件中添加ActionServlet配置信息4. 使用MyEclipse简化Struts开发添加添加ActionFormActionForm使用Struts实现登录验证使用使用 开发开发的的4 4个步骤个步骤 给项目添加给项目添加StrutsStruts支持支持实现业务类实现业务类 添加添加StrutsStruts组件组件1 1、ActionFormActionForm2 2、ActionAction3 3、添加、添加jspjsp页面页面4 4、配置、配置struts-config.xmlstruts-config.xml调试运行调试运行完成的项目完成的项目
16、1234使用Struts实现登录验证给项目添加给项目添加Struts支持支持添加添加Struts支持支持后后的项目的项目增加了:增加了:Struts JAR 包包struts-config.xmlStruts标签库标签库修改了修改了web.xml添加添加Struts支持支持前前的项目的项目Struts是基于是基于Servlet技技术实现的框架术实现的框架Struts配置文配置文件的文件名,件的文件名,拦截所有以拦截所有以“.do”结尾的结尾的请求请求1使用Struts实现登录验证实现业务类(模型实现业务类(模型 - Model)2实现实现ActionFormActionForm使用Struts
17、实现登录验证public class LoginForm extends ActionForm private String logname;private String logpwd;。struts.action.LoginForm.java从从登陆页面登陆页面Form表单表单中获取同名的中获取同名的参数参数3使用Struts实现登录验证添加添加Struts组件组件2、Action - 编写编写Action代码代码public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest req
18、uest, HttpServletResponse response) LoginForm loginForm = (LoginForm) form;String uid=loginForm.getLogname();String pass=loginForm.getLogPwd();UserDao userDao=new UserDao();UserInfo user=userDao.login(uid, pass);if(user!=null)request.getSession().setAttribute(user, user);return mapping.findForward(s
19、uccess);return mapping.findForward(fail);struts.action.LoginAction.java从从ActionForm中即可获中即可获得表单提交的参数得表单提交的参数通过逻辑名引用页面通过逻辑名引用页面逻辑名和页面对应关系在逻辑名和页面对应关系在struts-config.xml中配置中配置3调用业务类进行调用业务类进行登录验证。登录验证。调用调用mapping.findForward()方法实现转向。方法实现转向。使用Struts实现登录验证添加添加Struts组件组件3. 添加添加JSP页面页面 根据根据 Action 的的 Forwords
20、属性属性的设置,添加的设置,添加login.jsp和和welcome.jsp两个页面两个页面用户名:用户名: 密密 码:码: /login.jsp第一个数:第一个数:$requestScope.LoginForm.logname第二个数:第二个数:$requestScope.LoginForm.logPwd结果:结果:$requestScope.sum/welcome.jsp采用采用Struts提供的提供的html:form标签标签对应前面对应前面Action的的path属性属性对应前面对应前面Form的属性名的属性名ActionForm保存在保存在request或或session中中3使用S
21、truts实现登录验证添加添加Struts组件组件4、配置、配置struts-config.xmllogin.jspLoginAction.java3使用Struts实现登录验证调试运行调试运行3小结使用使用StrutsStruts开发加法器过程中使用了哪些开发加法器过程中使用了哪些StrutsStruts组件?组件?使用使用StrutsStruts开发步骤是什么?开发步骤是什么?1 1、添加、添加StrutsStruts支持支持2 2、开发业务逻辑类(模型,、开发业务逻辑类(模型,ModelModel)3 3、开发、开发ActionFormActionForm组件(视图组件,组件(视图组件,
22、ViewView)4 4、开发、开发ActionAction组件(控制组件,组件(控制组件,ControllerController)ActionForm组件组件Action组件组件小结5 5、开发、开发JSPJSP页面页面6 6、修改配置文件、修改配置文件struts-config.xmlstruts-config.xml,配置,配置ActionFormActionForm和和ActionAction7 7、调试运行、调试运行Struts原理StrutsStruts原理原理AddForm,ActionMapping123456开发时只需关注:开发时只需关注:两个核心组件两个核心组件:ActionFormAddAction一个配置文件一个配置文件1、页面提交的数据封装到、页面提交的数据封装到ActionForm中中2、通过请求路径查找、通过请求路径查找Struts-config.xml中中Action的配置,找的配置,找到并调用对应的到并调用对应的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高级经济师考试试卷及答案详细汇报
- 2025年心理学考研复习试题及答案
- 2025年全国大学英语考试模拟试题及答案
- 2025年初中数学补习班考试题及答案
- 中医执业医师考试复习app:如何选择高效工具
- 中考物理考点冲刺23【热机】(含答案)
- 医疗机构后勤服务流程优化与建筑设施改造合同
- 民宿景区特色民宿租赁及民宿旅游导览服务合同
- 人工智能语音数据标注合作框架协议
- 虚拟现实旅游项目风险评估与投资决策合作协议
- 2025年北京市朝阳区高三二模-政治+答案
- 温州市普通高中2025届高三第三次适应性考试物理试题及答案
- 《光纤激光切割技术》课件
- 10.信息光子技术发展与应用研究报告(2024年)
- 2025年下半年商务部外贸发展事务局第二次招聘8人易考易错模拟试题(共500题)试卷后附参考答案
- 2024年山西杏花村汾酒集团有限责任公司招聘笔试真题
- 《行政法与行政诉讼法》课件各章节内容-第一章 行政法概述
- 浙江2025年浙江省地质院本级及所属部分事业单位招聘笔试历年参考题库附带答案详解
- 2025年广东广州中物储国际货运代理有限公司招聘笔试参考题库含答案解析
- 海外安保面试题及答案
- 危重患者的早期康复
评论
0/150
提交评论