版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级数学(小数乘除法)计算题专项练习及答案汇编
- 高二物理复习教案
- 均热炉工业用产业规划专项研究报告
- 外科胶水产业规划专项研究报告
- 厨房容器产业运行及前景预测报告
- 医用鲁尔接头产业规划专项研究报告
- 充电桩故障监测与预警方案
- 大型活动场所安全管理方案
- 公司信贷学习通超星期末考试答案章节答案2024年
- 国家安全教育1班学习通超星期末考试答案章节答案2024年
- 食品代加工合同书
- 网课智慧树知道《英美文学(山东第一医科大学)》章节测试答案
- 南京师范大学苏州实验学校(南师苏校)小升初数学试题文本空白卷附详细答案
- 专题 常考的规律探究问题 中考数学答题技巧与模板构建
- 学礼以立大国范 知到智慧树网课答案
- 生物信息学(上海海洋大学)智慧树知到期末考试答案章节答案2024年上海海洋大学
- 2024年全国高考体育单招考试语文试卷试题(含答案详解)
- 大国工匠徐立平
- 《工程建设标准强制性条文电力工程部分2023版》
- 下丘脑疾病课件
- 力的合成说课课件省公开课金奖全国赛课一等奖微课获奖课件
评论
0/150
提交评论