zoukankan      html  css  js  c++  java
  • 使用三层架构完成商品列表的显示

    1 准备工作

    1 数据库的准备

    查看:使用jsp完成商品列表的动态显示

    2 其它准备工作

    1)搭建好三层架构

    2)导入需要 jar

    3)导入需要的工具类
    4)导入 c3p0 连接池工具类

    5)准备 javaBean Product

    6)所需要的页面

    2 代码实现

    1 web层ProductListServlet代码实现

    package www.test.web;
    
    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import www.test.domain.Product;
    import www.test.services.ProductListService;
    
    public class ProductListServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            //传入数据到service层
            ProductListService service = new ProductListService();
            List<Product> productList =null;
            try {
                productList = service.findAllProduct();
            } catch (SQLException e) {
                
                e.printStackTrace();
            }
            for (Product product : productList) {
                System.out.println(product);
            }
            //全部商品的数据准备好了 转发给 jsp 进行数据的展示
            request.setAttribute("productlist", productList);
            //转发到product_list.jsp页面
            request.getRequestDispatcher("/product_list.jsp").forward(request, response);
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
        }
    
    }

    2 service层的ProductListService代码

    package www.test.services;
    
    import java.sql.SQLException;
    import java.util.List;
    
    import www.test.dao.ProductDao;
    import www.test.domain.Product;
    
    public class ProductListService {
    
        //没有复杂业务
        //传递请求到 dao 层
        public List<Product> findAllProduct() throws SQLException {
            ProductDao dao = new ProductDao();
            List<Product> productList = dao.finAllProduct();
            return productList;
        }
    
    }

    3 dao层ProductDao代码

    package www.test.dao;
    
    import java.sql.SQLException;
    import java.util.List;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    
    import www.test.domain.Product;
    import www.test.utils.C3P0Utils;
    
    
    public class ProductDao {
    
        public List<Product> finAllProduct() throws SQLException {
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            String sql = "select * from product";
            List<Product> productList = qr.query(sql, new BeanListHandler<Product>(Product.class));
            return productList;
        }
    
    }

    4 product_list.jsp部分代码

    <c:forEach items="${productlist }" var="product">
        <div class="col-md-2" style="height: 250px">
        <a href="product_info.htm" > <img src="${pageContext.request.contextPath }/${product.pimage}"
            width="170" height="170" style="display: inline-block;">
        </a>
        <p>
            <a href="product_info.html" style='color: green'>${product.pname }</a>
        </p>
        <p>
            <font color="#FF0000">商城价:&yen;${product.shop_price }</font>
        </p>
    </div>
        
    </c:forEach>
  • 相关阅读:
    RecyclerView,ListView first item get focus
    一种粗暴快速的Android全屏幕适配方案(转)
    谈谈单元测试之(一):为什么要进行烦人的单元测试(转)
    SCIgen与野鸡期刊的梗
    百度搜索仍然是【最快解决工作问题的方法】
    搭建minima主题的github博客网站
    本科期间的第一个专利:改卷筒的故事
    学习消费思维的【贫穷与富有】
    我的联系方式
    学习 GitHub 有什么好处?
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8336549.html
Copyright © 2011-2022 走看看