编写JavaBean必须满足以下几点:
1. JavaBean必须放在包中 package cn.mldn.lxh ;
2. JavaBean 必须声明成 public class 类型,文件名与类名一致
3. 所有属性必须封装
4. 设置和取得属性可以通过setter getter
5.使用jsp标签去调用JavaBean时必须有一个无参构造方法
java命名规范:
1. 包名全部小写 如:package cn.mldn.lxh ;
2. 类名:每个组成单词第一个子母大写。如:SimpleBean
3. 属性,方法 : 第一个组成单词小写,之后每个单词的首子母大写。如:studentName ;
4. 常量 :全部大写 final String DBDRIVER="MLDN"
对java进行打包编译:
javac -d . kkk.java
编译完的.class文件方在WEB-INF/classes 文件夹下。
引用JavaBean:
1. <%@page import=""%>
2. <jsp:useBean id="sb" //id为实例化的对象名称
scope="page" //属性范围
class="cn.mldn.lxh.SimpleBean" //JavaBean的路径
>
实例代码:
// 1
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="cn.mldn.lxh.*"%>
<%
// 实例化对象
SimpleBean sb = new SimpleBean() ;
sb.setName("李兴华") ;
sb.setPassword("zzzzzz") ;
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
//2
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="cn.mldn.lxh.SimpleBean"/>
<%
sb.setName("李兴华") ;
sb.setPassword("zzzzzz") ;
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
//3
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="cn.mldn.lxh.SimpleBean"/>
<jsp:setProperty name="sb" property="*"/>
<%--
// 如果有20个数据需要设置,则使用JavaBean的设置属性方式,可以自动完成
// 代替以下代码
sb.setName(request.getParameter("name")) ;
sb.setPassword(request.getParameter("password")) ;
--%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
//SimpleBean.java
// 所有的JavaBean必须放在一个包中
package cn.mldn.lxh ;
public class SimpleBean
{
private String name ;
private String password ;
// 如果没有指定构造方法,则会自动生成一无参的什么都不做的构造方法
public SimpleBean()
{
System.out.println("** public SimpleBean() .") ;
System.out.println("-------------------------------------------") ;
}
public void setName(String name)
{
this.name = name ;
}
public void setPassword(String password)
{
this.password = password ;
}
public String getName()
{
return this.name ;
}
public String getPassword()
{
return this.password ;
}
};
page 范围 : 只在当前页有效,如果跳转到其他页面,则需要重新实例化。
request 范围 : 只保存在一次服务器跳转中。但是必须使用<jsp:forward page="*.jsp">跳转
session 范围 : 属性保存在一次会话中,可以使用任意方式连接其他页面,则此对象只实例化一次。适用于:使用JSP直接开发购物车。
application 范围: 属性公有,此对象在整个服务器上只实例化一次,尽量少用,非常占用资源。
实例代码:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="cb" scope="page" class="cn.mldn.lxh.CountBean"/>
访问第
<font color="red" size="15">
<jsp:getProperty name="cb" property="coun"/>
</font>
次!!
<jsp:forward page="pageJBDemo02.jsp"/>
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="cb" scope="request" class="cn.mldn.lxh.CountBean"/>
访问第
<font color="red" size="15">
<jsp:getProperty name="cb" property="coun"/>
</font>
次!!
<jsp:forward page="requestJBDemo02.jsp"/>