- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
javaee框架与程序设计--第五部分
JavaEE架构与程序设计 第五部分:MVC MVC 了解MVC的概念和应用 MVC Servlet容器响应客户请求的过程 共享数据的四种存放范围 page: PageContext request: HttpServletRequest session: HttpSession application : ServletContext 一个简单的Demo,包含如下几个部分 JSP页面 登录逻辑(Java类实现) 连接JSP与Java类的Servlet Demo中的MVC体现 MVC MVC本来应用于桌面程序 M是指数据模型,V是指用户界面,C则是控制器 JavaEE的Web应用开发,经历了Model1和Model2的不同时代 Model2已经是MVC设计思想下的架构,Servlet充当控制器,JSP充当视图,JavaBean则作为模型 JSP Model1 相对于纯粹使用JSP开发,许多有经验的工程师都会将部分可以重复利用的组件抽出来写成JavaBean,当用户送来一个请求是,通过JSP调用JavaBean负责相关数据存取、逻辑运算等等的处理,最后将结果回传到JSP显示结果 JSP Model1 优点: 程序可读性增高:将复杂的程序代码写在JavaBean之中,减少和网页标签混合使用的情况,未来维护的时候能够较为轻松。 可重复利用性高:由于通过JavaBean来封装重要的商业逻辑运算,不同的JSP可以调用许多共享性的组件,减少开发重复程序代码的工作,增加开发效能。 缺点: 缺乏流程控制:这是Model最大的缺点,缺少了MVC中的Controller去控制相关的流程,每一个JSP都要验证需求的参数正确度,确认用户的身份权限、异常发生的处理,甚至还包括显示端的网页编码原则及语系设定 JSP Model1 Model1工作原理图 JSP Model2 JSP负责生成动态网页 Servlet负责流程控制 JavaBean负责业务逻辑 JSP Model2 JSP Model2原理图: MVC的概念 MVC是Model-View-Controller的简称,即模型-视图-控制器。 MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。 MVC的概念 MVC结构图 模型 模型是应用程序的主体部分, 模型表示业务数据和业务逻辑。 一个模型能为多个视图提供数据。 由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。 视图 视图是用户看到并与之交互的界面,作用如下: 视图向用户显示相关的数据。 接受用户的输入。 不进行任何实际的业务处理。 视图向模型查询业务状态,但不能改变模型。 视图接受模型发出的数据更新事件,从而对用户界面进行同步更新。 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。 当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。 控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。 MVC处理过程 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。 然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。 最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。 MVC优点 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。 MVC的适用范围 使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的应用程序,会带来额外的工作量,增加应用的复杂性,所以MVC不适合小型应用程序。 但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。
文档评论(0)