javabean的使用
1 使用<%@ page imort="com.dd"%>使用导入指令
实际上WEB/INF/classes是一个classpath的路径,所有class文件,只要放到此目录下都可以被访问到与其他类的调用方式是一样的
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="cn.aaa.*"%>
<%
// 实例化对象
SimpleBean sb = new SimpleBean() ;
sb.setName("你好") ;
sb.setPassword("zzzzzz") ;
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
<
jsp:useBean id="myfirstBean" scope="page" class="cn.aaa.TestBean"
/>
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="cn.SimpleBean"/>
<%
sb.setName("你好") ;
sb.setPassword("zzzzzz") ;
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
Tomcat服务器默认下是不能读取修改后的javaBean,如要读取有以下两种方法:
1 重新启动服务器
2 配置参数:
reloadable="true" <Context path="/test" docBase="F:\testWeb" reloadable="true"/>
有了这个参数后服务器时刻监控这个类,因此在运行时必须去掉,开发时大家为了方便而使用
使用javabean的好处:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="cn.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>
用*自动匹配 ,是参数的名字name喝bean中的属性名是一致的
自动调用set方法
原理:使用了java的反射机制,根据参数的传递名称找到了相应的方法,比如参数名称为name
,则自动找到setName方法.
原则:使用javabean自动设置内容时,一定要让参数名称与bean中的属性名称一致,有这样通过java的命名规范,可以达到统一:
当需要制定某个属性设置内容时,可以在property中指定参数:
如:<jsp:setProperty name="sb" property="password"/>
还可以自己任意指定参数 :
如:<jsp:setProperty name="sb" property="password" param="name"/>
可见可以根据自己的需要任意选择传递的参数
自己设置值:
<jsp:setProperty name="sb" property="password" value="ssss"/>
如果输入的值是变量则用表达式输出
<jsp:getProperty name="cb" property="coun"/>
取得属性的方法:
使用javabean的setProperty方法,可以自动将传递过来的只有数字的字符串,变为整型,之后将内容赋给具体的属性
1 page范围
属性只在当前页面有效,如果跳转到其他页面,则需要重新实例化,使用于操作资源时
2 request范围:
属性只保存在一次服务器跳转中:使用于<jsp:forward>跳转才行
3 session 范围:
属性保存在一次会话中,可以使用任意方式连接其他页面,从对象只实例化一次
如:购物车
4 application范围:
属性公有,服务器上只会实例化一次。慎用
page和session用的较多:
javabean的开发要求:
1 必须放到一个包中
2 public class
3 属性封装
4 通过setter和getter方法设置和取得属性
5 通过jsp调用,则需要一个无参构造方法
6
jsp调用javabean标签
<jsp:useBean id="对象" scope="作用范围" class="cn.SimpleBean"/>
jsp设置属性:
<jsp:setProperty name="id" property="*"/>
jsp取得属性:
<jsp:getProperty name="id" property="具体属性"/>