完成商品列表的展示----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();
        }
        
        //全部的商品的數據準備好了 轉發(fā)給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 {
        // 沒有復雜業(yè)務
        //傳遞請求到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>
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 對于某些人來說,關乎于自我的利益就這么褪去,而對于別人來講,都只是一個過渡而已,有的人如是,有的這樣牽扯流離,有的...
    子之霧閱讀 265評論 0 0
  • 交底秘笈 業(yè)主,設計師和項目經理在開工前確認房子的基本情況,對接下來的施工都做到心中有數 房屋情況檢查 確認保留設...
    三點四行間閱讀 331評論 0 0
  • 體脂27.8%!歷史最低了! 早餐做了南瓜泥,抹全麥吐司,加3個雞蛋白。到公司以后買了一杯低脂奶馥芮白。中午和姑娘...
    FabulousYou閱讀 292評論 0 1

友情鏈接更多精彩內容