登陆注册功能
软件架构
分层的目的—》分模块—》解耦
1、表示层:和用户直接交互
1)、HTML页面,Servlet。
2、业务逻辑层:处理网站的业务功能
2)、编写的业务逻辑代码。
Service层:UserService login()
3)、数据库访问层:(持久化层)
Dao层:把所有操作数据库的类我们可以放在Dao层
模型层:创建与数据库数据对应的对象
项目架构
1、用户查看HTML页面,发送请求(登陆、注册)
2、Servlet层的某个Servlet收到用户请求
3、调用Service层相关方法来处理
4、Service层可以直接调用Dao层来和数据库沟通
5、Dao层将查询到的数据封装为对象,系统以后就是使用对象就可以。
开发项目
1)、需求分析,建立模型
1、建立登陆注册相关模型(Bean层)
1-建立用户表
当数据表很多的时候,也需要分层,一般按照命名规则分层即可
auth_menu
sys_user
bbs_content
bs_user:
主键:自增
username:varchar
password:varchar
email:varchar
创建数据库和表
CREATE DATABASE bookstore;
CREATE TABLE bs_user(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
PASSWORD VARCHAR(100) NOT NULL,
email VARCHAR(100)
)
2-建立对应的User类
public class User {
private Integer id;
private String username;
private String password;
private String email;
2、建立Dao层:操作数据库
1-JDBCUtils。用来获取数据库连接。使用c3p0获取连接
1、导包mysql-connector-java-5.1.7-bin.jar、c3p0-0.9.1.2.jar、commons-dbutils-1.3.jar
2-UserDao:操作User表的Dao类
面向接口编程
定义一个UserDao接口;定义UserDao有什么方法
UserDao接口:
User getUserByUserNameAndPassword(User user);
boolean registUser(User user);
3、建立Service层
1-UserService:主要就是完成用户的登陆注册功能
面向接口编程
UserService接口:
User login(User user);
boolean regist(User users);
4、建立Servlet层:处理用户的请求
1-LoginServlet:处理登陆请求
2-RegistServlet:处理注册请求
5、界面
修改响应的逻辑 html里面使用base标签