本案例的技术选型主要是jsp+servlet+JavaBean,采用三层架构的分层思想与MVC设计模式结合进行规范开发。
采用的数据库是MySQL,并且搭配数据源连接池DBCP和apache官方提供的DBUtils进行数据库连接开发。
目的是为了简化SQL连接编码,并且提高连接数据库的性能。
本案例代码不含有Css和Js效果,如需要完整代码,访问:https://download.csdn.net/download/kese7952/10702892
以下是DBUtils1.7版本的分享链接:https://pan.baidu.com/s/1Ohg9v-vN2m3lwP_BSizrGA 提取码:idca
以下是DBCP和POOL最新版本的分享链接:https://pan.baidu.com/s/1tR5LAT5v2B94_d0wACCvSA 提取码:3e5o
项目的层级结构图如下:
1. 先设计数据库,有两种方式:
a)编写SQL代码[推荐]:
1. 创建sql文件:
2. 编写SQL代码:
-- 创建数据库
create database login;
-- 选择数据库
use login;
-- 创建用户表
create table user(
id int primary key auto_increment, -- 用户编号 - 主键(自动递增)
username varcahr(30),-- 用户名
password varcahr(30), -- 用户密码
email varcahr(50),-- 用户邮箱
sex varcahr(50)-- 用户性别 [注:最后一个字段,不要再最后加入“,”]
);
3. 使用代码进行执行建表!
b)使用可视化窗口进行建表
2. 开始写实体类:User.java
package cn.javabs.login.entity;
/**
* Title: User.java
* @date 2018年10月5日 下午3:19:40
* @author Mr.yang
* 用户的实体类设计
*/
public class User {
private Integer id;
private String username;
private String password;
private String sex;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
3.接下来写的是DAO的接口
package cn.javabs.login.dao;
import java.sql.SQLException;
import cn.javabs.login.entity.User;
/**
* Title: UserDao.java
* @date 2018年10月5日 下午3:24:55
* @author Mr.yang
* 用户的DAO接口设计
* |--- 接口是不可以被final修饰的哦!
* |--- 登录
* |--- 注册
*/
public interface UserDao {
/**
* 用户登录(需要传入两个参数)
* @param username 用户名
* @param password 密码
* @return用户对象
* @throws SQLException
*/
User login(String username,String password) throws SQLException;
/**
* 用户注册(传入的是对象)
* @param user
* @return 整数
* @throws SQLException
*/
int regist(User user) throws SQLException;
}
4.接下来写的是DAO的实现类
package cn.javabs.login.dao.impl;
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import cn.javabs.login.dao.UserDao;
import cn.javabs.login.entity.User;
import cn.javabs.login.util.DBCPUtils;
/**
* Title: UserDaoImpl.java
* 用户的DAO实现类的设计
* @date 2018年10月5日 下午3:28:33
* @author Mr.yang 采用[数据源连接池 - DBCP] 使用Dbutils工具类中的QueryRu