javabean
- 格式:pdf
- 大小:112.51 KB
- 文档页数:27
JavaBean中包含四种类型的属性,它们分别是简单属性(simple property)、索引属性(indexed property)、绑定属性(bound property)和约束属性(constrained property),首先对前两种属性进行介绍。
1、简单属性简单属性是非数组类型的属性,它的修改器必须接受一个参数,参数类型由属性的特性决定,可以是任意类型。
而简单属性的访问器仅仅是用于返回属性的值,它不接受任何参数,但它要返回一个值,返回值的类型必须与修改器所接收的参数类型一致。
public class Book {private double price;publicString getPrice() {return price;}public voidsetPrice(double price) {this.price= price;}}2、索引属性索引属性是数组类型的属性,JavaBean中需要对索引索性提供两对setter和getter方法,一对用于设置和获取数组本身,另一对用于设置和获取数组中的元素。
接下来就通过一个JavaBean来演示索引属性的定义,代码如例程所示。
class Person {// 索引属性hobbiesprivateString[] hobbies;// 设置和获取属性本身publicString[] getHobbies() {returnhobbies;}publicvoid setHobbies(String[] hobbies) {this.hobbies= hobbies;}// 设置和获取属性中的元素publicString getHobbies(int i) {returnhobbies;}publicvoid setHobbies(int i, String hobby) {hobbies= hobby;}}在例程所示的JavaBean中,定义了一个索引属性hobbies,为了使外界能够方便的操作该属性,提供了一对重载的setHobbies()方法和一对重载的getHobbies()方法,其中setHobbies(String hobbies)方法用于设置数组属性hobboes本身,而setHobbies(int i,String hobby)方法用于设置数组属性中的元素。
如何简单理解Javabean?
⼀、Bean的基本概念
1、Java⾯向对象,对象有⽅法和属性,那么就需要对象实例来调⽤⽅法和属性(即实例化);
2、凡是有⽅法或属性的类都需要实例化,这样才能具象化去使⽤这些⽅法和属性;
3、规律:凡是⼦类及带有⽅法或属性的类都要加上注册Bean到Spring IoC的注解;
4、把Bean理解为类的代理或代⾔⼈(实际上确实是通过反射、代理来实现的),这样它就能代表类拥有该拥有的东西了
⼆、JavaBean ⾄少满⾜的条件
1. 有⼀个public默认构造器(例如⽆参构造器,)
2. 属性使⽤public 的get,set⽅法访问,也就是说设置成private,同时get,set⽅法与属性名的⼤⼩也需要对应。
例如属性name,get⽅
法就要写成,public String getName(){},N⼤写。
3. 需要序列化。
这个是框架,⼯具跨平台反映状态必须的
三、Bean的特点
1、所有属性为private
2、提供默认构造⽅法
3、提供getter和setter
4、实现serializable接⼝。
简述javabean的编写要求
JavaBean是Java语言中的一种编程规范,用于创建可重用、可扩展和可序列化的Java对象。
以下是JavaBean的编写要求:
1. 公共类:JavaBean类必须是一个公共类(public class)。
2. 私有属性:JavaBean类应该包含私有的属性(private fields),并通过公共的getter和setter方法(public getter and setter methods)来访问和修改这些属性。
属性的命名应遵循标准的命名规范,如使用驼峰命名法。
3. 默认构造函数:JavaBean类必须提供一个无参数的默认构造函数(public no-argument constructor)。
这是为了保证JavaBean 在反射机制等场景下的正常使用。
4. 可序列化:JavaBean类可以实现Serializable接口,以支持对象的序列化和反序列化。
这对于在网络传输和持久化存储中使用JavaBean对象非常重要。
5. 其他方法:JavaBean类可以包含其他的方法,以提供额外的功能和行为。
例如,重写equals()和hashCode()方法,实现自定义的比较逻辑。
6. 不依赖特定框架:JavaBean应该是与特定框架无关的,它应该能够在不同的环境中使用。
因此,JavaBean类不应该依赖于特定的第三方库或框架。
编写符合JavaBean规范的类可以提高代码的可读性、可维护性和可重用性。
它们可以方便地被其他Java程序访问和操作,也可以与各种Java开发工具和框架无缝集成。
1/ 1。
JavaBean简单介绍及其应⽤Bean的中⽂含义是“⾖⼦”,顾名思义JavaBean是⼀段Java⼩程序。
JavaBean实际上是指⼀种特殊的Java类。
它通经常使⽤来实现⼀些⽐較经常使⽤的简单功能。
并能够⾮常easy的被重⽤或者是插⼊其它应⽤程序中去。
全部遵循⼀定编程原则的Java类都能够被称作JavaBean。
⼀. Java Bean技术概述Java Bean是基于Java的组件模型,由属性、⽅法和事件3部分组成。
在该模型中,JavaBean能够被改动或与其它组件结合以⽣成新组件或完整的程序。
它是⼀种Java类,通过封装成为具有某种功能或者处理某个业务的对象。
因此。
也能够通过嵌在JSP页⾯内的Java代码訪问Bean及其属性。
Bean的含义是可反复使⽤的Java组件。
所谓组件就是⼀个由能够⾃⾏进⾏内部管理的⼀个或⼏个类所组成、外界不了解其内部信息和执⾏⽅式的群体。
使⽤它的对象仅仅能通过接⼝来操作。
⼆. Java Bean编写规范Java Bean实际上是依据JavaBean技术标准所指定Bean的命名和设计规范编写的Java类。
这些类遵循⼀个接⼝格式。
以便于使函数命名、底层⾏为以及继承或实现的⾏为,其最⼤的长处在于可以实现代码的可重⽤性。
Bean并不须要继承特别的基类(BaseClass)或实现特定的接⼝(Interface)。
Bean的编写规范使Bean的容器(Container)可以分析⼀个Java类⽂件。
并将其⽅法(Methods)翻译成属性(Properties),即把Java类作为⼀个Bean类使⽤。
Bean的编写规范包含Bean类的构造⽅法、定义属性和訪问⽅法编写规则。
2.1. Bean组件的⼯作机制在JavaBeansVersion1.01 A规范中定义了该组件的5种重要机制:(1)内省(Introspection):组建能够发表其⽀持的操作和属性。
同⼀时候也⽀持在其它组件中发现反复利⽤的对象库,如⽤户权限控制和电⼦邮件⾃⼰主动回复等。
简述javabean规范都有哪些?篇一:JavaBean规范POJO = Plain Ordinary Java Object,是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者SessionBean。
POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB,JDBC 等等。
即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
下面是摘自Martin Fowler个人网站的一句话:We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it's caught on very nicely.-- 我们疑惑为什么人们不喜欢在他们的系统中使用普通的对象,我们得到的结论是——普通的对象缺少一个响亮的名字,因此我们给它们起了一个,并且取得了很好的效果。
——Martin FowlerJavaBean规范(1)JavaBean 类必须是一个公共类,并将其访问属性设置为public ,如:public class user{......}(2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器(3)一个javaBean类不应有公共实例变量,类变量都为private ,如:private int id;(4)属性应该通过一组存取方法(getXxx 和setXxx)来访问,一般是IDE(Eclipse、JBuilder) 为属性生成getter/setter 方法一般JavaBean属性以小写字母开头,驼峰命名格式,相应的getter/setter 方法是get/set 接上首字母大写的属性名。
JSP+JavaBean1、JavaBean类1、显示学生信息内容JavaBeanpackage com.DataBase;import java.sql.*;public class MyDbBean{private Statement stmt = null;ResultSet rs = null;private Connection conn = null;private String dsn;//构造函数public MyDbBean() { }//根据dsn参数,加载驱动程序,建立连接public void getConn(String dbname, String uid, String pwd) throws Exceptiontry{dsn = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=" +dbname;Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();conn = DriverManager.getConnection(dsn, uid, pwd);}catch (Exception ex){System.err.println("aq.executeQuery: " + ex.getMessage());}}//执行查询类的SQL语句,有返回集public ResultSet executeQuery1(String sql){rs = null;try{stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONL Y);rs = stmt.executeQuery(sql);}catch(SQLException ex){System.err.println("aq.executeQuery:"+ex.getMessage());}return rs;}//执行更新类的SQL语句,无返回集public void executeUpdate2(String sql){stmt = null;rs=null;try{stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONL Y);stmt.executeQuery(sql);stmt.close();conn.close();}catch(SQLException ex){System.err.println("aq.executeQuery: " + ex.getMessage());}}//关闭对象public void closeStmt()try{ stmt.close(); }catch(SQLException ex){System.err.println("aq.executeQuery: " + ex.getMessage());}}public void closeConn(){try{ conn.close(); }catch(SQLException ex){System.err.println("aq.executeQuery: " + ex.getMessage());}}}“list.jsp”<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.sql.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><jsp:useBean id="testbean" scope="session" class="com.DataBase.MyDbBean" /><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>学籍管理系统</title></head><%! String url,sql; %><%! int i;%><body bgcolor="#ffffff"><div align="center"><font color="#000000" size="5">学籍管理系统</font> </div> <table width="75%" border="1" cellspacing="1" cellpadding="1" align="center"><tr><td width=16% align=center>学号</td><td width=16% align=center>姓名</td><td width=8% align=center>性别</td><td width=8% align=center>年龄</td><td width=16% align=center>籍贯</td><td width=12% align=center>更改</td><td width=12% align=center>删除</td></tr><%//调用getConn方法与数据库建立连接testbean.getConn("Data_Stu", "sa","");sql="select * from stuInfo";ResultSet rs=testbean.executeQuery1(sql);//查询数据库while(rs.next()){%><tr><td width=16% align=center><%=rs.getString(1)%></td><td width=16% align=center><%=rs.getString(2)%></td><td width=8% align=center><%=rs.getString(3)%></td><td width=8% align=center><%=rs.getInt(4)%></td><td width=16% align=center><%=rs.getString(5)%></td><td width=12% align=center><%=rs.getString(6)%></td><td width=12% align=center><a href="change.jsp?xuehao=<%=rs.getString(1)%>">修改</a></td> <td width=12% align=center><a href="del.jsp?xuehao=<%=rs.getString(1)%>">删除</a></td></tr><%}rs.close();testbean.closeStmt();testbean.closeConn();%></table><div align="center"><a href="insert.jsp">添加新记录</a> </div></body></html>2、添加记录“insert.jsp”<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.sql.*,java.util.*;" errorPage=""%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>添加记录</title></head><body bgcolor="#FFFFFF" text="#000000"><div align="center"><font color="#000000" size="5">添加新记录</font></div><form name="form1" method="post" action="query.jsp"><table width="35%" border="1" cellspacing="1" cellpadding="1" align="center"> <tr><td width="46%" align="center">学号</td><td width="54%"> <input type="text" name="xuehao" size="7"></td></tr><tr><td width="46%" align="center">姓名</td><td width="54%"> <input type="text" name="name" size="8"></td></tr><tr><td width="46%" align="center">性别</td><td width="54%"> <select name="sex" size="1"><option value="男" selected> 男</option><option value="女">女</option></select></td></tr><tr><td width="46%" align="center">年龄</td><td width="54%"> <input type="text" name="age" size="2"></td></tr><tr><td width="46%" align="center">籍贯</td><td width="54%"> <input type="text" name="jiguan" size="8"></td></tr><tr><td width="46%" align="center">院系</td><td width="54%"> <input type="text" name="department" size="8"></tr><tr align="center"><td colspan="2" align="center"><input type="submit" name="Submit" value="提交"> <input type="reset" name="reset" value="清空"></td></tr></table></form></body></html>“query.jsp”<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.sql.*,java.util.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><jsp:useBean id="query" scope="session" class="com.DataBase.MyDbBean"/> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>插入数据</title></head><body><%! String xuehao,name,sex,age,jiguan,department,url,sql; %><%! int i;%><%xuehao=request.getParameter("xuehao").trim();name=request.getParameter("name").trim();name=new String(name.getBytes("ISO-8859-1"),"UTF-8");//编码转换sex=request.getParameter("sex").trim();sex=new String(sex.getBytes("ISO-8859-1"),"UTF-8");age=request.getParameter("age").trim();i=Integer.parseInt(age);jiguan=request.getParameter("jiguan").trim();jiguan=new String(jiguan.getBytes("ISO-8859-1"),"UTF-8");department=request.getParameter("department").trim();department=new String(department.getBytes("ISO-8859-1"),"UTF-8");if(xuehao.length()!=7){//检查学号的位数response.sendRedirect("err.jsp");}response.sendRedirect("err.jsp");}//调用getConn()方法与数据库建立连接query.getConn("Data_Stu","sa","");sql="select * from stuInfo where 学号='"+xuehao+"'";ResultSet rs=query.executeQuery1(sql);if(rs.getRow()>0){ response.sendRedirect("err.jsp"); }sql="insert into stuInfo(学号,姓名,性别,年龄,籍贯,院系)";sql=sql+"values('"+xuehao+"','"+name+"','"+sex+"','"+i+"','"+jiguan+"','"+department+"')";query.executeUpdate2(sql);out.println("<font size=3 color=blue>正在处理信息,请稍后......</font><meta http-equiv='refresh' content='2;url=list.jsp'>");rs.close();query.closeStmt();query.closeConn();%></body></html>3、更改记录“change.jsp”<%@page contentType="text/html" pageEncoding="UTF-8"%><%@ page import="java.sql.*,java.util.*;" errorPage=""%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><jsp:useBean id="modify" scope="session" class="com.DataBase.MyDbBean"/><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>修改记录</title></head><body bgcolor="#FFFFFF" text="#000000"><div align="center"><font color="#000000" size="5">修改记录</font> </div><%! String xuehao,url,sql,sex; %><%xuehao=request.getParameter("xuehao").trim();//调用getConn()方法与数据库建立连接modify.getConn("Data_Stu","sa","");sql="select * from stuInfo where 学号='"+xuehao+"'";ResultSet rs=modify.executeQuery1(sql);while(rs.next()){%><form name="form1" method="post" action="change_query.jsp?xuehao=<%=xuehao%>"><table width="35%" border="1" cellspacing="1" cellpadding="1" align="center"><tr><td width="46%" align="center">学号</td><td width="54%"> <%=rs.getString(1)%></td></tr><tr><td width="46%" align="center">姓名</td><td width="54%"> <input type="text" name="name" size="8" value=<%=rs.getString(2)%>></td></tr><tr><td width="46%" align="center">性别</td><td width="54%"> <%sex=rs.getString(3).trim();if(sex.equals("男")){%><option value="男" selected>男</option><option value="女">女</option></select><% }else{%><select name="sex" size="1"><option value="男" >男</option><option value="女"selected>女</option></select><% } %></td></tr><tr><td width="46%" align="center">年龄</td><td width="54%"> <input type="text" name="age" size="2" value=<%=rs.getInt(4)%>></td></tr><tr><td width="46%" align="center">籍贯</td><td width="54%"> <input type="text" name="jiguan" size="8" value=<%=rs.getString(5)%>></td></tr><tr><td width="46%" align="center">院系</td><td width="54%"> <input type="text" name="department" size="8" value=<%=rs.getString(6)%>></td></tr><tr align="center"><td colspan="2" align="center"><input type="submit" name="Submit" value="提交"> <input type="reset" name="reset" value="清空"></td></tr></table></form><%}rs.close();modify.closeStmt();modify.closeConn();%></body></html>“change_query.jsp”<%--Document : change_queryCreated on : 2010-5-8, 17:32:29Author : Administrator--%><%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.sql.*,java.util.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><jsp:useBean id="modify" scope="session" class="com.DataBase.MyDbBean"/><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>修改记录</title></head><body><%! String xuehao,name,sex,age,jiguan,department,url,sql; %><%! int i;%><%xuehao=request.getParameter("xuehao").trim();out.print(xuehao);name=request.getParameter("name").trim();name=new String(name.getBytes("ISO-8859-1"),"UTF-8");sex=request.getParameter("sex").trim();sex=new String(sex.getBytes("ISO-8859-1"),"UTF-8");age=request.getParameter("age").trim();i=Integer.parseInt(age);jiguan=request.getParameter("jiguan").trim();jiguan=new String(jiguan.getBytes("ISO-8859-1"),"UTF-8");department=request.getParameter("department").trim();department=new String(department.getBytes("ISO-8859-1"),"UTF-8");if(name.equals("")){response.sendRedirect("err1.jsp");}try{//调用getConn()方法与数据库建立连接modify.getConn("Data_Stu","sa","");sql="update stuInfo set 姓名= '"+name+"',性别= '"+sex+"',年龄="+i+",籍贯= '"+jiguan+"',院系=modify.executeUpdate2(sql);out.println("<font size=3 color=blue>正在修改记录,请稍后......</font><meta http-equiv='refresh' content='2;url=list.jsp'>");modify.closeStmt();modify.closeConn();}catch(Exception e){response.sendRedirect("err.jsp");}%></body></html>4、删除记录“del.jsp”<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.sql.*,java.util.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><jsp:useBean id="del" scope="session" class="com.DataBase.MyDbBean"/><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>删除记录</title></head><body><%! String xuehao,url,sql; %><%xuehao=request.getParameter("xuehao").trim();try{//调用getConn()方法与数据库建立连接del.getConn("Data_Stu","sa","");sql="delete from stuInfo where 学号='"+xuehao+"'";del.executeUpdate2(sql);out.println("<font size=3 color=blue>正在删除数据,请稍后......</font>" +"<meta http-equiv='refresh' content='2;url=list.jsp'>");del.closeStmt();del.closeConn();}catch(Exception e){response.sendRedirect("err.jsp");}%></body></html>JSP+ Servlet 访问数据库<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>无标题文档</title></head><body><form name="form1" method="post" action="servlet"><p>客户查询</p><p>请输入用户名:<input type="text" name="USERNAME"><input type="submit" name="Submit" value="提交"></p><p> </p></form><form name="form2" method="get" action="servlet"><p>根据总数查询</p><p>总数范围在<input type="text" name="totalmin">和<input type="text" name="totalmax">之间</p><p><input type="submit" name="Submit2" value="提交"></p></form><p> </p></body></html>package tree;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.sql.*;public class queryextends HttpServlet {private static final String CONTENT_TYPE = "text/html; charset=GB2312";//Initialize global variablespublic void init() throws ServletException {super.init();}//执行HTTP Post请求public void doPost(HttpServletRequest request,HttpServletResponse response) throwsServletException,IOException{PrintWriter out=response.getWriter();response.setContentType(CONTENT_TYPE);//设置响应的MIME类型。
JavaBean详解JavaBean的概念:Javabean是一个可重复使用的软件组件,实际上是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称beanJavaBean本质上是Java类,按照编写类的方法编写, 需要注意一下四点:①如果类的成员变量为XXX,那么获取和更改属性的方法必须为getXxx和setXxx.②对于boolean类型的成员变量,还可以使用isXxx获得这个属性.③类中声明的方法访问属性都必须是public的④类中声明的构造方法必须是public, 无参数的保存bean的字节码:Tomcat服务器使用字节码文件创建bean,字节码文件必须保存在特定的目录中.(Web服务器子目录\WEB-INF\classes中), Classes中还必须有与包对应的子目录结构. 比如包名为com.donaljdohn, 那么在Classes下应该建立子目录结构com\donaljdohn创建与使用bean:<jsp:useBean id="给bean起得名字" class="创建bean的类" scope="bean有效范围" type=“class_or_interface_name”></jsp:useBean>或<jsp:useBean id="给bean起的名字" class="创建bean的类" scope="bean有效范围"/>●在JSP页面中, 必须有相应的import指令●<%@ page import="com.donaldjohn.*"%>●创建bean的类中必须要带有包名.id=“"在所定义的范围中确认Bean的变量,在定义某个JavaBean时,需要指定它的ID,通过此ID对JavaBean的实例对象进行引用。
JavaBean的意义与特点1. JavaBean的概述JavaBean是一种特殊的Java类,它遵循特定的命名规范和规定的编程风格。
JavaBean主要用于封装数据,并提供公共的get和set方法来访问和修改数据的值。
JavaBean的出现使得Java编程更加灵活、可维护和可扩展。
2. JavaBean的意义JavaBean的主要意义在于封装数据和提供统一的访问接口。
它将数据与业务逻辑相分离,提供了一种简单且易于使用的方式来操作数据。
JavaBean的意义如下所述:2.1 封装数据JavaBean通过私有的成员变量来封装数据,提供get和set方法来访问和修改数据的值。
这种封装数据的方式可以提高程序的安全性,防止外部直接访问和修改数据,从而保证数据的完整性和一致性。
2.2 提供统一的访问接口JavaBean提供了统一的访问接口,使得客户端代码可以通过get和set方法来访问和修改数据的值。
这种统一的访问接口简化了客户端代码的编写,并且降低了代码的耦合度。
当需要修改JavaBean的内部实现时,客户端代码不需要改变,只需要修改对应的访问接口即可。
2.3 支持可视化编程JavaBean可以通过在图形界面编程工具中进行拖拽和放置来创建和配置。
这种可视化编程的方式使得JavaBean的使用更加方便,同时也减少了编码的工作量。
2.4 支持持久化操作JavaBean可以支持持久化操作,可以将JavaBean的状态保存到磁盘或数据库中,以便于后续的读取和加载。
这种持久化操作可以方便地将数据保存下来,避免数据的丢失,并且方便数据的共享和传输。
3. JavaBean的特点JavaBean具有以下几个特点:3.1 符合命名规范JavaBean的类名使用大驼峰命名法,如PersonBean。
属性名使用小驼峰命名法,如name、age。
方法名以get或set开头,后面跟上属性名,并且省略属性名的第一个字母,如getName()、setName(String name)。
javaBean实验报告一、实验目的1、深入理解 JavaBean 的概念和作用。
2、掌握如何创建、使用和配置 JavaBean。
3、学会在 Java Web 应用中运用 JavaBean 来提高代码的可维护性和可复用性。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java EE Developers3、服务器:Apache Tomcat 904、 JDK 版本:JDK 18三、实验原理JavaBean 是一种遵循特定规范的 Java 类,它具有私有属性、公共的 getter 和 setter 方法,以及一个无参的构造函数。
通过这些规范,可以方便地对属性进行访问和修改,同时也有利于代码的封装和复用。
四、实验内容(一)创建 JavaBean创建一个名为`Student` 的 JavaBean 类,包含学生的学号(`id`)、姓名(`name`)和年龄(`age`)三个属性。
代码如下:```javapublic class Student {private int id;private String name;private int age;public Student(){}public int getId(){return id;}public void setId(int id) {thisid = id;}public String getName(){return name;}public void setName(String name) {thisname = name;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}}```(二)在 JSP 页面中使用 JavaBean创建一个名为`useStudentjsp` 的 JSP 页面,通过`<jsp:useBean>`标签实例化`Student` 对象,并通过`<jsp:getProperty>`和`<jsp:setProperty>`标签来获取和设置属性值。