- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一讲 Web三层架构与框架 Web三层架构 用户接口层(UI Layer) {表示层} 业务逻辑层(Bussiness Layer) 持久化层 (Persistence Layer){数据逻辑层、数据访问层} 为什么要分层 在早期的web开发中,因为业务比较简单,并没有这三层的划分。用户数据的呈现及输入的接收、封装、验证、处理、以及对数据库的操作,都放在jsp页面中。这时的开发,好比盘古尚未开天辟地,整个web开发就是一片“混沌”。 开天辟地 把显示层(JSP)抽取出来并形成与业务和持久化层(JavaBean)无关的一层,能够让业务逻辑更加清晰,产品更便于维护。这就是SUN当初倡导的JSP Model 1开发方式。 用户通过浏览器向JSP发出请求; JSP根据需要调用JavaBean,大部分的数据存取、逻辑运算等处理由JavaBean完成; 当JavaBean处理完成之后再回传到JSP; 由JSP显示最后的结果。 持久化层的分离 持久化层:专门负责对象状态的持久化保存及同步,那不就可以全心全意的“搞对象”了 。 持久化概念的产生,代表着我们对关系型数据库的依赖降低了。因此甚至有人推断——关系数据库将死。 分层开发的优势 职责划分清晰 无损替换 复用代码 降低了系统内部的依赖程度 灰色地带 是的,从理论上看,web三层架构很美了。但在实际开发产品的时候,我们发现了很多问题。主要问题就是用UI层和业务层之间有许多灰色地带。这些灰色地带业务逻辑层不想管,UI层也不想管。让我们举一些例子: 难以管理的跳转关系 试想,如果你正在做一个有上百张表,十几个核心模块,几百个页面的产品时,这张图将变得多么复杂!而问题是,这些页面跳转关系分散在JSP和Servlet中,非常难以管理。 表单数据的验证及封装 该把验证和封装数据的工作交给谁来做呢?是UI层还是业务逻辑层?都不合适 国际化 如果我们想为不同国家和地区的人提供不同的语言,无疑需要国际化的支持。那么,我们需要在JSP页面上根据用户的配置或请求信息判断应该为该用户呈现哪国文字。而这些判断和显示的逻辑应该划分到业务逻辑层还是UI层呢? 用MVC的思路解决问题 MVC是一种设计思想。这种思想强调实现模型(Model)、视图(View)和控制器的分离。这种思想是如何作用于web的呢? 我们在web开发中引入MVC思想,想要达到的目的是: 实现UI层和业务逻辑层分离——控制器是为了实现上述目的而存在的! 在解决了持久化的问题后,我们发现,我们的所说的业务逻辑层和MVC中的Model指的是一回事,我们所说的UI层和MVC中的View是一回事。 MVC提供了让模型和视图相分离的思路——引入控制器。我们把页面跳转关系管理、表单数据的封装及验证、国际化等任务交给控制器处理。 典型的Java Web开发分层 表现层 显示业务处理结果 提供给用户交互接口 控制层 分派用户的请求执行不同的业务逻辑 根据处理结果调用适合的表现层 业务逻辑层 完成具体的业务逻辑操作 返回处理结果 数据持久层 完成业务逻辑对数据库访问的任务 我们选定的开发框架 表现层 FreeMarker 控制层 struts2 业务逻辑层 SpringFramework 数据持久层 ibatis 为什么要采用框架 框架是由一些类组成,这些类为应用程序提供了一个可重用的设计 使用框架的好处 为开发者提供一个简单易用的模型 开发者只需编写必须的代码,不需要直接接触底层的API 可以为程序提供清晰的结构并且提高程序的内聚性 清晰的结构使得其他人可以更容易加入项目 总结 在Java web开发中,MVC框架充当了UI层和业务逻辑层的适配器的作用。MVC框架实现了UI层和业务逻辑层最大程度的分离。 Han Dan College * Han Dan College * 实体类 form method=post action=doLogin.jsp table tr td用户名称:input type=text name=user//td /tr … % String uname=request.getParameter(user); String upwd=request.getParameter(pwd); String driverClassName =oracle.jdbc.driver.OracleDriver; String url =jdbc:oracle:thin:@10.0.0.34:1521:PRD34; … JSP页面中连接数据库 浏
文档评论(0)