完成商品列表的展示----Java EE三层架构(web+service+dao)

三层架构主要体现三目录结构:

image.png

ProductListServlet.java文件代码:

package com.zys.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 org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.zys.domain.Product;
import com.zys.service.ProductService;
import com.zys.utils.DataSourceUtils;

public class ProductListServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        //传递请求到service层
        ProductService service = new ProductService();
        List<Product> productList = null;
        try {
            productList = service.findAllProduct();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        //全部的商品的数据准备好了 转发给jsp进行数据的展示
        request.setAttribute("productList", productList);
        request.getRequestDispatcher("/product_list.jsp").forward(request, response);
        
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
}

ProductService.java文件代码:

package com.zys.service;

import java.sql.SQLException;
import java.util.List;

import com.zys.dao.ProductDao;
import com.zys.domain.Product;

public class ProductService {

    public List<Product> findAllProduct() throws SQLException {
        // 没有复杂业务
        //传递请求到dao层
        ProductDao dao = new ProductDao();
        List<Product> productList = dao.findAllProduct();
        return productList;
    }

}

ProductDao.java文件代码:

package com.zys.dao;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.zys.domain.Product;
import com.zys.utils.DataSourceUtils;

public class ProductDao {

    public List<Product> findAllProduct() throws SQLException {
        // 操作数据库
        QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
        String sql = "select * from product";
        List<Product> productList = runner.query(sql, new BeanListHandler<Product>(Product.class));
        return productList;
    }
    
}

JSP页面展示:以EL表达式与JSTL配合使用

    <c:forEach items="${productList }" var="product">
        <div class="col-md-2" style="height:250px">
            <a href="productInfo?id=${product.pid }"> 
                <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>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于某些人来说,关乎于自我的利益就这么褪去,而对于别人来讲,都只是一个过渡而已,有的人如是,有的这样牵扯流离,有的...
    子之雾阅读 1,456评论 0 0
  • 交底秘笈 业主,设计师和项目经理在开工前确认房子的基本情况,对接下来的施工都做到心中有数 房屋情况检查 确认保留设...
    三点四行间阅读 2,383评论 0 0
  • 体脂27.8%!历史最低了! 早餐做了南瓜泥,抹全麦吐司,加3个鸡蛋白。到公司以后买了一杯低脂奶馥芮白。中午和姑娘...
    FabulousYou阅读 1,625评论 0 1