版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块5JavaBean技术JavaWeb程序设计“十四五”职业教育国家规划教材配套资源目录项目14封装用户信息的JavaBean项目15数据库连接的JavaBean项目16应用JavaBean实现购物车项目14封装用户信息的JavaBean14.1项目描述与实现(1)描述
实现封装用户信息的JavaBean,用户信息包括用户名、密码、性别、年龄和家庭住址等内容。在JSP页面引入JavaBean,从页面中获取的用户信息通过JavaBean进行赋值,然后在JSP页面上显示。项目14封装用户信息的JavaBean14.1项目描述与实现
(2)实现1.创建类。在项目JavaWebExample下的src目录下,创建chapter5的包,接着创建名为UserInfo.java的类。2.以表5-1所示信息,为UserInfo.java类增加用户名、密码、性别、年龄和家庭住址等属性对应的变量。
项目14封装用户信息的JavaBean14.1项目描述与实现
(2)实现
3.利用Eclipse工具,为每个属性自动添加getXxx()和setXxx()方法,完成后,用户信息的JavaBean类文件建立即已完成,其代码如程序5-1所示。程序5-1:UserInfo.javapackagechapter5;publicclassUserInfo{ privateStringuserName; privateStringuserPassword; privateStringsex; privateStringage; privateStringaddress; publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(Stringoolean){ this.userName=userName; } publicStringgetUserPassword(){ returnuserPassword; } ……..项目14封装用户信息的JavaBean14.1项目描述与实现(1)描述在JSP中使用JavaBean项目14封装用户信息的JavaBean14.1项目描述与实现(2)实现
1.创建JSP,在chapter5目录下创建exam14_beantest.jsp页面。
2.编写JavaBean调用程序。
在Eclipse编写代码,在第1步的基础上,增加调用JavaBean的动作指令<jsp:useBean>,即
<jsp:useBeanid=”user”class=”chapter5.UserInfo”scope=”page”/>
程序5-2exam14_beantest.jsp文件中设置值的主要代码<jsp:setPropertyname=”user”property=”userName”value=”lijunqing”/><jsp:setPropertyname=”user”property=”userPassword”value=”123”/><jsp:setPropertyname=”user”property=”sex”value=”男”/><jsp:setPropertyname=”user”property=”age”value=”30”/><jsp:setPropertyname=”user”property=”address”value=”海南琼海”/>项目14封装用户信息的JavaBean14.1项目描述与实现
程序5-2exam14_beantest.jsp文件中获取值的主要代码<td>用户名</td><td><jsp:getPropertyname="user"property="userName"/></td><td>密码</td><td><jsp:getPropertyname="user"property="userPassword"/></td><td>性别</td><td><jsp:getPropertyname="user"property="sex"/></td><td>年龄</td><td><jsp:getPropertyname="user"property="age"/></td><td>家庭住址</td><td><jsp:getPropertyname="user"property="address"/></td>项目14封装用户信息的JavaBean14.2新知识点-JavaBean1.JavaBean介绍
JavaBean是一种Java语言写成的可重用组件,归根结底就是一个封装了属性和方法的类。
JavaBean的特点为:
①一次性编写
②任何地方执行
③任何地方重用2.JavaBean的组成
一个Bean由两部分组成:
①属性(properties)
②方法(method)项目14封装用户信息的JavaBean14.2新知识点-JSP中使用JavaBean
在JSP程序中,既可以用程序代码来访问JavaBean,也可以通过JSP动作指令来访问。JSP中使用JavaBean在14.1节已经应用,此处详细介绍JSP调用JavaBean的动作指令。
(1)<jsp:useBean>
在JSP中调用JavaBean的动作指令为<jsp:useBean>。其语法格式为:<jsp:useBeanid=”beanname”class=”pakage.classname”scope=“范围“/>
id属性:代表JavaBean对象的ID,表示引用JavaBean对象的局部变量名,以及存放在特定范围内的属性名。class属性:用来指定JavaBean对象的类名,可带包名。Scope属性:用来指定JavaBean对象的作用范围项目14封装用户信息的JavaBean14.2新知识点-JSP中使用JavaBean
(2)<jsp:setProperty>
设置JavaBean的属性,在JSP中的动作指令为<jsp:setProperty>,其语法格式为:<jsp:setPropertyname=”beanname”property=”属性名”value=”属性值”/>
在该指令中,其各个属性的作用为:name属性:要设置属性的JavaBean的名称,必须和<jsp:useBean>标签中的id属性值匹配。property属性:用来指定JavaBean对象的某个属性值。如果值为*号,则是指定所有属性。value属性:用来指定属性的具体值。该指令相当于调用JavaBean中的setXxx(xx)方法。项目14封装用户信息的JavaBean14.2新知识点-JSP中使用JavaBean
(3)<jsp:getProperty>
获取JavaBean属性,在JSP中的动作指令为<jsp:getProperty>。其语法格式为:<jsp:getPropertyname=“beanname”property=”属性名”/>在该指令中,其各个属性的作用为:name属性:要获取属性的JavaBean的名称,必须和<jsp:useBean>标签中的id属性值匹配。property属性:用来获取JavaBean的某个属性值。如果值为*号,则是指定所有属性。该指令相当于调用JavaBean中的getXxx(xx)方法。项目14封装用户信息的JavaBean14.3扩展-表单参数设置JavaBean中的属性1.通过HTTP表单参数值设置JavaBean属性
可以通过HTTP表单的参数值来设置Bean响应的属性值,要求表单参数的名字必须与Bean属性的名字相同。其语法格式为:<jsp:setPropertyname=”beanname”property=”*”/>2.通过request参数值设置JavaBean属性
可以通过request的参数值来设置JavaBean中的属性值,要求request参数名必须与Bean的属性名相同,其语法格式为:<jsp:setPropertyname=”beanname”property=”属性名”param=”参数名”/>项目15数据库连接的JavaBean15.1项目描述与实现(1)描述
实现用户的添加,用户信息包括,用户名,密码。将信息从表单获取后写入到数据库,要求用JavaBean方式来操作数据库。项目15数据库连接的JavaBean15.1项目描述与实现(2)实现1.数据库连接的JavaBean。2.编写表单。程序5-7DBManager.java部分代码publicConnectionConnDB(){ conn=null;
try{ Stringurl=”jdbc:mysql://localhost:3306/test?useUnicode=true&character=utf-8”; Class.forName(“com.mysql.jdbc.Driver”).newInstance(); conn=DriverManager.getConnection(url,”hncst”,”123”);
returnconn; }
catch(Exceptionfe){ System.err.println(“ConnDB():“+fe.getMessage());
return
null; } }项目15数据库连接的JavaBean15.1项目描述与实现(2)实现3.编写表单处理程序,并调用程序5-7的JavaBean将表单数据写入数据库。程序5-9exam15_add_user_do.jsp<jsp:useBeanid=”db”class=”chapter5.DBManager”scope=”page”/><%Stringname=request.getParameter(“name”);Stringpassword=request.getParameter(“password”);name=name.trim();password=password.trim();Stringsql=”insertintousers(name,password)values(‘”+name+”’,’”+password+”’)”;db.executeSql(sql);//执行SQLdb.Release();//关闭out.println(“添加成功!”);%>项目15数据库连接的JavaBean15.2新知识点-数据库连接的JavaBean
在JSP文件中HTML与大量Java代码交织,且直接嵌入访问数据库的代码及SQL语句则会使页面设计困难。使得程序员难以理解、维护、扩展、调试程序。将JSP和JavaBean技术结合在一起,可以用JavaBean实现业务逻辑和数据库操作的封装,JSP只负责页面的显示。用户端浏览器发送JSP文件请求,JSP文件访问JavaBean,JSP页面响应请求并将处理结果返回客户,而使用JavaBean处理所有的数据访问。其架构如图5-8所示:项目15数据库连接的JavaBean15.3扩展——采用连接池的JavaBean读取用户信息列表(1)描述
利用数据库连接池技术管理数据库连接,查询hncst数据库中users数据表中的数据,并以表格形式显示。项目15数据库连接的JavaBean(2)实现1.编写JNDI配置代码2.编写数据库连接工具类3.使用连接池程序5-10context.xml<Resource>标签……<Resourceauth="Container"type="javax.sql.DataSource"name="jdbc/WebDataPool"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://:3306/hncst_net?useUnicode=true&characterEncoding=utf-8&autoReconnect=true"username="hncst_net"password="123456"logAbandoned="true"maxActive="100"maxIdle="30"maxWait="28800"removeAbandoned="true"removeAbandonedTimeout="30"testOnReturn="true"testWhileIdle="true"validationQuery="selectnow()"/>……
项目15数据库连接的JavaBean(2)实现1.编写JNDI配置代码2.编写数据库连接工具类3.使用连接池程序5-10context.xml<Resource>标签……<Resourceauth="Container"type="javax.sql.DataSource"name="jdbc/WebDataPool"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://:3306/hncst_net?useUnicode=true&characterEncoding=utf-8&autoReconnect=true"username="hncst_net"password="123456"logAbandoned="true"maxActive="100"maxIdle="30"maxWait="28800"removeAbandoned="true"removeAbandonedTimeout="30"testOnReturn="true"testWhileIdle="true"validationQuery="selectnow()"/>……
在JSP中以JavaBean形式调用该连接池的代码如下所示:<jsp:useBeanid="db"class="DB.DBManager"/>在Servlet中调用该程序连接数据库的代码如下:privateDBManagerdb=newDBManager();项目15数据库连接的JavaBean2.编写数据库连接工具类
编写数据库操作管理类DBManager.java3.使用连接池
在Eclipse中创建数据读取程序项目16应用JavaBean实现购物车16.1项目描述与实现
通过采用连接池的JavaBean连接MySQL数据库,从表中读取商品信息,实现购物车。在数据库db_shopping中,Books表的结构见表5-4,foods表的结构见表5-5.购物车表t_car的结构见表5-6.字段名数据类型长度是否为空约束备注b_idvarchar50否主键编号b_namevarchar50否书名b_prisedouble否价格b_authorvarchar50否作者b_imgvarchar50否图片表
5-4books表结构项目16应用JavaBean实现购物车16.1项目描述与实现项目16应用JavaBean实现购物车图5-9书籍信息页面books.jsp图5-10食品信息页面foods.jsp项目16应用JavaBean实现购物车图5-11添加了若干商品到购物车后的购物页面foods.jsp项目16应用JavaBean实现购物车实现过程:(1)配置文件server.xml。
在web项目JavaWebExample中的目录servers下,找到server.xml,如图所示。然后将下面的代码添加到<context>标签中。server.xml项目16应用JavaBean实现购物车(2)编写数据库操作管理类SqlHelper.java,具体代码见程序5-12.程序5-13:商品接口Goods.java程序5-13:商品接口Goods.javapackagechapter5.shoppingCart;//商品publicinterfaceGoods{ StringgetId(); doublegetPrice(); StringgetName();}代码分析:因为在购物车对商品进行的统一处理中,需要读取商品ID、商品价格和商品名称,所以在此接口中声明了三个方法来获取这三种属性,要求所有实现此接口的商品类都要能提供对这三种属性的访问。项目16应用JavaBean实现购物车程序5-14:书籍类Book.java程序5-14:书籍类Book.javapackagechapter5.shoppingCart;publicclassBookimplementsGoods{ privateStringid;//书籍的ISBN号 privateStringname;//书名 privatedoubleprice;//价格 privateStringauthor;//作者 privateStringimgName;//图片的名称 publicStringgetId(){ returnid; } publicStringgetName(){ returnname; } publicdoublegetPrice(){ returnprice; } …此处省略各属性其余的setter和getter方法}项目16应用JavaBean实现购物车程序5-15:食品类Food.java程序5-15:食品类Food.javapackagechapter5.shoppingCart;publicclassFoodimplementsGoods{ privateStringid;//食品id privateStringname;//食品名称 privatedoubleprice;//食品价格 privateStringimgName;//图片的名称 publicStringgetId(){ returnid; } publicStringgetName(){ returnname; } publicdoublegetPrice(){ returnprice; } …此处省略各属性其余的setter和getter方法}项目16应用JavaBean实现购物车本例所在的项目的目录结构如图5-13所示,其中蓝色方框内的部分为本例所涉及的内容。图5-13本例项目结构图小结
本章主要介绍了JavaBean的使用,重点介绍了JavaB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心肺复苏应急预案及流程
- 2027届高三地理一轮复习埃及区域认知与核心素养构建教学设计
- 车间能耗节约管控细则
- 2022-2023学年湖北武汉洪山区五年级(下)期末数学试卷及答案
- 工程竣工验收资料报审细则
- 雨课堂学堂在线学堂云《Medical Parasitology(南方医科大学)》单元测试考核答案
- 服装鞋帽公司考勤管理细则
- 智慧安全油库建设方案模板(2026版)完整版 可直接套用的项目申报与实施方案
- 2026年江苏省部编版高一语文下册第9章期末测试卷
- 2026年初中成语故事《繁文缛节》古代礼制探究教案
- 《鉴定人与鉴定结论》课件
- 2026年沈阳职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 危化品经营许可证考试题库
- 2026年秋季七年级生物上册教学计划(人教版)
- HDU高依赖病房院内感染防控制度
- 2、3、4的乘法口诀 教学设计(小学数学·人教版二年级上册)
- 2025中国银行中银理财有限责任公司招聘16人笔试历年典型考题及考点剖析附带答案详解2套
- 珠玉混声合唱谱
- 青年工作委员会工作制度
- 2026校招:陕西汽车控股集团面试题及答案
- 牙膏批号管理制度规范
评论
0/150
提交评论