Jsp+Servlet+JavaBean
MVC:开发模式
M:Model 模型层 —-> JavaBean
V:View 视图层 —-> Jsp
C:Controller 控制层 —-> Servlet
分层思想:强内聚,低耦合
Java代码部分框架图
jsp部分框架图
区别于原来的项目使用JavaBean和jsp实现用户登录;
在jsp中写java代码还是较为鸡肋,不方便开发大型项目;
所以采用mvc模式进行开发,以后jsp上不再写java代码,方便项目管理,也方便后续的开发的前后端分离;
domain.User
domain部分相当于POJO层,专门用于封装数据
package mvc.domain;
public class User {
private int id;
private String username;
private String password;
private String email;
private boolean admin;
public User(){
}
public int getId() {
return id;
}
public void setId(int 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 boolean isAdmin() {
return admin;
}
public void setAdmin(boolean admin) {
this.admin = admin;
}
}
persistence.DBUtil
persistence持久层,专门用于封装于相关的数据库操作,比如连接数据库和在数据库中增删改查;
其中的DBUtil是专门用于连接数据库,写好好以后可以继续使用,一般不需要需改;
DAO层用于封装对象对数据库的各种操作。
package mvc.persistence;
import java.sql.*;
//DBUtil封装对数据库连接操作
//工具类,jdbc中专门用来写公共代码,就比如说连接数据库
public class DBUtil {
//写成静态的,其他的方法不能进行修改
//驱动的位置
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
//数据库连接URL,不同版本的mysql这里可能有所不同, 其中的demo是你要连接的数据库的名字
private static final String URL = "jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false";//设置中文模型utf8,防止用户用中文名注册时,数据库出现乱码
//这里的账户和密码,因人而异
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
//获取数据库连接
public static C