版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ch07:使用分层实现业务处理回顾及作业点评请描述分页数据显示实现中SQL语句是如何编写的?请描述实现分页数据显示中如何确定上页和下页的页数?SmartUpload有哪些常用的方法?分别起什么作用?使用SmartUpload提交表单时如何获取表单提交数据?使用三层结构实现用户登录使用三层结构实现新闻浏览本章任务使用分层架构开发应用系统本章目标为什么需要分层
JSP开发的弊端 业务处理的代码与JSP代码混在一起,不易于阅读,不易于代码维护<formmethod="post"action="doLogin.jsp"><table><tr> <td>用户名称:<inputtype="text"name="user"/></td></tr>…<%Stringuname=request.getParameter("user");Stringupwd=request.getParameter("pwd");StringdriverClassName="oracle.jdbc.driver.OracleDriver";Stringurl="jdbc:oracle:thin:@4:1521:PRD34";…JSP页面中连接数据库软件设计中的分层模式分层模式
分层模式是最常见的一种架构模式
分层模式是很多架构模式的基础分层将解决方案的组件分隔到不同的层中
在同一个层中组件之间保持内聚性层与层之间保持松耦合三层模式三层模式的划分表示层业务逻辑层数据库访问层层与层之间的关系表示层依赖于业务逻辑层业务逻辑层依赖于数据访问层分层的实现实体类如果使用分层实现用户登录功能,该如何实现呢?数据访问层业务逻辑层表示层如果使用分层实现用户登录功能,该如何实现呢?分层实现用户登录4-1创建用户实体类publicclassUser{ privateintid; privateStringusername; privateStringpassword; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } …省略了后续的set/get方法}分层实现用户登录4-2publicinterfaceUserDao{ //根据用户进行查找,返回用户列表 publicbooleanfindUser(Useruser);}编写数据访问层数据访问接口数据访问接口的实现publicclassUserDaoJdbcImplimplementsUserDao{publicbooleanfindUser(Useruser){ Connectioncon=null;
PreparedStatementpStatement=null; ResultSetres=null; /**调用创建数据库连接的方法获得连接,实现用户名和密码查询*/}分层实现用户登录4-3//编写业务逻辑控制接口UserBizpublicinterfaceUserBiz{ publicbooleanlogin(Useruser);}
编写业务逻辑层编写业务逻辑层接口编写业务逻辑层接口实现publicclassUserBizImplimplementsUserBiz{ publicListlogin(Useruser){ UserDaoud=newUserDaoJdbcImpl(); booleanflag=ud.findUser(user); returnflag; }}业务逻辑通常以Biz命名在业务逻辑层中调用数据访问层分层实现用户登录4-4
编写表示层JSP页面调用业务逻辑层演示示例:分层实现用户登录<%@pageimport="org.jbit.bean.*"%><%@pageimport=".*"%><%@pageimport=".impl.*"%><%Stringuname=request.getParameter("user");Stringupwd=request.getParameter("pwd");Useruser=newUser();user.setUsername(uname);user.setPassword(upwd);UserBizub=newUserBizImpl();booleanflag=ub.login(user);if(flag)response.sendRedirect("e.jsp"); elseresponse.sendRedirect("login.jsp");%>表示层只与业务逻辑层发生联系演示示例:分层实现用户登录三层开发遵循的原则上层依赖其下层,依赖关系不跨层表示层不能直接访问数据访问层上层调用下层的结果,取决于下层的实现下一层不能调用上一层下一层不依赖上一层上层的改变不会影响下一层下层的改变会影响上一层得到的结果在上一层中不能出现下一层的概念分工明确,各司其职分层开发的特点下层不知道上层的存在仅完成自身的功能不关心结果如何使用每一层仅知道其下层的存在,忽略其他层的存在只关心结果的取得不关心结果的实现过程JSTL通常会与EL表达式合作实现JSP页面的编码分层开发的优势职责划分清晰无损替换复用代码降低了系统内部的依赖程度指导——编写新闻发布系统数据访问层2-1训练要点:在应用程序中使用三层开发模式理解层与层的依赖关系需求说明:新闻发布系统管理可以在管理员界面实现对新闻的管理,依据三层开发模式,编写数据访问层,实现对新闻数据访问的封装指导——编写新闻发布系统数据访问层2-2实现思路:编写BaseDao实现获取数据库连接创建新闻实体类News编写NewsDao数据访问接口编写NewsDaoImpl实现NewsDao接口完成时间:25分钟练习——实现后台读取新闻完成时间:30分钟需求说明:完善新闻发布系统,在数据访问层中编写查询方法,实现根据新闻编号查询新闻
难点提示:在NewsDao接口中声明方法,要求根据新闻编号进行查询编写NewsDaoImpl实现NewsDao接口中的方法,调用BaseDao中的方法获取数据库连接,编写SQL查询语句,实现新闻的查找总结为什么需要分层模式?实现分层时需要遵循哪些原则?分层开发的优势有哪些?请简述你所理解的三层开发模式?上机作业指导——编写新闻发布系统业务逻辑层2-1训练要点:在应用程序中使用三层架构开发模式掌握层与层之间的数据传递需求说明:新闻发布系统业务管理逻辑层用于对管理员在后台对新闻所作的管理操作,进行业务逻辑控制。根据操作业务的类型,调用数据访问层相应方法指导——编写新闻发布系统数据访问层2-2实现思路:编写NewsBiz业务逻辑接口编写NewsBizImpl实现NewsBiz接口完成时间:2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国家自然资源部所属单位招聘634人备考题库(第一批)及1套完整答案详解
- 2026年1月江西九江市永修县滩溪镇人民政府面向社会招聘1人备考题库及参考答案详解
- 2026年智能宠物溜猫绳项目公司成立分析报告
- 2026年无废城市建设与固废资源化项目评估报告
- 2026年智能车载疲劳驾驶预警器项目公司成立分析报告
- 2026年情绪价值即时满足项目评估报告
- 《GAT 2000.248-2019公安信息代码 第248部分:视频图像信息基本对象标识编码规范》专题研究报告
- 健康养生生活方式分享
- 教师继续教育制度
- 幼儿院幼儿教育与幼儿劳动品质教育制度
- 2026院感知识考试题及答案
- 《红楼梦》导读 (教学课件) -高中语文人教统编版必修下册
- 安徽省九师联盟2025-2026学年高三(1月)第五次质量检测英语(含答案)
- (2025年)四川省自贡市纪委监委公开遴选公务员笔试试题及答案解析
- 2025年度骨科护理部年终工作总结及工作计划
- 2026安徽省农村信用社联合社面向社会招聘农商银行高级管理人员参考考试试题及答案解析
- 室外供热管道安装监理实施细则
- 岩板采购合同范本
- DL∕T 5210.6-2019 电力建设施工质量验收规程 第6部分:调整试验
- 智慧校园网投资建设运营方案
- YY/T 0590.1-2018医用电气设备数字X射线成像装置特性第1-1部分:量子探测效率的测定普通摄影用探测器
评论
0/150
提交评论