版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 JavaBean与利息利率的实现Java软件项目(B/S架构)开发 覃国蓉第1页,共69页。学习目标了解JavaBean的技术特点 可视化JavaBean 掌握 如何在JSP中使用非可视化JavaBean Java软件项目(B/S架构)开发 覃国蓉第2页,共69页。JavaBeans与JavaBean JavaBeans是描述Java的软件组件模型 JavaBean是遵循某种严格协议的Java类,见案例7-1 以前JavaBean应用于可视化的领域,现在更多的应用在非可视化领域 ,如服务器端编程Java软件项目(B/S架构)开发 覃国蓉第3页,共69页。案例7-1:VisualBean
2、Ex.java package sunw.demo.VisualBeanEx;import java.awt.*;import java.io.Serializable;public class VisualBeanEx extends Canvas implements Serializableprivate Color color=Color.green;public VisualBeanEx() setSize(60,40);setBackground(Color.red);Java软件项目(B/S架构)开发 覃国蓉第4页,共69页。public Color getColor() ret
3、urn 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架构)开发 覃国蓉第5页,共69页。可视化的JavaBean JavaBean的最初应用是可视化的领域 Jbuilder的很多控件都是JavaBean BDK提供了可视化的工具创建并测试Bean Java软件项目(B/S架构)开发 覃国蓉第6页,共69页。BDK 包括 测试容器BeanBox
4、 示例Bean以及它们的源代码 BeanBox就像一个可视化的开发环境,可以在其中将ToolBox中的Bean,组装成一个界面,并查看效果 Java软件项目(B/S架构)开发 覃国蓉第7页,共69页。创建一个简单的可视化JavaBean 创建并编译Java源文件 创建清单文件 可视化的JavaBean以JAR文件形式打包和发布 打包Bean相关的文件为JAR文件 启动BDK 测试JavaBean Java软件项目(B/S架构)开发 覃国蓉第8页,共69页。非可视化的JavaBean JSP与JavaBean的结合 从JSP程序抽取常用的代码,如访问数据库的代码,放在JavaBean中,在需要时
5、调用 Java软件项目(B/S架构)开发 覃国蓉第9页,共69页。 JSP与JavaBean的结合方法 使用jsp:useBean 在JSP中添加JavaBean 使用jsp:setProperty设置JavaBean属性的值 使用jsp:getProperty动作读取JavaBean属性的值 案例7-2:说明如何在JSP中通过动作标记使用JavaBean 及如何在Tomcat上部署Java软件项目(B/S架构)开发 覃国蓉第10页,共69页。案例7-2的相关文件的建立按照7.1.2的规定定义SimpleBean编译并测试SimpleBean.java建立使用SimpleBean的JSP文件t
6、estSimpleBean.jsp,关键代码:调用setProperty前的值调用setProperty后的值Java软件项目(B/S架构)开发 覃国蓉第11页,共69页。案例7-2的部署如果部署到应用程序test2中,则:如果SimpleBean的包名是ch7.bean,则在TOMCAT_HOMEwebappstest2WEB-INFclasses 目录下建一个子目录ch7,在ch7下建子目录bean将SimpleBean.class复制到TOMCAT_HOMEwebappstest2ch7bean目录下将使用SimpleBean的testSimpleBean.jsp 复制到TOMCAT_H
7、OMEwebappstest2或其某子目录下,如TOMCAT_HOMEwebappstest2ch7useBean目录下 Java软件项目(B/S架构)开发 覃国蓉第12页,共69页。案例7-2的执行部署后重新启动Tomcat打开IE浏览器,在地址栏中输入:http:/localhost:8080/test2/ch7/useBean/testSimpleBean.jsp Java软件项目(B/S架构)开发 覃国蓉第13页,共69页。像普通类一样使用JavaBean案例7-3:通过使用命令标记像普通类一样使用案例7-2中定义的SimpleBean动作标记使用JavaBean的优势减少JSP程序中
8、的应用逻辑 可以根据需要使用Scope属性设定该对象的生命期Java软件项目(B/S架构)开发 覃国蓉第14页,共69页。JavaBean 的生命期标记jsp:useBean 的scope属性设置JavaBean的生命期page表示这个Bean对象在使用JavaBean的网页范围内有效,默认值request表示在请求过程范围内有效 session表示在一个会话期间内有效 application表示在整个应用程序期间有效 Java软件项目(B/S架构)开发 覃国蓉第15页,共69页。案例7-4: 使用session JavaBean记录用户最近访问的页面 可以使用session JavaBean
9、记录用户在一个会话内所做的操作 使用session JavaBean修改第6章中的案例 ,记录用户最近访问的页面 定义一个名为ListBean 的JavaBean 在3个JSP文件中使用标记,都添加一个生命期为session的同名的ListBean对象,使得3个JSP文件只创建一个对象,然后通过调用ListBean的addLists()方法将当前页面添加到这个对象的lists属性中代码紧凑且结构清晰 Java软件项目(B/S架构)开发 覃国蓉第16页,共69页。案例7-5 :使用application JavaBean跟踪登录的用户 可以使用application JavaBean记录应用程序
10、不间断运行期间所发生的事情使用案例7-4定义的ListBean跟踪最近访问网页的用户 traceUser.jsp在用户登录后向用户显示最近在他之前访问本网页的用户使用标记添加一个生命期为application的ListBean对象调用ListBean的addLists()方法将用户名添加到lists属性中Java软件项目(B/S架构)开发 覃国蓉第17页,共69页。为JavaBean的属性赋值 将一个变量(param)的值赋给某属性 如果所有属性名与对应的变量名相同 案例7-6:设置表单变量名与JavaBean的属性名相同,简化多个属性的赋值 Java软件项目(B/S架构)开发 覃国蓉第18页
11、,共69页。定义一个名为student的JavaBean,有属性name,no和credit用HTML实现一个学生信息录入界面,表单定义如下: 姓名: 学号: 获得学分: 在JSP中创建一个名位myBean的JavaBean,然后使用如下语句将录入的学生信息赋给myBean,并显示学生信息 Java软件项目(B/S架构)开发 覃国蓉第19页,共69页。第二讲 利率查询与利息计算的实现 用HTML、JavaScript、JSP和JDBC实现Java软件项目(B/S架构)开发 覃国蓉第20页,共69页。学习目标学习如何综合使用HTML,javaScript,JavaBean,JDBC实现在线储蓄应
12、用程序的利率查询和利息计算部分Java软件项目(B/S架构)开发 覃国蓉第21页,共69页。主要内容利息计算与利率查询的需求及界面实现相关技术:客户端:HTML+JavaScript服务器端:JSP+JavaBean+JDBC详细设计程序文件组织数据库准备具体实现Java软件项目(B/S架构)开发 覃国蓉第22页,共69页。需求为所有登录本网站的用户提供查询指定存款类型的年利率计算指定本金的存款类型到期后可以获得的利息前置条件各种存期的年利息数据已经保存到数据库中Java软件项目(B/S架构)开发 覃国蓉第23页,共69页。场景 nancy是某公司主管,她有一笔(10万元)暂时(2年内)不用的
13、资金(人民币)。她想知道存放到银行2年到期后会获得多少利息,也想顺便查询一下其他存期的年利率。 http:/localhost:8080/bankApp/Home_page.htmlJava软件项目(B/S架构)开发 覃国蓉第24页,共69页。实现相关技术客户端需要提供录入界面并且在客户端检查用户录入的合法性:HTML+JavaScript服务器端需要查询数据库,并返回给用户计算或查询结果JSP+JavaBean(封装JDBC,就是将访问数据库的代码用一个类来实现),这种封装有什么好处?以上技术都已经在前面相应章节学过,给大家2分钟回忆一下这些内容,然后考虑一下如果让你实现以上内容,你会用几个
14、文件?Java软件项目(B/S架构)开发 覃国蓉第25页,共69页。利息计算页面(图2.7)Java软件项目(B/S架构)开发 覃国蓉第26页,共69页。用户输入不合法时的提示页面Java软件项目(B/S架构)开发 覃国蓉第27页,共69页。利息计算结果页面Java软件项目(B/S架构)开发 覃国蓉第28页,共69页。利率查询界面 Java软件项目(B/S架构)开发 覃国蓉第29页,共69页。利率查询录入不合法的提示信息Java软件项目(B/S架构)开发 覃国蓉第30页,共69页。利率查询结果页面 Java软件项目(B/S架构)开发 覃国蓉第31页,共69页。利息计算及利率查询的详细设计利率查
15、询 将各币种及存期的利率值保存到数据库中提供界面供用户输入币种及存期通过查询数据库获得利率利息计算将各币种及存期的利率值保存到数据库中提供界面供用户输入币种、存期及本金通过本金与查询数据库获得的利率计算到期利息Java软件项目(B/S架构)开发 覃国蓉第32页,共69页。程序文件组织客户端相关的(共6个):主界面Interest.html:一个左右分隔窗口的帧组FRAMESET,左边窗口显示导航链接页面Interest_menu.html,右边窗口显示利息计算录入Interest_cal.html或利率查询录入Interest_query.html界面。检查用户输入合法性需要调用的javaSc
16、ript函数文件check.js图片文件interest.jpgJava软件项目(B/S架构)开发 覃国蓉第33页,共69页。程序文件组织(续)服务器端相关,共4个Interest_cal.jsp,用户在利率计算录入界面单击“计算”按钮将转向的程序,用来完成从数据库中读出对应利息并计算本金到期后可获得的利息并显示结果Interest_query.jsp,用户在利率查询录入界面单击“查询”按钮将转向的程序,用来完成从数据库中读出对应利息并显示查询结果访问数据库的javaBean文件Conn.java,用来封装对数据库的操作,如建立数据库连接,创建Sql语句对象并执行相关SQL语句等方法。图片文件
17、interest.jpg,与客户端相同Java软件项目(B/S架构)开发 覃国蓉第34页,共69页。还有一个不能忽略的问题 前面做需求分析时,已经提到一个条件:各种存期的年利息数据已经保存到数据库中,问题是:为了实现这部分功能,我们要做什么样的数据准备?要不要在数据库中创建一个表?要不要在表中插入一些数据进行测试?回答是:都要Java软件项目(B/S架构)开发 覃国蓉第35页,共69页。数据库准备保存不同存期利息的表Interest创建表Interest在表Interest中插入一些存期的利息记录作为测试数据 Java软件项目(B/S架构)开发 覃国蓉第36页,共69页。利息计算录入界面相关文
18、件Interest_cal.html重要代码: Checkpass函数对输入的合法性进行检查 check.js 将判断一个字符串是否为整数字符串、实数字符串和一个字符是否为数字的函数分离出来 Java软件项目(B/S架构)开发 覃国蓉第37页,共69页。访问数据库的JavaBean ConnDB.java 在无参的构造中加载JDBC驱动程序 定义方法executeQuery() ,用来建立数据库连接并处理对数据库的查询 定义方法executeUpdate(),用来处理对数据库的插入、删除和修改等操作 定义方法prepareStatement()方法,封装Connection的prepareSt
19、atement()方法以产生一个PreparedStatement对象 Java软件项目(B/S架构)开发 覃国蓉第38页,共69页。在TOMCAT_HOMEwebappsbankappWEB-INFclasses下建立一个子目录bean 将字节码文件ConnDB.class复制到TOMCAT_HOMEwebapps bankapp WEB-INF classesbean目录下。注意ConnDB.java的包名bean与目录的对应关系 重新启动Tomcat 将ConnDB部署到TomcatJava软件项目(B/S架构)开发 覃国蓉第39页,共69页。计算利息并返回结果页面的Interest_c
20、al.jsp 关键代码: 第1行语句设置页面编码方式 ,处理中文显示乱码问题 第2行语句引入java.sql包 Java软件项目(B/S架构)开发 覃国蓉第40页,共69页。第3行语句使用动作标记在当前JSP中创建一个ConnDB的对象db 第1317行语句定义了变量rate、amt、interest、per和cur,用来存放当前利率、本金、利息、存期和币种,以便在JSP其他部分可使用这些变量。 Java软件项目(B/S架构)开发 覃国蓉第41页,共69页。第19行语句设置请求参数的编码方式,以便能够正确地访问数据库 request.setCharacterEncoding(GBK); 第20
21、22行代码使用内建对象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架构)开发 覃国蓉第42页,共69页。tryString strQuery=select * f
22、rom 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架构)开发 覃国蓉第43页,共69页。第3438行语句将当前币种、本金、存期、从数据库中查到的利率和计算出的利息 币种: 本金: 存期: (月) 利率: 利息:Java软件项目(B/S架
23、构)开发 覃国蓉第44页,共69页。利率查询录入页面Interest_query.html 类似于利息计算录入页面Interest_cal.html ,而且更简单 Java软件项目(B/S架构)开发 覃国蓉第45页,共69页。利率查询处理Interest_query.jsp 类似于利息计算处理Interest_cal.jsp ,而且不用计算Java软件项目(B/S架构)开发 覃国蓉第46页,共69页。利息利率界面左窗口的菜单页面Interest_menu.html 定义一个1列7行的表格控制布局 表格的第1行的单元格插入一个图片,见代码第6行语句表格的第3行的单元格是“利息计算”超链接表格的第
24、5行的单元格是“利率查询”超链接表格的第7行的单元格是“退出”超链接,返回主页,注意超链接的属性TARGET=_parent Java软件项目(B/S架构)开发 覃国蓉第47页,共69页。利息计算及利率查询主界面Interest.html 定义一个帧组(FRAMESET)将页面分成左右2个窗口,左边显示菜单链接,右边显示利息计算和利率查询的相关页面 ,代码如下:Java软件项目(B/S架构)开发 覃国蓉第48页,共69页。思考如果你实现利息计算录入界面,你会怎么做?通用做法是:用一个 html文件实现,其中定义一个表单,表单中有一个录入币种的列表框,录入存期和本金的文本框,还有“计算”和“取消
25、”按钮定义javaScript函数检查用户输入的合法性:是否没输入任何数据就提交,录入的本金是否是一个实数,录入的存期是否是 一个整数等Java软件项目(B/S架构)开发 覃国蓉第49页,共69页。利息计算相关程序录入界面Interest_cal.htmlcheck.js单击“计算”按钮后调用的服务器端程序Interest_cal.jsp封装数据库访问的Java BeanConnDB.java 文件之间关联:如文件之间的调用关系,数据的传递等Java软件项目(B/S架构)开发 覃国蓉第50页,共69页。思考实现了利息计算的相关程序,利率查询部分是不是很容易?有哪些程序可以共用利息计算的?有哪些
26、程序只需要对利息计算的进行少量修改就得到?Java软件项目(B/S架构)开发 覃国蓉第51页,共69页。利率查询相关程序与利息计算类似,比利息计算简单录入界面文件Interest_query.html,可修改利息计算得到check.js,与利息计算共用单击“查询”后调用的服务器端程序Interest_query.jsp,可修改利息计算得到封装数据库访问的Java BeanConnDB.java,与利息计算共用文件之间关联:如文件之间的调用关系,数据的传递等Java软件项目(B/S架构)开发 覃国蓉第52页,共69页。利息利率主界面显示主界面的文件Interest.html右边窗口显示的文件in
27、terest_cal.html左边窗口显示的文件Interest_menu.htmlJava软件项目(B/S架构)开发 覃国蓉第53页,共69页。思考分析货币兑换的需求,考虑如何借鉴利息利率部分实现货币兑换部分?考虑用几个文件实现?每个文件的功能或作用是什么?各文件之间的调用关系如何?哪些文件可以共用利息利率部分?哪些可修改利息利率部分实现?Java软件项目(B/S架构)开发 覃国蓉第54页,共69页。作业为周三、周五完成货币兑换部分做上机准备Java软件项目(B/S架构)开发 覃国蓉第55页,共69页。兑换率查询与兑换计算的需求与实现提示 用HTML、JavaScript、JSP和JDBC实现Java软件项目(B/S架构)开发 覃国蓉第56页,共69页。学习目标借鉴利率查询和利息计算部分的实现完成货币兑换率查询及货币兑换计算的实现Java软件项目(B/S架构)开发 覃国蓉第57页,共69页。主要内容兑换计算与兑换率率查询的需求及界面实现相关技术:客户端:HTML+JavaScript服务器端:JSP+JavaBean+JDBC详细设计程序文件组织数据库准备具体实现Java软件项目(B/S架构)开发 覃国蓉第58页,共69页。货币兑换及兑换率查询功能的详细设计 一般银行不直接提供2个外币的兑换率,而是提供该100元外币对人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺栓塞超声评估共识2026
- 2026年9月家长换季时节心脑血管防护课件
- 内蒙古鄂尔多斯市某校2025-2026学年高二上学期开学考试历史试卷(含答案)
- 换届工作基础试题及对应答案
- 咳嗽疾病试题及答案
- 2026年电子手表测试题及答案
- 2026年最佳女友测试题及答案
- 2026年记性不好的测试题及答案
- 2026年库仑定律测试题及答案
- 2026年深圳工厂测试题及答案
- 2026年秋季学期防灾减灾安全教育培训课件:地震应急避险与自救互救
- Unit 2 Getting together(Period 1)(教案)-2026-2027学年人教PEP版英语六年级上册
- 2026年中学大先生精神与教师使命学习课件
- 2026年湖北省中考英语真题(含答案)
- 压力容器年度安全检验实施方案
- 2026年成都市郫都区增量政策性岗位招募的(366人)笔试备考题库及答案详解
- 农机驾驶操作技能测试题目及答案
- 2026年秋季开学第一课:强国复兴有我
- 2024人教版八年级生物上册期末复习知识点背记提纲
- 工地中心试验室技术方案
- 2026年贵州省中考理综物理试题(解析版)
评论
0/150
提交评论