JavaBean的规范
1.JavaBean的概念:JavaBean就是一个普通的Java的类,有一些的规范。
2.JavaBean的规范
* 无参数的构造方法(默认是有的,编写有参数的构造方法,需要手动编写无参数的构造方法)
* 属性私有化(必须使用private修饰)
* 私有化的属性,必须要提供public 修饰的get或者set方法(有其中的一个就可以),方法的命名遵循规范(getUsername)。
3.JavaBean的用法:
* 用来封装数据。
使用JavaBean来封装数据
1.编写注册页面,点击注册,提交到另外一个JSP的页面。
2.操作的都是JavaBean的相关的知识(了解)
* 如果属性比较多,也是一个JSP的页面提交到另一个JSP的页面,可以使用JSP的动作标签。
* <jsp:useBean>
* <jsp:setProperty>
* <jsp:getProperty>
* 注意:表单的name属性的值,必须和JavaBean的属性的值必须是相同的。
3.表单以后肯定往Servlet中提交数据。在Servlet中简单的封装数据,需要使用BeanUtils工具类。
BeanUtils工具类
1.工具类,第三方提供的jar包。先导入jar包。谁提供的,apache组织提供开源的jar包。
* 需要导入2个jar包
* commons-beanutils-1.8.3.jar
* commons-logging-1.1.1.jar
2.作用:操作JavaBean的相关的知识。
3.目的:学会使用工具类,学会封装数据,如果有日期类型的属性,怎么解决问题。
4.使用BeanUtils工具类的类和方法
* BeanUtils 核心类(来完成封装数据)
* static void populate(Object bean, Map properties) 封装数据的方法
* Object bean -- 创建对象(User user = new User())
* Map properties -- 数据是map的集合
5.在JavaBean定义的Java.Util.Date类型的属性,使用BeanUtils封装数据,程序现在报错,不支持默认把字符串转换成日期类型。
* 默认情况下,不能把字符串转换成日期类型。
* 提供了解决的方案。
* 编写类实现Converter接口,实现Object convert(Class type, Object value) (需要把字符串转换成日期代码编写方法里面)
public Object convert(Class clazz, Object obj) {
// 完成换行的工作
// 把字符串转换成日期
String str = (String) obj;
// 开始转换日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
date = sdf.parse(str);
} catch (ParseException e) {
e.printStackTrace();
throw new RuntimeException("转换日期错误!!");
}
return date;
}
* 使用ConvertUtils.register(Converter converter, Class clazz) 来完成注册。
ConvertUtils.register(new MyDateUtil(), Date.class);