版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaEE项目应用开发
单元1:Web应用构架及JavaEE软件技术专业吴道君课程介绍课程名:《基于Struts+Sprint+Hibernae框架的项目开发》课程性质:一门高级Web应用开发技术课程;先修课程:JAVA程序设计、使用JSP开发Web应用系统后续课程:Android高级应用开发(必修)目标:熟悉开源软件环境的搭建、使用,引导大家走入开源技术领域;掌握使用Struts开发框架开发Web应用的方法;开发基于标准架构的、具有良好扩展性和维护性的Web程序;课程介绍C#OOPJavaScriptT-SQLJavaOOPS2350Y2344JSP预备课程WinFormsLogicJavaS1314ASP.NETHibernateN-TierAjaxSpringStrutsHTMLC#IOSwinphone.NET毕业设计项目COTAndroidJava毕业设计项目移动应用毕业设计课程地位HibernateStrutsSpringHibernateStruts教学手段和方法以贯穿项目为基线,将知识技能点融入项目的一个个任务中以任务驱动的教学方法以先行后知的原则安排任务必备知识的准备完成任务知识提炼和要点提示边讲边练:老师演示功能的具体实现同学们实际操作,老师给予辅导课程考核本课程考察的重点:实际编程能力考核方式 项目考核成绩构成内容及各自比例(百分制)平时成绩。(占总成绩的40%)
考核标准:上课正常出勤,课后作业按时完成。项目成绩。(占总成绩的60%)最多两个人一组需要提交项目设计文档+数据库源文件+项目源代码企业对JSP的需求招聘网站:/职位描述:J2EE开发工程师招聘描述:Web应用的发展12345Model1和Model2MVCStruts1Struts2Hibernate、SpringModel1Model1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看,它的局限性非常明显:JSP页面身兼View和Controller两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。Model2Model2下JSP不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户;JSP页面的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信。在Model2模式下,模型(Model)由JavaBean充当,视图(View)由JSP页面充当,而控制器(Controller)则由Servlet充当。
什么是MVC设计模式MVC(ModelViewController)模型(model)-视图(view)-控制器(controller)MVC模式的目的就是实现Web系统的职能分工。框架模式MVC模式是一种架构模式,其实需要其他模式协作完成。在J2EE模式目录中,通常采用servicetoworker模式实现,而servicetoworker模式可由集中控制器模式,派遣器模式和PageHelper模式组成。(ServicetoWorker模式的目标就是维护Action,View和Controller之间的分离。)而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中MVC之间的联系M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。MVC之间的联系Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己MVC之间的联系statequery:状态查询changenotification:更新通知statechange:状态更新viewselecion:视图选择useractions:用户行动Event:事件Methodinvocations:方法调用MVC之间的联系MVC模式的实现MVC与J2EE架构的对应关系是:View处于WebTier(Web层)或者说是ClientTier(客户层),通常是JSP/Servlet,即页面显示部分。Controller也处于WebTier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于MiddleTier(中间层),通常用服务端的javaBean或者EJB实现,即业务逻辑部分的实现。MVC的优点首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
MVC的缺点(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。(4)目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。使用MVC的原因使用JSP和Servlet得以方便的实现MVC模式,如下图,它继承了JSP和Servlet,利用了两种技术的优势,JSP负责表示层,而Servlet负责执行调度任务。J2EE轻量级框架Struts+Spring+Hibernate整体框架和业务层用Spring,表示层用Struts,而持久层用Hibernate。
Struts1概述Struts是基于MVC的WEB应用框架.Struts为JavaWeb应用提供现成的通用框架.Struts可以提高Web开发应用的速度,开发人员的精力集中在解决实际业务问题上.Struts实现MVC的原理Struts实质上就是在JSPModel2的基础上实现的一个MVC框架.在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成.WEB服务器浏览器(控制器)ActionServletstruts-config.xmlActionActionAction(视图)JSP(模型)JavaBeanEJBActionFormBean的作用视图组件控制器组件ActionFormBean(包含用户输入数据)ActionFormBean(包含修改后的数据)Struts的工作原理对于采用Struts框架的WEB应用,在WEB应用启动时加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把他们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中.当ActoinServlet受到一个客户请求时,将执行如下流程:(1)检索和用户请求匹配的ActionMapping对像,如果不存在,就返回用户请求路径无效的信息.(2)如果ActionForm实例不存在,就创建一个ActionForm实例,把客户提交的表单数据存到ActionForm实例中.(3)根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法.(4)如果ActionForm的validate()方法返回一个null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功.(5)ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action.如果Action实例不存在,就创建一个Action实例,然后调用Action的execute()方法.(6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件.(7)ActionForward对象指向的JSP组件生成动态网页,返回给客户.其中第四步,如果ActionForm的validate()方法返回一个包含一个或多个ActionMessage的ActionErrors的对象,就表示表单验证失败,此时ActionServlet将直接把请求转发给包含用户提交表单的JSP组件.在这种情况下,不会再创建Action对象并调用Action的execute()方法.请求到来ActionMapping是否匹配返回错误信息不匹配
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级科学上册第1单元水5水能溶解多少物质教案2教科版
- 安全回家幼儿课件
- 飞行区准入安全课件
- 三年级教师个人教学参考计划
- 2021年卫生高级职称(超声医学)章节练习及答案(六)(过关必做)
- 《沙盘主题昆明》课件
- 专业技术人员权益保护考试题及答案
- 2021年山东高考英语真题及答案
- 小学生植物作文指导课件
- 《糖尿病足护理查房》课件
- 【初中地理】世界的聚落+课件-2024-2025学年七年级地理上学期(湘教版2024)
- 2023年福建公务员录用考试《行测》真题卷及答案解析
- 辩论英文课件教学课件
- 2023-2024学年四川省宜宾市八年级上学期期末数学试卷及参考答案
- (统编版2024)语文七年级上册 第四单元写作《思路要清晰》 课件(新教材)
- 浙江省台州市2023-2024学年高一上学期期末考试 化学 含答案
- 2024年度工作总结模板
- 铣工高级工测试题(含答案)
- 送货员岗位劳动合同模板
- 2024年自然资源部所属事业单位招聘(208人)历年高频难、易错点500题模拟试题附带答案详解
- 2024年售楼处规章制度例文(六篇)
评论
0/150
提交评论