JSP开发

MVC模式:
MVC(Model-View-Controller,模型-视图-控制器)是一种程序设计概念,它同时适用于简单的和复杂的程序。使用该模式,可将待开发的应用程序分解为三个独立的部分:模型、视图和控制器。

提出这种设计模式主要是因为应用程序中用来完成任务的代码(模型,也称为“业务逻辑”)通常是程序中相对稳定的部分,并且会被重复使用,而程序与用户进行交互的页面(视图),却是经常改变的。

如果因需要更新页面而不得不对业务逻辑代码进行改动,或者要在不同的模块中应用相同的功能时重复地编写业务逻辑代码,不仅会降低整体程序开发的进程,而且会使程序变得难以维护。因此,将业务逻辑代码与外观呈现分离,将会更容易地根据需求的改变来改进程序。MVC 模式的模型如图所示。
1.编写UserBean类
在Eclipse中创建一个chapter11的web项目,在项目的src目录下创建包,在包中创建UserBean类,用于封装用户信息。

package cn.itcast.chapter11.model2.domain;
/**

  • 用来封装用户的基本参数
  • @author apple

*/
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;
}

}
RegisterFormBean:

package cn.itcast.chapter11.model2.domain;

import java.util.HashMap;
import java.util.Map;

public class RegisterFormBean {

//1.用来封装注册参数的
private String name;
private String password;
private String password2;
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 getPassword2() {
	return password2;
}
public void setPassword2(String password2) {
	this.password2 = password2;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}
//------------进行服务端的数据-----------------------
//2.定义变量来接收用户校验的信息,比如说用户名、邮箱是否符合规范,
//第一个参数 属性名称  第二个参数:属性值是否符合规范信息,比如(“email”,”邮箱格式有误“);
private Map<String,String> errors = new HashMap<String,String>();
public boolean validate(){
	//2.定义变量,来判断数据是否满足规范,如果满足 就返回true,不满足就返回false
	boolean flag = true;
	if(name == null || name.trim().equals("")){
		errors.put("name","请输入用户名");
		flag = false;
		return flag;
	}
	if(password == null || password.trim().equals("")){
		errors.put("password","请输入密码");
		flag = false;
		return flag;
	}else if(password.length()>12 || password.length()<6){
		errors.put("password","请输入6-12个字符");
		flag = false;
		return flag;
	}
	if(password != null && !password.equals(password2)){
		errors.put("password2","两次输入密码不一致");
		flag = false;
		return flag;
	}
	//校验邮箱,校验邮箱格式是否满足规范
	  String regex = "[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+";
	  if(email == null || email.trim().equals("")){
			errors.put("email","请输入邮箱");
			flag = false;
			return flag;
	 }else if(!email.matches(regex)){
			errors.put("email","邮箱格式错误");
			flag = false;
			return flag;
	}
	
		return flag;
}
//获取错误信息的方法
public Map<String, String> getErrors() {
	return errors;
}
//提供向map集合中添加错误信息
public void setErrorMsg(String err,String errMsg){
	if((err != null) && (errMsg!=null)){
		errors.put(err, errMsg);
	}
}

}
在包中定义DBUtil类

package cn.itcst.chapter11.model2.util;

import java.util.HashMap;

import cn.itcast.chapter11.model2.domain.UserBean;

/*

  • 模拟数据�?
    /
    /

  • 模拟数据�?
    */
    public class DBUtil {
    private static DBUtil instance = new DBUtil();
    public static DBUtil getInstance(){
    return instance;
    }
    //定义集合,来保存用户注册的数�?
    private HashMap<String, UserBean> users = new HashMap<String, UserBean>();

    //插入2条数�?
    public DBUtil(){
    UserBean user1 = new UserBean();
    user1.setName(“Jack”);
    user1.setPassword(“123456”);
    user1.setEmail(“jack@it315.org”);
    users.put(“Jack”,user1);
    UserBean user2 = new UserBean();
    user2.setName(“Rose”);
    user2.setPassword(“abcdefr”);
    user2.setEmail(“rose@it315.org”);
    users.put(“Rose”,user2);

    }
    //获取值的方法
    public UserBean getUser(String username){
    UserBean user = users.get(username);
    return user;
    }
    //提供插入数据库的方法
    public boolean insertUser(UserBean user){
    //用户为null,不能插入
    if(user == null){
    return false;
    }
    //判断用户名是否重�?
    String username = user.getName();//用户提交过来的注册的参数
    //String usernameDB = users.get(username).getName();//从数据库查询出来的用户名
    UserBean userDB = users.get(username);
    if(userDB !=null){//根据注册参数查询数据库有用户对象,表明用户名存在
    return false;
    }
    users.put(username,user);
    return true;

    }
    DBUtil:

package cn.itcast.chapter11.model2.util;

import java.util.HashMap;

import cn.itcast.chapter11.model2.domain.UserBean;

/*

  • 模拟数据库
    /
    /

  • 模拟数据库
    */
    public class DBUtil {
    private static DBUtil instance = new DBUtil();
    public static DBUtil getInstance(){
    return instance;
    }
    //定义集合,来保存用户注册的数据
    private HashMap<String, UserBean> users = new HashMap<String, UserBean>();

    //插入2条数据
    public DBUtil(){
    UserBean user1 = new UserBean();
    user1.setName(“Jack”);
    user1.setPassword(“123456”);
    user1.setEmail(“jack@it315.org”);
    users.put(“Jack”,user1);
    UserBean user2 = new UserBean();
    user2.setName(“Rose”);
    user2.setPassword(“abcdefr”);
    user2.setEmail(“rose@it315.org”);
    users.put(“Rose”,user2);

    }
    //获取值的方法
    public UserBean getUser(String username){
    UserBean user = users.get(username);
    return user;
    }
    //提供插入数据库的方法
    public boolean insertUser(UserBean user){
    //用户为null,不能插入
    if(user == null){
    return false;
    }
    //判断用户名是否重复
    String username = user.getName();//用户提交过来的注册的参数
    //String usernameDB = users.get(username).getName();//从数据库查询出来的用户名
    UserBean userDB = users.get(username);
    if(userDB !=null){//根据注册参数查询数据库有用户对象,表明用户名存在
    return false;
    }
    users.put(username,user);
    return true;

}

register.jsp

<%@ page language=“java” pageEncoding=“GBK”%>

用户注册

用户注册

姓名:
${formBean.errors.name}${DBMes}
密码:
${formBean.errors.password}
确认密码:
${formBean.errors.password2}
邮箱:
${formBean.errors.email}
loginSuccess.jsp

<%@ page language=“java” pageEncoding=“GBK” import=“cn.itcast.chapter11.model2.domain.UserBean”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

login successfully
    <div id="main">
	    <div id="welcome">恭喜你,登录成功</div>
         <hr />
	    <div>您的信息</div>
	    <div>
		    <ul>
			    <li>您的姓名: ${userBean.name} </li>
			    <li>您的邮箱: ${userBean.email} </li>
		    </ul>
	    </div>
    </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值