由于是第一次写博客,可能书写表达的效果不太好,希望大家见谅。此次博客主要是针对暑期老师布置的简单用户管理系统作业而展开,通过连接数据库可以利用数据库中用户信息进行登陆,并且在登陆后可修改数据库中信息(即实现数据库中的增删改查)。
本次简单的用户管理系统主要分为三个部分:前端部分;后台部分;数据库部分。其中前端部分采用html+css编写,主要部分为用户登陆界面,用户注册界面和数据库显示界面;后台部分是以MVC为架构,将servlet作为控制逻辑,对用户发出的请求作出响应,并链接到其他视图页面进行跳转。数据库部分就是一个简单的二维表以描述用户信息,但是需要将数据库加载到后台中以实现数据库的连接。
其中用户管理系统的核心即是实现这个MVC架构,MVC架构全称为: 模版(model)、视图 (view)、控制器(controller)。对于该用户管理系统,模板主要是用户表的设计和用户业务逻辑的设计;视图作为与用户交互的页面显示,负责指引用户登陆、注册和数据库的更改;控制器负责后台中数据库的业务逻辑。整个MVC架构的工作流程如下图:
一、显示界面:
1.登陆界面:
2.注册界面:
3.登陆成功界面:
二、开发环境:
idea + tomcat8.0.53 + mysql-connector-java-5.1.37.jar + mysql
三、编写过程:
1.数据库构建
直接利用idea中的database模块构建数据库,如下图所示:
2.javaBean和userDao的设计
javaBean和UserDao作为MVC架构中的model部分,javabean主要是为了表示数据库中二维表信息,简化了之后对于数据库的操作程序。而UserDao作为数据库的控制逻辑,描述对于数据库的各类行为。具体程序如下:
javabean
package bean;
public class User {
private int id;
private String username;
private String password;
public User(){
super();
}
public User(int id, String name, String password){
this.id = id;
this.username = name;
this.password = password;
}
public int getId(){
return id;
}
public void setId(int id1){
this.id = id1;
}
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;
}
}
userDao,其中引入了user的接口
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import bean.User;
import conn.DBconn;
public class userDao implements InterfaceUser{
@Override
public List<User> getAllUsers(){
List<User> list = new ArrayList<User>();
Connection conn = DBconn.getConn();
String sql = "select * from thing";
try {
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while(rs.next()){
User user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("name"));
user.setPassword(rs.getString("password"));
list.add(user);
}
rs.close();
pst.close();
} catch(SQLException e){
e.printStackTrace();
}
return list;
}
@Override
public User userLogin(String username, St