编写javabean的要求:(满足以下几点)
1.所有的javabean必须放在一个包中
2.javabean必须声明成public class 类型->文件名称与类名称一致
3.所有的属性必须封装
4.设置和取得属性可以通过setter、getter方法
5.使用jsp标签去调用javabean时必须有一个无参构造方法(在jsp中的限制)
java 命名规范:
1.包命名:全部字母小写:whc.java.test
2.类命名:单词的首字母大写:TestBean
3.属性名称:第一个单词的首字母小写,之后每个单词的首字母大写:whcName,也就是小驼峰命名法。
4.方法命名:与属性命名相同:public void setName()
5.常量命名:全部单词大写:final String NAME="whc"
javabean 开发之后,在jsp中的调用过程:
1.使用〈%@page import="whc.java.test.*"%〉
2.使用jsp标签指令:<jsp:usebean id= " 实例化对象的名称" class="whc.java.test.TestBean(对象所属的包.类名称路径)" scope="page/request/session/application(表示使用范围)" />
3.jsp设置属性:<jsp:setproperty name="对象名称" property="*" />
参数名称必须与Bean中的属性名称一致,还一种情况逐个设置值<jsp:setproperty name="对象名称" property="属性名称" value="属性的值"/>,最后一种情况就是当参数名称和Bean中的属性名称不一样的时候,例如,Bean中的属性是name,表单中属性是username,在赋值的时候,则可以<jsp:setproperty name="对象名称" property="name" param=“username” />
4.jsp取得属性<jsp:getProperty name="对象名称" property="具体属性" />
page范围:属性只有在当前页有效,如果跳转到其他页面,则需要重新实例化
适用于:jsp页面操作资源时使用
request范围:属性只保存在一次服务器跳转中
前提:使用<jsp:forward>跳转才行
session范围:属于保存在一次会话之中,可以使用任意方式连接其他页面,则此对象只实例化一次
适用于:使用jsp直接开发购物车
application范围:属性公有,此对象在整个服务器上只实例化一次
尽量少用,因为application会占用资源
解决中文乱码的JavaBean
在JSP页面中,特别是通过表单传递数据的时候容易出现乱码,解决办法很多,下面就介绍个使用JavaBean的对乱码进行转码的方式来解决乱码。
1,自己创建一个JavaBean的类
2,import java.io.UnsupportedEncodingException
3,创建一个方法
public String toString(String str){
String text="";
//判断要转码的字符是否有效
if(str!=null && !"".equals(str)){
try{
text=new String (str.getBytes("ISO-8859-1"),"ytf-8");
}catch(UnsupportEncodingException e){
e.printStackTrace();
}
}
return text;
}