Java的一个简略的基本操作:
Servlet:负责和页面通讯,获取页面信息,又或者把数据信息发送到页面
Service:放服务层的接口,操作服务的代码打在服务层 Service是写服务代码
ServiceImpl: 服务接口的实现类
Dao: 数据库操作接口,打数据库的代码放在dao层
daoImpl:数据库操作接口实现类
po: 数据库的实体类,就相于(类似于)MVC的Models
vo: 把数据返回表现层
common:公共类
util:工具类
listener:接听器
filter:过滤器
操作顺序:
包名小写,域名的倒写:
例:com,czk.www
1.创建包→与数据库表进行交互po类:表a1表a2…..等等…..
2.创建包→Dao接口:数据库操作接口,需要在common包里定义一个basedao
创建一个接口Ia1 Dao继承Basedao< a1是要操作的对象,Integer是他的主键类型
> 登录方法
3.创建包→Common:定义一个basedao, basedao继承序列化
po. 表a1表a2…..实现序列化
4.创建包→Uitl:工具类,放封装一些方法的等等
5.创建包→daoImpl:新建一个实现类qz,实现dao的方法,实现Ia1 Service接口
6.创建包→web新建servlet:
dopost doget应对页面传回来的请求
要将数据传到新建的servlet,首先肯定要调用dao,如果我们拿到的dao数据不是很规范的,不是我们servlet想要的,不是页面想要的,需要处理,是我们的业务处理,这个时候要用到另一个方法service
7.创建包→Service:需要定义一个基本的Baseservice,在common包里定义
创建一个接口Ia2 Service继承Baseservice< a2是要操作的对象,Integer是他的主键类型
>方法
Common:定义:basedao --- Baseservice 。Basedao继承序列化,Baseservice继承序列化
8.创建包→Vo:放返回值对象vo(未知的返回值对象),视图对象,用于展示层,它的作用是把某个指定页面(或 组件)的所有数据封装起来
9.创建包→serviceImpl:新建一个实现类qq,实现Service的方法,实现Ia2 Service接口
serviceImpl调用dao:private Ia1 Dao ladao = new qz();
返回:return ladao.方法();
《Service跟框架之间调用的区别:
框架:
也需要下面这句代码,但是只需要dao:private Ia1 Dao ladao
Service:
serviceImpl调用dao:private Ia1 Dao ladao = new qz(); 》
servlet调用: serviceImpl调用实现后,要想在servlet里调用:
private Ia2 Service Iaservice = new qq();
doget,dopost用哪个方法去写,统一执行,统一调用dopost方法
在doget输:dopost(req,reqs);
dopost的写法决定于页面,jsp如何请求的,请求的格式是什么,决定于dopost
dao包继承common包方法 service包继承common包方法
dao包创建一系列的方法→由dao.impl包来实现这些方法(dao里面的方法)↓
dao包里面的方法可以继承公共包common里面的Basedao<T>泛型方法;
如果dao包的方法被删掉,dao.impl包的方法就会报错
公共的common包:
BaseDao要执行所有实体里面的公共包,如:有多张表都需要增删改查 用到泛型Basedao<T>
公共包泛型Basedao<T,k>,,,dao包的类icccdvdao继承Basedao<cccdv,Integer>cccdv是要操作的对象,key,,Integer是他的主键类型
公共的common包里面装的是basedao接口
service包:对业务进行处理
service包里的方法要和common包里的方法一一对应,(service包继承common包方法)
service里面的类有的方法和common里面的类方法一一对应,也就是我有什么你就有什么
接口不能被实例化 可以实现类 这样做的目的:安全