云曦

Choice is more important than effort

0%

javaBean简记


JavaBean的使用

JavaBean 是特殊的 Java 类,使用 Java 语言书写,并且遵守 JavaBean API 规范。

接下来给出的是 JavaBean 与其它 Java 类相比而言独一无二的特征:

  • 提供一个默认的无参构造函数。
  • 需要被序列化并且实现了 Serializable 接口。
  • 可能有一系列可读写属性。
  • 可能有一系列的 getter 或 setter 方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.runoob;

public class StudentsBean implements java.io.Serializable
{
private String firstName = null;
private String lastName = null;
private int age = 0;

public StudentsBean() {
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public int getAge(){
return age;
}

public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public void setAge(int age) {
this.age = age;
}
}

编译后获得 StudentBean.class 文件,将其拷贝到 /WebContent/WEB-INF/classes/com/runoob

访问javaBean

1
<jsp:useBean id = "bean的名字" scope="bean的作用域" typeSpec/>
1
2
3
4
5
<jsp:useBean id = "date" class = "java.util.Date"/>
<p>
日期为: <%= date%>
</p>
<%--可以把date看成一个Date类型的变量,class表示类型--%>

对象的属性

1
2
3
4
5
6
<jsp:useBean id = "id" class = "bean 编译的类" scope = "bean作用域">
<jsp:setProperty name = "bean的id" property="属性名"
value="value"/>
<jsp:getProperty name = "bean的id" property="属性名"/>
......
</jsp:useBean>

把”bean的id”当作一个java对象,property表示该对象的某一个属性或变量,value可以设置或获取该变量的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

<jsp:useBean id="students"
class="com.runoob.StudentsBean">
<jsp:setProperty name="students" property="firstName"
value="小强"/>
<jsp:setProperty name="students" property="lastName"
value="王"/>
<jsp:setProperty name="students" property="age"
value="10"/>
</jsp:useBean>

<p>学生名字:
<jsp:getProperty name="students" property="firstName"/>
</p>
<p>学生姓氏:
<jsp:getProperty name="students" property="lastName"/>
</p>
<p>学生年龄:
<jsp:getProperty name="students" property="age"/>
</p>

<jsp:useBean id=”beanName” class=”package.class” scope=”page|request|session|application”/>

块中id表示的对象名是已经被实例化的,可以直接使用对象.方法名调用方法设置参数。在<%%>块中也可以实现和调用java代码。

response encodeRedirectURL的作用

session对象能和客户建立意义对应的关系依赖于客户的浏览器是否支持cookie,如果客户的浏览器不支持的话,那么客户再不同网页之间的session对象可能时互不相同的,因为服务器无法将ID存放到客户端,就不能建立session对象和客户的一一对应关系。可以通过URL重写来实现session对象的唯一性。所谓URL重写就是当客户从一个页面重新连接到一个页面时,通过向这个新的URL添加参数,把session对象的id传过去,这样能够保证session对象是完全相同的。可以使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。

1
<% String str = response.encodeRedirectURL("add.jsp");%>