版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章JSP与JavaBean理解什么是JavaBean掌握两种JavaBean的封装类掌握在JSP页面上如何使用JavaBean掌握<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>动作的用法学习目标JavaBean是Java开发语言中一个可以重复使用的软件组件,本质上是一种特殊的Java类,它通常具有如下特点。(1)JavaBean的类必须是公共的(public)。(2)它必须具有一个公共的、无参的构造方法。(3)属性必须私有的(private)。(4)可以有一系列的获取方法(getter)或设置方法(
setter)去获取或设置JavaBean的属性,通常属性名的首字母应大写。
(5)对于boolean类型的成员变量,允许使用is方法代替上面的get方法。3.1JavaBean的定义JavaBean可分为两种:一种是传统应用中用于实现用户界面(UI,UserInterface)的JavaBean;还有一种是主要负责封装数据或封装业务的JavaBean,在Web应用程序中使用的JavaBean就是这种。3.2.1封装数据的JavaBean封装数据的JavaBean负责数据的存取,需要设置多个属性及其属性值的存取方法。如果属性名字是Xxx,则getXxx方法用于获取属性值;setXxx用于设置或更改属性值。3.2两种JavaBean的封装类3.2.1封装数据的JavaBean例3-1定义一个简单的JavaBean。新建一个名为javaWeb的Web项目,在javaWeb工程的文件夹src中创建一个名为model的包,在包下定义一个名为User的类,这就是一个JavaBean,此类中定义了五个属性:userId、userName、password、role、status,并提供了公共的setter方法和getter方法供外界访问这些属性。代码如下。3.2两种JavaBean的封装类3.2.1封装数据的JavaBean3.2两种JavaBean的封装类packagemodel;
publicclassUser{
privateintuserId;
privateStringuserName;
privateStringpassword;
privateintrole;//角色1普通2管理员
privatebooleanstatus;
publicintgetUserId(){
returnuserId;
}
publicvoidsetUserId(intuserId){
this.userId=userId;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicintgetRole(){
returnrole;
}
publicvoidsetRole(introle){
this.role=role;
}
publicbooleangetStatus(){
returnstatus;
}
publicvoidsetStatus(booleanstatus){
this.status=status;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringtoString(){//列出部分数据
return""+userId+","+userName+","+password+"\n";
}
}3.2.2封装业务的JavaBean封装业务的JavaBean是完成一定运算和操作功能的业务类,主要包含一些实现特定功能的方法,通常与一个封装数据的JavaBean对应。就上述封装数据的JavaBean来说,封装业务的JavaBean用于操作封装数据。比如要将表单中的用户输入的值送入数据库中相应的字段,或者将数据库中的字段值取出并显示到网页中,此时需要一个专门的JavaBean与封装数据的JavaBean配合完成操作。3.2两种JavaBean的封装类3.2.2封装业务的JavaBean例3-2定义封装业务的JavaBean,负责数据库连接及数据库中数据操作的业务流程(1)在sample的数据库中创建一个名为userinfo的表,表结构如下图所示。(2)向该表中插入若干条数据。(3)在javaWeb工程的文件夹src中创建一个名为util的包,在包下定义一个名为ConnectionManager的类,详细代码见教材例3-2。3.2两种JavaBean的封装类3.2.2封装业务的JavaBean例3-2定义封装业务的JavaBean,负责数据库连接及数据库中数据操作的业务流程(4)在javaWeb工程的文件夹src中创建一个名为dao的包,在包下定义一个名为UserDao的类,详细代码见教材例3-2。主要封装的方法如下图:3.2两种JavaBean的封装类类:UserDAOintaddUserifno(Useruser)intdelUserinfo(intid)updateUserifno(Useruser)List<User>findByUserName(StringuserName)List<User>listAll()UserfindByUserId(intid)UserfindByLoginname(StringuserName)在JSP的开发中使用JavaBean可以减少重复代码,使整个JSP代码的开发更简洁。JSP提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为<jsp:useBean>标签、<jsp:setProperty>标签和<jsp:getProperty>标签。<jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。<jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。3.3JavaBean在JSP中的应用3.3.1<jsp:useBean>标签<jsp:useBean>
标签用于在JSP页面中查找或实例化一个JavaBean组件,语法格式:<jsp:useBeanid="JavaBean实例名"class="类名”scope=”范围”/>属性id表示定义的JavaBean的实例名,属性class表示定义的JavaBean类名。属性scope是定义的JavaBean实例的作用域,可有4个取值,分别对应4个范围:Page:表示JavaBean实例在当前页面有效。Application:表示JavaBean实例在项目的各个页面都有效。session:表示JavaBean实例在本次的会话中有效。request:表示JavaBean实例在本次的请求中有效。当定义了一个JavaBean时就可以为其属性赋值,可以使用<jsp:setProperty>动作来设置或修改JavaBean的属性值,也可以使用<jsp:getProperty>动作来获取属性的值。3.3JavaBean在JSP中的应用3.3.2<jsp:setProperty>通过使用<jsp:setProperty>,为已经实例化的JavaBean的属性赋值,语法格式:<jsp:setPropertyname="JavaBean实例名"property="属性名"value="属性值"/>当property="*"时,将前端表单的所有标签与JavaBean属性一一对比,若标签的name与属性名相同,则将标签的值赋给JavaBean实例中对应的属性;当property为指定的某个具体属性时,JavaBean实例中只会有该属性被赋值;当property为指定的某个具体属性,value为指定的一个值时,则是给JavaBean实例中的该属性赋指定的这个值,此时前端的对应标签的值不会赋给JavaBean实例的对应属性。3.3JavaBean在JSP中的应用3.3.3<jsp:getProperty>通过使用<jsp:getProperty>可以获取指定的JavaBean的值,语法格式如下:<jsp:getPropertyname=“JavaBean实例名”property=“属性名”/>例3-3将工程JavaWeb的web目录下的index.jsp文件进行修改,代码如下。3.3JavaBean在JSP中的应用<%@pageimport="model.User"%>
<%@pagecontentType="text/html;charset=UTF-8"language="java"%>
<%@pageimport="java.util.*"%>
<html>
<head>
<title>$Title$</title>
<jsp:useBeanid="dao"class="dao.UserDao"scope="request"/>
</head>
<body>
<%
Useruser=dao.findByLoginname("tom");
%>
<inputtype="text"name="userId"value="<%=user.getUserId()%>"/><inputtype="text"name="userName"value="<%=user.getUserName()%>"/><inputtype="text"name="password"value="<%=user.getPassword()%>"/>
$END$
</body>
</html>
在index.jsp页面中使用<jsp:useBean>标签实例化了UserDao对象。启动Tomcat服务器,打开“index.jsp”页面,在该页面的第一个文本框中显示“aaa”;第二个文本框显示表userinfo中是否有username的值为“tom”的记录,若有,则在此文本框中显示“tom”,若没有,则显示“null”;第三个文本框中显示表userinfo中username的值为“tom”的记录中字段userId、userName及password的值。运行结果如下图所示。3.3JavaBean在JSP中的应用3.3.3<jsp:getProperty>例3-33.4用户信息管理示例
前面封装了数据实体类User与数据访问类UserDao,如何在页面中使用这些对象?我们来做一个JSP与JavaBean结合使用的示例。例3-4在JSP页面中实现对数据表中的数据进行增加、删除、修改及查询操作。详细步骤见教材例3-43.5MVC设计模式
MVC(ModelViewController)是XeroxPARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,指的就是模型-视图-控制器。MVC是Model、View、Controller三个单词首字母的缩写。它是一种成熟的设计模式,并不是Java平台独有的,它将一个应用程序在逻辑上视为三层:负责用户界面的为视图层(View),负责程序流程控制的为控制器(Controller),负责对数据进行建模的为模型(Model),如下图所示。3.5MVC设计模式在JavaWeb的开发设计中,产生了一些设计模式,最典型的就是“JSP+JavaBean”的模式,这种模式将显示和业务逻辑分开。J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产业路管护制度
- 建筑企业奖惩制度范本
- 曳步舞社团学员奖惩制度
- 手机销售业务员奖惩制度
- 职教中心招生奖惩制度
- 洗煤厂生产质量奖惩制度
- 联营商营收目标奖惩制度
- 商用物业满意度奖惩制度
- 安全消防管理奖惩制度
- 电话邀约到访奖惩制度
- 2026年安徽水利水电职业技术学院单招职业适应性测试题库与答案详解
- 2026年商丘职业技术学院单招职业技能测试题库及答案详解(名校卷)
- 《国家十五五规划纲要》全文
- 2023年云南省中考地理真题及参考答案
- 工业园区66kv变电所毕业设计
- 大班社会活动协商分工好
- GB/T 5976-2006钢丝绳夹
- GB/T 21633-2020掺混肥料(BB肥)
- DZ∕T 0388-2021 矿区地下水监测规范
- ISO45001职业健康安全管理体系培训
- 五段式作文教学课件
评论
0/150
提交评论