系列文章目录
目录
前言
按照Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。
提示:以下是本篇文章正文内容,下面案例可供参考
一、编写和使用JavaBean
1.编写JavaBean
编写一个JavaBean要遵守以下的规则: ①如果类的成员变量的名字是xxx,那么为了获取或更改bean的属性的值,类中必须提供getXxx()和setXxx()方法。 ②类中定义的方法的访问权限都必须是public的。 ③类中必须有一个构造方法是public、无参数的。
public class Circle { double radius; public Circle(){ radius = 1; } public double getRadius(){ return radius; } public void setRadius(double newRadius){ radius = newRadius; } public double circleArea(){ return Math.PI * radius * radius; } double double circleLength(){ return Math.PI * 2 * radius; } }
2.保存bean的字节码
为了使JSP页面使用bean,Tomcat服务器必须使用相应的字节码文件创建一个对象,即创建一个bean。为了让Tomcat服务器能找到字节码文件,字节码文件必须保存在特定的目录中。
3.创建与使用bean
①使用bean 使用JSP动作标记useBean加载使用bean,需要特别主义的是,其中的“创建bean的类”要带有包名,语法格式是: <jsp:useBean id="bean的名字" class="创建bean的类" scope="bean有效范围">
②bean的加载原理
当JSP页面使用JSP动作标记useBean加载一个bean时,Tomcat服务器首先根据JSP动作标记中useBean中的id给出的bean名字以及scope给出的使用范围,在pageContent内置对象中查找,如果没有找到就创建一个bean,并生成字节码文件。
③bean的有效范围和生命周期
page bean:有效范围是用户访问的当前页面,存活时间直到当前页面执行完毕。 session bean:有效范围是用户访问的Web服务目录下的各个页面,存活时间是用户的会话期间,直到用户的会话消失。 request bean:有效范围是用户请求的当前页面,存活时间是从用户的请求产生到结束。 application bean:有效范围是当前Web服务目录下的各个页面,存活时间直到Tomcat服务器关闭。
<%@ page contentType="text/html"%> <%@ page pageEncoding="utf-8"%> <HTML><bodgy bgcolor="#ffccff"> <style> #textStyle{ font-family:宋体;font-size:36px;color:blue } </style> <HTML><body bgcolor="#ffccff"> <p id = "textStyle"> <jsp:useBean id="circle" class="ch4_Person.Circle" scope="page"/> 圆的初始半径是:<%=circle.getRadius()%> <%double newRadius = 100; circle.setRadius(newRadius); %> <br>修改半径为<%=newRadius%> <br><b>圆的半径是:<%=circle.getRadius()%> <br><b>圆的周长是:<%=circle.circleLength()%> <br><b>圆的面积是:<%=circle.circleArea()%> </p></body></HTML>
二、获取和修改bean的属性
获取或修改bean的属性可以使用JSP动作标记getProperty、setProperty,这种情况下,要求创建bean的类遵守setXxx和getXxx等规则。
1.getProperty动作标记
使用getProperty动作标记可以获得bean的属性值,并将这个值用串的形式发送给用户的浏览器。使用getProperty动作标记之前,必须使用useBean动作标记获得相应的bean,语法格式如下: <jsp:getProperty name="bean的id" property="bean的属性">
2.setProperty动作标记
使用setProperty动作标记可以设置bean的属性值。使用这个动作标记之前必须使用useBean标记得到一个相应的bean。
setProperty动作标记可以通过两种方式设置属性值:
①将bean属性值设置为一个表达式的值或字符序列。 <jsp:setProperty name="bean的id" property="bean的属性" value="字符序列"/>
②通过HTTP表单的参数值设置bean的相应属性值 用form表单的所有参数值设置bean相应属性值的使用格式如下: <jsp:setProperty name="bean的id的名字" property="*"/> 用form表单的某个参数的值设置bean的某个属性值的使用格式如下: <jsp:setProperty name="bean的名字" property="属性名" param="参数名"/>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% request.setCharacterEncoding("utf-8"); %> <jsp:useBean id = "person" class = "ch4_Person.Person" scope = "request"/> <form action = "" Method = "post"> 偶像名字:<input type = "text" name = "name"/><br> 偶像年龄:<input type = "text" name = "age"/><br> <input type = "submit" name = "submit" value = "提交"/> </form> <jsp:setProperty name = "person" property = "name" param = "name"/> <jsp:setProperty name = "person" property = "age" param = "age"/> 名字:<jsp:getProperty name = "person" property = "name"/><br> 年龄:<jsp:getProperty name = "person" property = "age"/><br> </body> </html>
三、bean的辅助类
在写一个创建bean的类时,除了需要用import语句引入JDK提供的类,可能还需要自己编写一些其他的类,只要将这样的类的包名和bean类的包名一致即可。
四、JSP与bean结合的简单例子
JSP页面中调用bean可以将数据的处理从页面中分离出来,实现代码复用,以便更有效地维护一个Web应用。
<%@ page contentType="text/html"%> <%@ page pageEncoding="utf-8"%> <HTML><bodgy bgcolor="#ffccff"> <style> #textStyle{ font-family:宋体;font-size:36px;color:blue } </style> <%request.setCharacterEncoding("utf-8");%> <HTML><body bgcolor="#ffccff"> <jsp:useBean id="triangle" class="ch4_Person.Triangle" scope="request"/> <form action="" method="post"> 输入三角形三边: 边A:<input type="text" name="sideA" id="textStyle" value="0" size="5"> 边B:<input type="text" name="sideB" id="textStyle" value="0" size="5"> 边C:<input type="text" name="sideC" id="textStyle" value="0" size="5"> <br><input type="submit" id="textStyle" value="提交"> </form> <jsp:setProperty name="triangle" property="*"/> 三角形的三边是: <jsp:getProperty name="triangle" property="sideA"/> <jsp:getProperty name="triangle" property="sideB"/> <jsp:getProperty name="triangle" property="sideC"/> <br><b>这三个边能构成一个三角形吗?<jsp:getProperty name="triangle" property="isTriangle"/> <br>面积是:<jsp:getProperty name="triangle" property="area"/></b> </p></body></HTML>
总结
以上就是今天要讲的内容,本文仅仅简单介绍了JavaBean的使用,要想深入了解JavaBean的使用可以参考其他人的博客。