MVC模式,也就是模型视图控制器。
一种软件设计典范,用一种业务逻辑(Controller)、数据(Model)、界面(View)显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
对于jsp最典型的就是JSP + servlet + javabean
这里提到了servlet,其实jsp就是使用的servlet实现的,servlet其实就是在服务器端运行的java程序,对于服务器来说,servlet侧重于处理数据,完成业务逻辑,然后返回数据通过jsp显示,jsp负责前端,可以更方便的结合其他组件。连接数据库操作由java代码负责,这样就是典型的mvc模式。因为需要将业务逻辑层抽象出来,所以对数据库操作的层,还需要在提取一遍,成为服务service。这样,除去test测试类,我们需要有8个包来分类实现
这几个包分别为
- domain 实体类存放抽象出来的实体模型,也就是存放在数据库中的表
- utils工具类,负责数据库的初始化和连接,执行语句并关闭
- dao类负责对数据库操作的接口,添加删除查找等虚方法
- dao.impl 对数据库操作接口的实现,通过工具类对数据库完成各种操作
- service服务接口类,对数据库操作的提取,实现业务和数据库操作的分离,降低耦合度,使程序更加容易修改,里面是对服务业务的封装接口,像注册,登录
- service.impl 服务类的实现类,调用数据库实现类实现具体的业务服务。
- web servlet里的逻辑实现,登录的业务逻辑,负责判断然后跳转到指定网页等
- web.ui servlet中负责ui前端的业务实现
这样就是一个完整的用户系统。
创建项目
在创建项目之后,需要将自己所用的jar包导入,目前我们需要3个jar包,以后估计会更多,两个c3p0连接池的,一个mysql的连接驱动。
导入到WEB—INF下的lib文件夹,然后bulidpath即可。
然后将数据库配置文件c3p0-config.xml复制到src下面
之后我们先建立9个java包,方便分别建立对应的类
然后我们从实体类一点一点的向上面写
实体类
估计最好写的类就是实体类,抽象之后我们需要建立数据库的表,同时还需要将配置文件中的数据库修改为我么需要的。
这里我们需要的是简单的一个user类
创建对应的mysql语句如下
create table user(
id int primary key auto_increment,
username varchar(20) not null,
password varchar(18) not null,
phone varchar(20),
address varchar(50),
email varchar(30)
)
然后我们在domain包下建立user类,在上面的数据库中对应相应的属性,代码如下</