《Java软件项目(BS架构)开发》7JavaBean与利息利率的实现.ppt_第1页
《Java软件项目(BS架构)开发》7JavaBean与利息利率的实现.ppt_第2页
《Java软件项目(BS架构)开发》7JavaBean与利息利率的实现.ppt_第3页
《Java软件项目(BS架构)开发》7JavaBean与利息利率的实现.ppt_第4页
《Java软件项目(BS架构)开发》7JavaBean与利息利率的实现.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java软件项目(B/S架构)开发 覃国蓉,第7章 JavaBean与利息利率的实现,Java软件项目(B/S架构)开发 覃国蓉,学习目标,了解 JavaBean的技术特点 可视化JavaBean 掌握 如何在JSP中使用非可视化JavaBean,Java软件项目(B/S架构)开发 覃国蓉,JavaBeans与JavaBean,JavaBeans是描述Java的软件组件模型 JavaBean是遵循某种严格协议的Java类,见案例7-1 以前JavaBean应用于可视化的领域,现在更多的应用在非可视化领域 ,如服务器端编程,Java软件项目(B/S架构)开发 覃国蓉,案例7-1:VisualBeanEx.java,package sunw.demo.VisualBeanEx; import java.awt.*; import java.io.Serializable; public class VisualBeanEx extends Canvas implements Serializable private Color color=Color.green; public VisualBeanEx() setSize(60,40); setBackground(Color.red); ,Java软件项目(B/S架构)开发 覃国蓉,public Color getColor() return color; public void setColor(Color newColor) color=newColor; repaint(); public void paint(Graphics g) g.setColor(color); g.fillRect(20,5,20,30); ,Java软件项目(B/S架构)开发 覃国蓉,可视化的JavaBean,JavaBean的最初应用是可视化的领域 Jbuilder的很多控件都是JavaBean BDK提供了可视化的工具创建并测试Bean,Java软件项目(B/S架构)开发 覃国蓉,BDK,包括 测试容器BeanBox 示例Bean以及它们的源代码 BeanBox就像一个可视化的开发环境,可以在其中将ToolBox中的Bean,组装成一个界面,并查看效果,Java软件项目(B/S架构)开发 覃国蓉,创建一个简单的可视化JavaBean,创建并编译Java源文件 创建清单文件 可视化的JavaBean以JAR文件形式打包和发布 打包Bean相关的文件为JAR文件 启动BDK 测试JavaBean,Java软件项目(B/S架构)开发 覃国蓉,非可视化的JavaBean,JSP与JavaBean的结合 从JSP程序抽取常用的代码,如访问数据库的代码,放在JavaBean中,在需要时调用,Java软件项目(B/S架构)开发 覃国蓉,JSP与JavaBean的结合方法,使用jsp:useBean 在JSP中添加JavaBean 使用jsp:setProperty设置JavaBean属性的值 使用jsp:getProperty动作读取JavaBean属性的值 案例7-2:说明如何在JSP中通过动作标记使用JavaBean 及如何在Tomcat上部署,Java软件项目(B/S架构)开发 覃国蓉,案例7-2的相关文件的建立,按照7.1.2的规定定义SimpleBean 编译并测试SimpleBean.java 建立使用SimpleBean的JSP文件testSimpleBean.jsp,关键代码: 调用setProperty前的值 调用setProperty后的值 ,Java软件项目(B/S架构)开发 覃国蓉,案例7-2的部署,如果部署到应用程序test2中,则: 如果SimpleBean的包名是ch7.bean,则在TOMCAT_HOMEwebappstest2WEB-INFclasses 目录下建一个子目录ch7,在ch7下建子目录bean 将SimpleBean.class复制到TOMCAT_HOMEwebappstest2ch7bean目录下 将使用SimpleBean的testSimpleBean.jsp 复制到TOMCAT_HOMEwebappstest2或其某子目录下,如TOMCAT_HOMEwebappstest2ch7useBean目录下,Java软件项目(B/S架构)开发 覃国蓉,案例7-2的执行,部署后重新启动Tomcat 打开IE浏览器,在地址栏中输入:http:/localhost:8080/test2/ch7/useBean/testSimpleBean.jsp,Java软件项目(B/S架构)开发 覃国蓉,像普通类一样使用JavaBean,案例7-3:通过使用命令标记像普通类一样使用案例7-2中定义的SimpleBean 动作标记使用JavaBean的优势 减少JSP程序中的应用逻辑 可以根据需要使用Scope属性设定该对象的生命期,Java软件项目(B/S架构)开发 覃国蓉,JavaBean 的生命期,标记jsp:useBean 的scope属性设置JavaBean的生命期 page表示这个Bean对象在使用JavaBean的网页范围内有效,默认值 request表示在请求过程范围内有效 session表示在一个会话期间内有效 application表示在整个应用程序期间有效,Java软件项目(B/S架构)开发 覃国蓉,案例7-4: 使用session JavaBean记录用户最近访问的页面,可以使用session JavaBean记录用户在一个会话内所做的操作 使用session JavaBean修改第6章中的案例 ,记录用户最近访问的页面 定义一个名为ListBean 的JavaBean 在3个JSP文件中使用标记,都添加一个生命期为session的同名的ListBean对象,使得3个JSP文件只创建一个对象,然后通过调用ListBean的addLists()方法将当前页面添加到这个对象的lists属性中 代码紧凑且结构清晰,Java软件项目(B/S架构)开发 覃国蓉,案例7-5 :使用application JavaBean跟踪登录的用户,可以使用application JavaBean记录应用程序不间断运行期间所发生的事情 使用案例7-4定义的ListBean跟踪最近访问网页的用户 traceUser.jsp在用户登录后向用户显示最近在他之前访问本网页的用户 使用标记添加一个生命期为application的ListBean对象 调用ListBean的addLists()方法将用户名添加到lists属性中,Java软件项目(B/S架构)开发 覃国蓉,为JavaBean的属性赋值,将一个变量(param)的值赋给某属性 如果所有属性名与对应的变量名相同 案例7-6:设置表单变量名与JavaBean的属性名相同,简化多个属性的赋值,Java软件项目(B/S架构)开发 覃国蓉,定义一个名为student的JavaBean,有属性name,no和credit 用HTML实现一个学生信息录入界面,表单定义如下: 姓名: 获得学分: 在JSP中创建一个名位myBean的JavaBean,然后使用如下语句将录入的学生信息赋给myBean,并显示学生信息 ,Java软件项目(B/S架构)开发 覃国蓉,第二讲 利率查询与利息计算的实现,用HTML、JavaScript、JSP和JDBC实现,Java软件项目(B/S架构)开发 覃国蓉,学习目标,学习如何综合使用HTML,javaScript,JavaBean,JDBC实现在线储蓄应用程序的利率查询和利息计算部分,Java软件项目(B/S架构)开发 覃国蓉,主要内容,利息计算与利率查询的需求及界面 实现相关技术: 客户端:HTML+JavaScript 服务器端:JSP+JavaBean+JDBC 详细设计 程序文件组织 数据库准备 具体实现,Java软件项目(B/S架构)开发 覃国蓉,需求,为所有登录本网站的用户提供 查询指定存款类型的年利率 计算指定本金的存款类型到期后可以获得的利息 前置条件 各种存期的年利息数据已经保存到数据库中,Java软件项目(B/S架构)开发 覃国蓉,场景,nancy是某公司主管,她有一笔(10万元)暂时(2年内)不用的资金(人民币)。她想知道存放到银行2年到期后会获得多少利息,也想顺便查询一下其他存期的年利率。 http:/localhost:8080/bankApp/Home_page.html,Java软件项目(B/S架构)开发 覃国蓉,实现相关技术,客户端需要提供录入界面并且在客户端检查用户录入的合法性: HTML+JavaScript 服务器端需要查询数据库,并返回给用户计算或查询结果 JSP+JavaBean(封装JDBC,就是将访问数据库的代码用一个类来实现),这种封装有什么好处? 以上技术都已经在前面相应章节学过,给大家2分钟回忆一下这些内容,然后考虑一下如果让你实现以上内容,你会用几个文件?,Java软件项目(B/S架构)开发 覃国蓉,利息计算页面(图2.7),Java软件项目(B/S架构)开发 覃国蓉,用户输入不合法时的提示页面,Java软件项目(B/S架构)开发 覃国蓉,利息计算结果页面,Java软件项目(B/S架构)开发 覃国蓉,利率查询界面,Java软件项目(B/S架构)开发 覃国蓉,利率查询录入不合法的提示信息,Java软件项目(B/S架构)开发 覃国蓉,利率查询结果页面,Java软件项目(B/S架构)开发 覃国蓉,利息计算及利率查询的详细设计,利率查询 将各币种及存期的利率值保存到数据库中 提供界面供用户输入币种及存期 通过查询数据库获得利率 利息计算 将各币种及存期的利率值保存到数据库中 提供界面供用户输入币种、存期及本金 通过本金与查询数据库获得的利率计算到期利息,Java软件项目(B/S架构)开发 覃国蓉,程序文件组织,客户端相关的(共6个): 主界面Interest.html:一个左右分隔窗口的帧组FRAMESET,左边窗口显示导航链接页面Interest_menu.html,右边窗口显示利息计算录入Interest_cal.html或利率查询录入Interest_query.html界面。 检查用户输入合法性需要调用的javaScript函数文件check.js 图片文件interest.jpg,Java软件项目(B/S架构)开发 覃国蓉,程序文件组织(续),服务器端相关,共4个 Interest_cal.jsp,用户在利率计算录入界面单击“计算”按钮将转向的程序,用来完成从数据库中读出对应利息并计算本金到期后可获得的利息并显示结果 Interest_query.jsp,用户在利率查询录入界面单击“查询”按钮将转向的程序,用来完成从数据库中读出对应利息并显示查询结果 访问数据库的javaBean文件Conn.java,用来封装对数据库的操作,如建立数据库连接,创建Sql语句对象并执行相关SQL语句等方法。 图片文件interest.jpg,与客户端相同,Java软件项目(B/S架构)开发 覃国蓉,还有一个不能忽略的问题,前面做需求分析时,已经提到一个条件:各种存期的年利息数据已经保存到数据库中,问题是: 为了实现这部分功能,我们要做什么样的数据准备? 要不要在数据库中创建一个表? 要不要在表中插入一些数据进行测试? 回答是:都要,Java软件项目(B/S架构)开发 覃国蓉,数据库准备,保存不同存期利息的表Interest 创建表Interest 在表Interest中插入一些存期的利息记录作为测试数据,Java软件项目(B/S架构)开发 覃国蓉,利息计算录入界面相关文件,Interest_cal.html 重要代码: Checkpass函数对输入的合法性进行检查 check.js 将判断一个字符串是否为整数字符串、实数字符串和一个字符是否为数字的函数分离出来,Java软件项目(B/S架构)开发 覃国蓉,访问数据库的JavaBean ConnDB.java,在无参的构造中加载JDBC驱动程序 定义方法executeQuery() ,用来建立数据库连接并处理对数据库的查询 定义方法executeUpdate(),用来处理对数据库的插入、删除和修改等操作 定义方法prepareStatement()方法,封装Connection的prepareStatement()方法以产生一个PreparedStatement对象,Java软件项目(B/S架构)开发 覃国蓉,在TOMCAT_HOMEwebappsbankappWEB-INFclasses下建立一个子目录bean 将字节码文件ConnDBclass复制到TOMCAT_HOMEwebapps bankapp WEB-INF classesbean目录下。注意ConnDB.java的包名bean与目录的对应关系 重新启动Tomcat,将ConnDB部署到Tomcat,Java软件项目(B/S架构)开发 覃国蓉,计算利息并返回结果页面的Interest_cal.jsp,关键代码: 第1行语句设置页面编码方式 ,处理中文显示乱码问题 第2行语句引入java.sql包 ,Java软件项目(B/S架构)开发 覃国蓉,第3行语句使用动作标记在当前JSP中创建一个ConnDB的对象db 第1317行语句定义了变量rate、amt、interest、per和cur,用来存放当前利率、本金、利息、存期和币种,以便在JSP其他部分可使用这些变量。 ,Java软件项目(B/S架构)开发 覃国蓉,第19行语句设置请求参数的编码方式,以便能够正确地访问数据库 request.setCharacterEncoding(“GBK“); 第2022行代码使用内建对象request获得用户输入的币种、本金和存期 amt=Double.parseDouble(request.getParameter(“amount“); per=Integer.parseInt(request.getParameter(“period“); cur=(String)(request.getParameter(“currency“); 第2332行的try语句使用db的executeQuery()方法查询利率、计算到期时的利息,并将计算的值保留2位小数。,Java软件项目(B/S架构)开发 覃国蓉,try String strQuery=“select * from interest where currency=“+cur+“ and period=“+per; ResultSet rs=db.executeQuery(strQuery); while(rs.next() rate=rs.getFloat(“rate“); interest=(long)(rate*amt*per/12)/100; db.close(); catch(Exception e),Java软件项目(B/S架构)开发 覃国蓉,第3438行语句将当前币种、本金、存期、从数据库中查到的利率和计算出的利息 币种: 本金: 存期: (月) 利率: 利息:,Java软件项目(B/S架构)开发 覃国蓉,利率查询录入页面Interest_query.html,类似于利息计算录入页面Interest_cal.html ,而且更简单,Java软件项目(B/S架构)开发 覃国蓉,利率查询处理Interest_query.jsp,类似于利息计算处理Interest_cal.jsp ,而且不用计算,Java软件项目(B/S架构)开发 覃国蓉,利息利率界面左窗口的菜单页面Interest_menu.html,定义一个1列7行的表格控制布局 表格的第1行的单元格插入一个图片,见代码第6行语句 表格的第3行的单元格是“利息计算”超链接 表格的第5行的单元格是“利率查询”超链接 表格的第7行的单元格是“退出”超链接,返回主页,注意超链接的属性TARGET=“_parent“,Java软件项目(B/S架构)开发 覃国蓉,利息计算及利率查询主界面Interest.html,定义一个帧组(FRAMESET)将页面分成左右2个窗口,左边显示菜单链接,右边显示利息计算和利率查询的相关页面 ,代码如下: ,Java软件项目(B/S架构)开发 覃国蓉,思考,如果你实现利息计算录入界面,你会怎么做?通用做法是: 用一个 html文件实现,其中定义一个表单,表单中有一个录入币种的列表框,录入存期和本金的文本框,还有“计算”和“取消”按钮 定义javaScript函数检查用户输入的合法性:是否没输入任何数据就提交,录入的本金是否是一个实数,录入的存期是否是 一个整数等,Java软件项目(B/S架构)开发 覃国蓉,利息计算相关程序,录入界面 Interest_cal.html check.js 单击“计算”按钮后调用的服务器端程序 Interest_cal.jsp 封装数据库访问的Java Bean ConnDB.java 文件之间关联:如文件之间的调用关系,数据的传递等,Java软件项目(B/S架构)开发 覃国蓉,思考,实现了利息计算的相关程序,利率查询部分是不是很容易? 有哪些程序可以共用利息计算的? 有哪些程序只需要对利息计算的进行少量修改就得到?,Java软件项目(B/S架构)开发 覃国蓉,利率查询相关程序,与利息计算类似,比利息计算简单 录入界面文件 Interest_query.html,可修改利息计算得到 check.js,与利息计算共用 单击“查询”后调用的服务器端程序 Interest_query.jsp,可修改利息计算得到 封装数据库访问的Java Bean ConnDB.java,与利息计算共用 文件之间关联:如文件之间的调用关系,数据的传递等,Java软件项目(B/S架构)开发 覃国蓉,利息利率主界面,显示主界面的文件Interest.html 右边窗口显示的文件interest_cal.html 左边窗口显示的文件Interest_menu.html,Java软件项目(B/S架构)开发 覃国蓉,思考,分析货币兑换的需求,考虑 如何借鉴利息利率部分实现货币兑换部分? 考虑用几个文件实现? 每个文件的功能或作用是什么? 各文件之间的调用关系如何? 哪些文件可以共用利息利率部分? 哪些可修改利息利率部分实现?,Java软件项目(B/S架构)开发 覃国蓉,作业,为周三、周五完成货币兑换部分做上机准备,Java软件项目(B/S架构)开发 覃国蓉,兑换率查询与兑换计算的需求与实现提示,用HTML、JavaScript、JSP和JDBC实现,Java软件项目(B/S架构)开发 覃国蓉,学习目标,借鉴利率查询和利息计算部分的实现完成货币兑换率查询及货币兑换计算的实现,Java软件项目(B/S架构)开发 覃国蓉,主要内容,兑换计算与兑换率率查询的需求及界面 实现相关技术: 客户端:HTML+JavaScript 服务器端:JSP+JavaBean+JDBC 详细设计 程序文件组织 数据库准备 具体实现,Java软件项目(B/S架构)开发 覃

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论