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");%>
|