javaBean
1.javaBean简介
javaBean就是符合某种特定规范的类,使用javaBean的好处是减少代码重复编写,减少代码冗余,功能区分明确,提高了代码的可维护性。
2.javaBean的设计原则
1.类是公共的
2.必须有无参的构造
3.属性必须私有
4.要有setter或getter方法
例如下面代码是一个标准的javaBean
public class User {
private String userName;
private String passWord;
public User(){}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
3.什么是jsp动作
jsp动作元素(action elements),动作元素为请求处理阶段提供信息。动作元素遵循xml元素的语法,有一个包含元素名的开始标签,可选内容,和开始标签匹配的结束标签。
3.1与存取javaBean有关的动作元素有:
共有三个动作元素:
1.useBean
<jsp:useBean id="javaBean的实例名" class="com.bean.JavaBean" scope="javaBean的作用域范围"></jsp:useBean>
1.useBean元素中的id属性值是Javabean的一个实例,class是JavaBean的路径
scope可选的值有:page,request,session,application
2.setProperty(设置javaBean指定属性的值)
<jsp:setProperty property="" name="javaBean"></jsp:setProperty>
setProperty给javaBean的属性赋值一共有四种方法
1.跟表单关联
a) <jsp:setProperty name="javaBean的实例名" property="*"/>
i. *号代表自动匹配表单中name值与javaBean中同名的属性,自动赋值。
b) <jsp:setProperty property="userName" name="javaBean实例名"/>
i. 指定单个表单的name值与javaBean中的属性进行匹配。
2.手工设置
a) <jsp:setProperty property="userName" value="beanValue" name="javaBean实例名"/>
i. value为为javaBean属性手工指定的值(不通过表单传值)
3.跟request参数关联(通过url传参)
a) <form action="doLogin.jsp?mypass=8888" method="post"> <jsp:setProperty property="passWord" name="javaBean实例名" param="mypass"/>
3.getProperty(获取javaBean指定属性的值)
<jsp:getProperty property="userName" name="javaBean"/>
4.javaBean的四个作用域范围(通过scope属性指定)
page
a) 只在当前页面有效
b) 使用pageContext.getAttribute();获取page范围的对象(获取不到,因为只在当前页面有效)
request
a) 在request内有效
c) 可以通过HttpRequest.gerAttribute()方法取得javaBean对象
d) 或者使用动作(userBean setProperty getProperty)
session
a) 在一个session中有效
b) 可以通过HttpSession.gerAttribute()方法取得javaBean对象
e) 或者使用动作(userBean setProperty getProperty)
application
a) 全局范围(整个web应用)
b) 可以通过application.gerAttribute()方法取得javaBean对象
f) 或者使用动作(userBean setProperty getProperty)
注意
通过getAttribute()方法获得的javaBean属性是Object类型的,在使用时我们需要进行强制类型转换:(JavaBean)HttpSession.getAttribute(“javaBean实例名”);
5.Model1简介(体现了分层的思想)
Model1出现之前,整个web应用基本上全部由惊悚片页面组成,jsp页面接收客户端请求,对请求处理后直接做出响应。
弊端:在界面层充斥着非常多的业务逻辑代码和数据访问层的代码,web程序的可维护和可扩展性差。
javaBean的出现使得jsp页面中使用javaBean封装的数据或者调用javaBean的业务逻辑代码,这样大大提升了程序的可维护性。