JavaEE开发模式:
- 什么是开发模式
模式在开发过程中总结的“套路”,总结出的一套约定俗称的设计模式
javaBean:有set和get方法的实体类
现在的开发模式:
jsp + servlet + javaBean
优点:
- 开发中使用各个技术擅长的方面
- servlet擅长java的业务代码
- jsp擅长页面的展示
MVC是什么:
- Model:就是javaBean,把零散的数据封装成对象。
- View:就是JSP,页面展示
- Controller:就是servlet,获取数据,对数据进行封装,传递数据,指定页面展示。
MVC三层架构:
三层架构如下图所示
web层,dao层,service层
如下图所示:
我们将商品展示页面改成MVC三层架构模式。
- 先创建三个包,web包,service包,dao包,在web包创建一个GoodsServlet(servlet文件),在servic包创建GoodsService(普通java文件),在dao包创建GoodsDao(普通java文件)。
- 首先来写GoodsServlet
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//1.需要获取商品
//在servlet中创建一个Service对象,调用里边的方法来获取商品。
GoodsService goodsService = new GoodsService();
List<Goods> allGoods = goodsService.findallGoods();
//2.将商品存在request域中,并转发到商品页面
request.setAttribute("allGoods",allGoods);
//获取转发器,并传入request和response
request.getRequestDispatcher("list.jsp").forward(request,response);
}
- 写Service中的findallGoods()方法
//经过service中的findallGoods()方法,我们再进入到Dao中去查找数据库中的数据
public class GoodsService{
public List<Goods> findallGoods(){
GoodsDao goodsDao = new GoodsDao();
return goodsDao.findallGoods();
}
}
- 最后是GoodsDao中的findallGoods()方法
public class GoodsDao{
public List<Goods> findallGoods{
//1.连接数据库,并传入数据源
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
}
//2.开始查询数据库中的数据,并将数据存放在集合中
List<Goods> allGoods = null;
try {
allGoods = qr.query(sql,new BeanListHandler<Goods>(Goods.class));
} catch (SQLException e) {
e.printStackTrace();
}
return allGoods;
}