刚好要学习JavaBean的概念,在网上溜了一圈,发现ITOYO博客上的一个网友的博客有JavaBean的概念介绍,最令我明白的就是这篇博客,谢谢

Master HaKu's Java Blog

JavaBean入门 - 概念和简单例子

博客分类: JSP/Servlet

BeanJavaJSPHTML 

不会编写JavaBean就不是一个Java开发人员。 

那么,何谓JavaBean呢? 

JavaBean是符合某种规范的Java组件,也就是Java类。 
它必须满足如下规范: 


1)必须有一个零参数的默认构造函数 

2)必须有get和set方法,类的字段必须通过get和set 
   方法来访问。 
   (get方法无参,set方法有参) 


我们下面就来看一个JavaBean的例子。 

一般网页登陆都需要用户名和密码,我们可以把用户名和密码存放在JavaBean中。 

代码如下: 

Java代码  收藏代码

  1. package mytrain.formbean;  

  2.   

  3. public class userBean {   

  4.       

  5.     private String name;  

  6.     private String password;  

  7.       

  8.     public String getName() {  

  9.         return name;  

  10.     }  

  11.     public void setName(String name) {  

  12.         this.name = name;  

  13.     }  

  14.       

  15.     public String getPassword() {  

  16.         return password;  

  17.     }  

  18.     public void setPassword(String password) {  

  19.         this.password = password;  

  20.     }  

  21. }  



有了JavaBean以后,我们怎么在JSP页面中访问它呢? 

方法有2种: 直接访问JSP标签访问        
(不过我们推荐通过标签来访问) 
1)直接访问 

a) 声明bean 


在页面顶部导入JavaBean类: <%@ page import="mytrain.formbean.userBean" %> 
在JSP段实例化类: <% userBean user = new userBean(); %> 


b) 访问bean 


<% user.setXXX(aa); %> 
<%=user.getXXX();%> 



2)标签访问 
(推荐) 

a) 声明bean 


使用userBean标签: 
<jsp:useBean id="user" class="mytrain.formbean.userBean"/> 


b) 访问bean 


通过setProperty标签来设置: 
<jsp:setProperty name="user"  property="name" param="mUserName"/> 
通过getProperty标签来取得: 
<jsp:getProperty name="user" property="name"/> 



下面我们来看一下完整的代码。 

标签访问法: 

Html代码  收藏代码

  1. <%@ page language="java" pageEncoding="GBK"%>  

  2.   

  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  

  4. <html>  

  5.   <head>  

  6.     <title>表单Bean例子2</title>  

  7.     <link rel="StyleSheet" href="../../CSS/style.css" type="text/css" />  

  8.   </head>  

  9.     

  10.   <body>  

  11.   

  12.   <form action="" method="post">  

  13.   <table>  

  14.   <tr>  

  15.   <td>  

  16.     <span class="blue10">用户名:</span>  

  17.   </td>  

  18.   <td>  

  19.     <input type="text" name="mUserName" size="20"><br>  

  20.   </td>  

  21.   </tr>  

  22.   <tr>  

  23.   <td>  

  24.     <span class="blue10">密  码:</span>  

  25.   </td>  

  26.   <td>  

  27.     <input type="password" name="mPassword" size="20"><br>  

  28.   </td>  

  29.   </tr>  

  30.   <tr>  

  31.   <td>  

  32.   </td>  

  33.   <td>  

  34.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  

  35.     <input type=submit value="submit"/>  

  36.   </td>  

  37.   </tr>  

  38.   </table>  

  39.   </form>  

  40.   

  41.   <jsp:useBean id="user" class="mytrain.formbean.userBean"/>  

  42.   <jsp:setProperty name="user"  property="name" param="mUserName"/>  

  43.   <jsp:setProperty name="user"  property="password" param="mPassword"/>  

  44.     

  45.   <hr/>  

  46.     

  47.   用户名:<jsp:getProperty name="user" property="name"/>  

  48.   <br>  

  49.   密  码:<jsp:getProperty name="user" property="password"/>  

  50.     

  51.   </body>  

  52. </html>  



直接访问法: 

Html代码  收藏代码

  1. <%@ page language="java" pageEncoding="GBK"%>  

  2. <%@ page import="mytrain.formbean.userBean" %>  

  3.   

  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  

  5. <html>  

  6.   <head>  

  7.     <title>表单Bean例子3</title>  

  8.     <link rel="StyleSheet" href="../../CSS/style.css" type="text/css" />  

  9.   </head>  

  10.     

  11.   <body>  

  12.     

  13.   <form action="" method="post">  

  14.     

  15.   <table>  

  16.   <tr>  

  17.   <td>  

  18.     <span class="blue10">用户名:</span>  

  19.   </td>  

  20.   <td>  

  21.     <input type="text" name="mUserName" size="20"><br>  

  22.   </td>  

  23.   </tr>  

  24.   <tr>  

  25.   <td>  

  26.     <span class="blue10">密  码:</span>  

  27.   </td>  

  28.   <td>  

  29.     <input type="password" name="mPassword" size="20"><br>  

  30.   </td>  

  31.   </tr>  

  32.   <tr>  

  33.   <td>  

  34.   </td>  

  35.   <td>  

  36.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  

  37.     <input type=submit value="submit"/>  

  38.   </td>  

  39.   </tr>  

  40.   </table>  

  41.   </form>  

  42.     

  43.     

  44.   <%   

  45.     userBean user = new userBean();  

  46.     user.setName(request.getParameter("mUserName"));  

  47.     user.setPassword(request.getParameter("mPassword"));  

  48.   %>  

  49.     

  50.     

  51.   <hr/>  

  52.     

  53.   用户名:<%=user.getName()%>  

  54.   <br>  

  55.   密  码:<%=user.getPassword()%>  

  56.     

  57.   </body>  

  58. </html>