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>