JSP Model2案例
一、案例分析
JSP Model2 模型是一种 MVC 模式。由于 MVC 模式中的功能模块相互独立,并且使用该模式的软件具有极高飞可维护性、可拓展性和可复用性,因此,使用 MVC 开发模式的 Web 应用越来越受欢迎。接下来,按照 JSP Model2 的模型思想编写一个用户注册的程序,该程序中包含
两个 JSP 页面 register.jsp 和 logSuccess.jsp
一个 Servlet 类 ControllerServlet.java
两个 JavaBean 类 RegisterFormBean.java 和 Userbean.java
一个访问数据库的辅助类 DbUtil.java
关于各个程序组建的功能和相互之间工作关系如下所示:
(1) UserBean 是代表用户信息的 JavaBean,ControllerServlet 根据用户注册信息创建出一个 UserBean 对象中提取用户信息进行显示。
(2) RegisterFormBean 是封装注册表单信息的的 JavaBean,其内部定义的方法用于对从 ControllerServlet 中获取到的注册表单信息中的各个属性(也就是注册表单内的各个字段中所填写的数据)进行校验。
(3) DbUtil 是用于访问数据库的辅助类,它相当于一个 DAO (数据访问对象),在 DbUtil 类中封装一个 HashMap 对象来模拟数据库,HashMap 对象中的每一个元素即一个 UserBean 对象。
(4) ControllerServlet 是控制器,它负责处理用户的注册请求。如果注册成功,就会跳到 loginSuccess.jsp 页面;如果注册失败,重新跳回到 register.jsp 页面并显示错误信息。
(5) register.jsp 是显示用户注册表单的页面,它将注册请求的提交给 ControllerServlet 程序处理。
(6) loginSuccess.jsp 是用户登录成功后进入的页面,新注册成功的用户自动完成登录,直接进入 loginSuccess.jsp 页面
二、案例实现
1、编写 UserBean 类
package com.liuyanzhao;
/*
* @author LiuYanzhao
*/
public class UserBean {
private String name;
private String password;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
2、编写 RegisterFormBean 类
package com.liuyanzhao;
import java.util.HashMap;
import java.util.Map;
/*
* @author LiuYanzhao
*/
public class RegisterFormBean {
private String name;
private String password;
private String password2;
private String email;
private Map errors = new HashMap();
public String getName() {
return name;
}
<