杭州富阳网站建设,台州建设信息港网站,如何联系外贸公司接订单,东莞网络推广营销公司起初#xff0c;JavaBean的目的是为了将可以重复使用的代码进行打包#xff0c;在传统的应用中#xff0c;JavaBean主要用于实现一些可视化界面#xff0c;如一个窗体、按钮、文本框等#xff0c;这样的JavaBean称之可视化的JavaBean。 随着技术的不断发展与项目的需求JavaBean的目的是为了将可以重复使用的代码进行打包在传统的应用中JavaBean主要用于实现一些可视化界面如一个窗体、按钮、文本框等这样的JavaBean称之可视化的JavaBean。 随着技术的不断发展与项目的需求目前JavaBean主要用于实现一此业务逻辑或封装一些业务对象由于这样的JavaBean并没有可视化的界面所以又称之为非可视化的JavaBean。 可视化的JavaBean一般应用于Swing的程序中在Java Web开发中并不会采用而是使用非可视化的JavaBean实现一此业务逻辑或封装一些业务对象下面就通过实例来了解一下非可视化的JavaBean。
JavaBean 有广义的和狭义的两种概念。
广义的 JavaBean 是指普通的 Java 类
狭义的JavaBean 是指严格按照 JavaBean 规范编写的 Java 类
使用JavaBean的好处
可以使得JSP页面变得清晰
节省软件开发时间可以直接使用已经测试和可信的已有组件避免了重复开发
降低系统维护的难度
为JSP应用带来了更多的可伸缩性使系统变得健壮和灵活。
JavaBean的分类
可视的JavaBean传统的JavaBean应用于可视化界面如java图形界面中使用的按钮、文本框或列表框等。
非可视化的JavaBean封装逻辑、封装数据与JSP搭配使用。
JavaBean有以下特征编写规范
JavaBean是一个public类
一定使用了package语句进行打包并且声明的打包路径非sun公司声明使用的路径。
有一个无参数的构造方法
属性一般是私有的即用private修饰以保证数据的完整性和封装性
对属性值的获取有相应的getXxx()方法并且此方法是公有的即用public修饰若要获取的属性为boolean类型则可以使用isXxx方法
对属性值的设置有相应的setXxx()方法并且此方法也是公有的即用public修饰 package bean;
public class SimpleBean{ private String name; private int number; public SimpleBean(){ } public void setName(String name){
this.name name;
}
public void setNumber(int number){
this.number number;
}
public String getName(){
return name;
}
public int getNumber(){
return number;
}
}
编写JavaBean时需要将其放入某个包中这样才能被JSP页面访问到
保存JavaBean存JavaB
第1步一个JavaBean编写完以后需要将它编译成“.class”文件。
第2步并将此“.class”文件放到本次应用的WEB-INF\classes目录之下并且需要根据Bean的包名在classes下再建立相应的子目录。
例如package ch7.test 则该bean的.class文件需要放置在“WEB-INF\classes\ch7\test”中
使用JavaBean 第1步在 JSP页面中通过import指令引入bean
格式% page import”ch7.test.*”%
第2步通过useBean标记来创建bean对象
格式
jsp:useBean id”bean_name” class”创建bean的类” scope”bean的有效范围“ /jsp:useBean
或 jsp:useBean id”bean_name” class”创建bean的类” scope”bean的有效范围” /
其中1.创建bean的类要带有完整的包名如ch7.test.Circle
2.scope表示bean的取值范围可取page,session,request和application代表不同的作用范围。 m 当 JavaBean 的范围设为 page 时表示这个 JavaBean 的生命周期只在一个 页面内 有效。 m 当 JavaBean 的范围设为 request 时这个 Bean 在 整个请求的范围内 都有效。 m 当 JavaBean 的范围设为 session 时表示 Bean 可以在当前 HTTP 会话的生命周期 内被所有页面访问。 m 设为 application 范围内的 Bean 生命周期是 最长的 从创建了这个 Bean 开始就可以在任何使用相同 application 的 JSP 文件中使用这个 Bean 。 第3步在jsp页面中可以通过直接调用bean的方法来获取和修改bean的属性值还可以通过jsp动作标记来获取和修改bean的属性。 直接调用bean的方法girl.setradius(100)等。 动作标签方法jsp:getProperty和jsp:setProperty m 一个 JavaBean 编写完以后需要将它编译成“ .class” 文件并将此“ .class” 文件 ( 连同其目录 ) 放到本次应用的WEB-INF\classes目录之下。 JSP 中使用 JavaBean的标签 m JavaBean 的标签主要有三个 m m jsp:useBean 标签在网页中创建一个 Bean 对象 m m jsp:setProperty 标签用于为 Bean 对象 中的属性赋值 m m jsp:getProperty 标签用于获取 Bean 对象中 属性的值 m jsp:useBean 标签用来创建一个 Bean 对象其语法为 jsp:useBean id“beanname” class“package.class” [scope“page|request|session|application”] / m 创建了“ package.class ” 类的一个对象对象的名字是“ beanname ” m scope 的值指定了 该对象 的 作用范围可能的取值有 4 个 page 、 request 、 session 、 application m m 例 jsp:useBean id myBean scoperequest class bean.SampleBean/ m jsp:setProperty 标签用来设置 Bean 对象的属性。其语法有多种 (1). jsp:setProperty name“beanName” property“propertyName” value“propertyValue” / 用来为bean的属性赋值 其中name指出是在操作哪个beanproperty指出对该bean的哪个属性赋值value用来指定给属性赋的值。 例jsp:setProperty namemyBean propertysample valueHelloJSP/ m (2). jsp:setProperty name“ beanName ” property“propertyName” param“paramName” / m 当 form 表单中参数的名字和 Bean 中属性名不相同时 这种用法表示将一个传入参数的值赋给 bean 的某个属性。 m 其中 name 指出是在操作哪个 bean property 指出对该 bean 的哪个属性赋值而 param表示传入参数的名字。 m jsp:getProperty 标签用来获取 Bean 对象的属性值并显示在页面上其语法如下 jsp:getProperty name“beanname” property“propertyname” / name指出了要获取哪个bean的属性值 property指出要获取该bean的哪个属性值 例jsp:getProperty namemyBean propertysample/ m jsp:useBean id“ beanname ” class“ package.class ” [scope“ page|request|session|application ”] / 中class的值要与bean的类名相同id作为对象名可任取 m jsp:getProperty name“ beanname”property “ propertyname ” / 中name的值要与useBean中的id的值相同propertyname要与bean的属性名相同 m m jsp:setProperty name“ beanName ” property“propertyName” value“propertyValue” /中的name的值要与useBean中的id的值相同propertyname要与bean的属性名相同。 m jsp:setProperty name“ beanName ” property“propertyName”/中form表单中的参数名、 propertyName和bean中属性名三者要相同 m jsp:setProperty name“ beanName ”, property“ propertyName ” param“ paramName ”/ 中 propertyName 和 bean 中属性名要相同 , paramName 要和 form 表单中属性名相同 m mJavaBean的范围 m 范围有四种 page 、 request 、 session 和 application m 例 jsp:useBean id logBean scopepage class“ mypack.LogBean / m 当 JavaBean 的范围设为 page 时表示这个 JavaBean 的生命周期只在一个页面内有效。 m 当 JavaBean 的范围设为 request 时这个 Bean 在整个请求的范围内都有效。 m 当 JavaBean 的范围设为 session 时表示 Bean 可以在当前 HTTP 会话的生命周期内被所有页面访问。 m 设为 application 范围内的 Bean 生命周期是最长的从创建了这个 Bean 开始就可以在任何使用相同 application 的 JSP 文件中使用这个 Bean 。 7.2 JavaBean的应用