BaseServlet

1。我们希望在一个Servlet中可以有多个请求处理方法!
2.客户端发送请求时,必须多给出一个参数
domain:User
dao:UserDao
service:UserService
servlet:UserServlet
void init(ServletRequest,ServletResponse)
throws IOException,ServletException{
在这里让它去调用其他方法!
要求:用户发出请求时,必须给出一个参数,来说明要调用哪一个方法
//获取参数,通过参数名称来确定要调用的方法)
}

Service事物

在Service中使用ThreadLocal来完成事物,为将来学习Spring事务打基础!
1.DAO中的事务
2.Service才是处理事务的地方
我们要清楚一件事,DAO中不是处理事物的地方,因为DAO中的每个方法都是对数据库的操作,而Service中的方法才是对应一个业务逻辑。也就是说我们需要在Service中的一个方法中调用DAO的多个方法,而这些方法应该在一起事务中
怎样才能让DAO的多个方法使用相同的Connection尼?


图片.png

在Service中调用DAO的多个方法时,传递相同的Connection就可以了

客户关系管理系统

  • 导入原型(只有页面,但没有功能的一个项目,功能都是直接跳转!)
  • 功能分析:
    1.添加客户
    2.查询所有客户
    3.编辑客户:
    加载这个客户到表单中显示
    修改客户
    删除客户
    多条件组合查询

  • 创建表
  • 创建包:公司名,项目名,分层
    cn.itcast.cstm.domain:Customer,它与表单和t_customer表对应
    cn.itcast.cstm.dao:CustomerDao
    cn.itcast.cstm.service:CustomerService,它没有业务,其实它不存在都可以!
    cn.itcast.cstm.web.servlet:CustomerServelt
  • 导包:
    mysql驱动
    c3p0
    dbutils
    自己的工具jdbcUtils,它在itcast- tools.jar
    beantuils、logging

添加客户

add.jsp 表单页面
CustomerServlet#add()
1.封装表单数据到Customer对象中
2.补:uuid()
3.把Customer对象传递给service方法完成任务
4.保存成功信息,转发到msg.jsp
CustomerService#add(Customer)
直接调用dao
CustomerDao#add(Customer)
1.给出sql模块
2.给出参数
3.调用queryRunner.update()
成功信息request域

查询所有

msg.jsp显示成功信息


图片.png

编辑客户

图片.png

删除客户

图片.png

你可能感兴趣的:(BaseServlet)