book项目分析
需求1:用户注册
需求如下:
1)访问注册页面
2)填写注册信息,提交给服务器
3)服务器应该保存用户
4)当用户已经存在----提示用户注册 失败,用户名已存在
5)当用户不存在-----注册成功
需求2:用户登陆
需求如下:
1)访问登陆页面
2)填写用户名密码后提交
3)服务器判断用户是否存在
4)如果登陆失败 --->>>> 返回用户名或者密码错误信息
5)如果登录成功 --->>>> 返回登陆成功 信息
JavaEE项目三层架构
web层:与客户端进行交互
业务层:处理各种业务数据,把处理好的数据交给DAO层去持久化
持久层:与数据库打交道,执行crud操作。
ps:CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。
分层的作用:
1、分层的目的是为了解耦合! 解耦合能方便后期代码的维护和升级,以及【代码模块级】的复用。
2、代码模块复用。
分层后代码包结构:
web层的包:com.xxx.serlvet
业务层的包
com.xxx.service 业务层接口包
com.xxx.service.impl 业务层接口的实现包
持久层的包
com.xxx.dao 持久层DAO接口的包
com.xxx.dao.impl 持久层dao实现的包
实体Bean包
com.xxx.bean 实体bean对象包
工具类包
com.xxx.utils 工具类包
测试包
com.xxx.test 测试包
给工程创建不同的包。实现代码架构上的分层
创建数据库
create database bookstore; use bookstore; create table t_user( id int primary key AUTO_INCREMENT, username varchar(50) not null unique, password varchar(16) not null, email varchar(50) not null );
创建Bean包下的类User实体类
创建Utils包下工具类JDBCUtils类
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
对C3P0一脸蒙蔽,先老老实实再回去看下JDBC视频。