JavaBean 初步(二) 之 JavaBean 的属性

来源:互联网 发布:软件售前工程师待遇 编辑:程序博客网 时间:2024/05/18 00:15

Java bean 是一种可重复使用、且跨平台的软件组件。javabean可分为两种:

一种是有用户界面的(ui user interface)的java bean 。

还有一种是没有用户界面的,主要负责处理事务(如数据运算,操纵数据库的)java bean。

jsp通常访问的是最后一种java bean。
java bean 和jsp 一起使用的优点:
使得java代码和html代码分离,这样便于维护代码。如果把所有的代码程序都写到jsp页面,使得代码繁琐,难以维护可以降低开发jsp网页人间对java编程能力的要求。
jsp侧重于生成动态网页,事务处理由java bean来完成,这样可以充分利用java bean组件的重要特点,提高开发软件的效率。

mvc设计模式:model 模型 view视图 controller控制器
view视图,就是用户最后看到的,用来呈现网页的
controller起到控制的作用,我这个请求应该由谁来处理
model 最后处理的
用户看到一个view 然后有某种动作,可能是提交一个表单,表单提交,向服务器发送一个请求,请求首先被控制器接受,比如servlet 。servlet收到用户发来的请求,决定由谁(model )来处理这个请求。然后模型返回给服务器servlet,服务器返回给用户view。


1.JavaBean 实际是具有统一接口格式的java类

2.JavaBean的组成:属性(Properties)、方法(Method)、事件(Events)
3.一个JavaBean的例子(该例子是用的Simple属性)

//类名大写,包名小写package com;public class FirstBean{   private String x;   public FirstBean()   {     //此处为构造函数    x="This is the first javabean";      }   public void setX()   {    this.x=x;//this 指当前类中的x而不是参数x   }   public String getX()   {     return x;   }}
4.JavaBean属性的介绍:
   (1)Simple属性 :伴随一对 get/set (函数)方法,如果这么写,setString..则暗指该类中有一个string的的属性;
   (2)Indexed属性 使用时可以获得一个数组的整个或者一个值。使用实例如下:     
    
public class B{  private int[]={1,2,3,4,5};   //设置整个数组  public void setB(int[] i)  {    b=i;  }  //设置单个元素的值  public void setB(int a, int b)  {    b[a]=b;  }  //取得整个数组中的值  public int[] getB()  {    return b;  }  //获取单个值与setB类似,略。}

4. Bound、与Constrained属性
JspBean在Jsp中的引用:
4.1.用<jsp:useBean>标记:
<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>
id:代表jsp页面中的实例对象,通过这个对象引用类中的成员,如,id="wq", wq.成员();
class: 代表JavaBean类,如: class="com.Test",引用com包中的Test类;
scope:指明了javabean的生存时间

4.2.用<jsp:setProperty>标记:
功能:将请求页面中的表单值赋值/或者自己想设置的值 给JavaBean中的属性赋值
 <jsp:setProperty name="beanName" last_syntax />
name:表示 已经存在并且具有一定生存范围的JavaBean实例,例如上面的 wq。

last_syntax:表示了四种不同的语法:

(1)property="*"

(2)property="propertyName"

(3)property="propertyName" param="parameterName"

(4)property="propertyName" value="value"

property:是一个很重要的属性,它指定想要设定值的 JavaBean 中的成员名,不建议使用*。
param:根据我的理解,他是请求页面的 表单中的 txt 属性名。
value:代表了直接赋值给 property的属性    

4.3.<jsp:getProperty>标签 与<jsp:setProperty>功能相反,用法一样:
<jsp:getProperty name="BeanName" property="想要获取属性值的那个属性的名字">

JavaBean的生命周期:
1.page:当一个页面有jsp程序产生并传送到客户端时,属于page范围内的javabean也将清除,生命周期介绍。
2.request: 它的生命周期与jsp程序的request对象同步。 由forward串联起来的jsp程序都可以共享 javabean,
仅通过forward就可以把javabean对象传递给下一个jsp,一下是一个小例子:
<jsp:forward page="abc.jsp"/>   //转向abc.jsp页面
 <% String str=request.getParameter("strName")  %> //jsp中对象的使用,获取上一个请求页面中名称为 strName的text中的值。
                  
注:如何向一个页面发送请求?<用表单>
<form name="随便取一个不与其他重复的名字" method="post" action="接受参数的页面" target="_self"><span style="font-family:Times New Roman;"> </span><input type="text" name="strName">;<span style="font-family:Times New Roman;"> </span><input type="submit" name="sub" value="提交"></form>  


0 0