zoukankan      html  css  js  c++  java
  • 案例18-首页最新商品和热门商品显示

    1 web层

    1 IndexServlet

    package www.test.web.servlet;
    
    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.service.ProductService;
    
    public class IndexServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            ProductService service = new ProductService();
            
            //获取热门商品-----List<Product>
            List<Product> hotProductList = null;
            try {
                hotProductList = service.findHotProductList();
            } catch (SQLException e) {
                
                e.printStackTrace();
            }
            
            //获取最新商品-----List<Product>
            List<Product> newProductList = null;
            try {
                newProductList = service.findNewProductList();
            } catch (SQLException e) {
                
                e.printStackTrace();
            }
            
            
            //将获取的数据存入request域
            request.setAttribute("hotProductList", hotProductList);
            request.setAttribute("newProductList", newProductList);
            
            //转发
            request.getRequestDispatcher("/index.jsp").forward(request, response);
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
        }
    
    }

    2 service层

    1 ProductService

    package www.test.service;
    
    import java.sql.SQLException;
    import java.util.List;
    
    import www.test.dao.ProductDao;
    import www.test.domain.Product;
    
    public class ProductService {
    
        // 获取热门商品
        public List<Product> findHotProductList() throws SQLException {
    
            ProductDao dao = new ProductDao();
            return dao.findHotProductList();
        }
    
        // 获取最新商品商品
        public List<Product> findNewProductList() throws SQLException {
    
            ProductDao dao = new ProductDao();
            return dao.findNewProductList();
        }
    
    }

    3 dao层

    1 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> findHotProductList() throws SQLException {
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            String sql = "select * from product where is_hot=? limit ?,?";
            List<Product> hotProductList = qr.query(sql, new BeanListHandler<Product>(Product.class), 1,0,9);
            return hotProductList;
        }
        
        //获取最新商品
        public List<Product> findNewProductList() throws SQLException {
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            String sql = "select * from product order by pdate desc limit ?,?";
            List<Product> newProductList = qr.query(sql, new BeanListHandler<Product>(Product.class), 0,9);
            return newProductList;
        }
    
    }

    4 domain层

    1 product

    package www.test.domain;
    
    import java.util.Date;
    
    public class Product {
    
        /*`pid` varchar(32) NOT NULL,
          `pname` varchar(50) DEFAULT NULL,
          `market_price` double DEFAULT NULL,
          `shop_price` double DEFAULT NULL,
          `pimage` varchar(200) DEFAULT NULL,
          `pdate` date DEFAULT NULL,
          `is_hot` int(11) DEFAULT NULL,
          `pdesc` varchar(255) DEFAULT NULL,
          `pflag` int(11) DEFAULT NULL,
          `cid` varchar(32) DEFAULT NULL*/
        
        
        private String pid;
        private String pname;
        private double market_price;
        private double shop_price;
        private String pimage;
        private Date pdate;
        private int is_hot;
        private String pdesc;
        private int pflag;
        private Category category;
        public String getPid() {
            return pid;
        }
        public void setPid(String pid) {
            this.pid = pid;
        }
        public String getPname() {
            return pname;
        }
        public void setPname(String pname) {
            this.pname = pname;
        }
        public double getMarket_price() {
            return market_price;
        }
        public void setMarket_price(double market_price) {
            this.market_price = market_price;
        }
        public double getShop_price() {
            return shop_price;
        }
        public void setShop_price(double shop_price) {
            this.shop_price = shop_price;
        }
        public String getPimage() {
            return pimage;
        }
        public void setPimage(String pimage) {
            this.pimage = pimage;
        }
        public Date getPdate() {
            return pdate;
        }
        public void setPdate(Date pdate) {
            this.pdate = pdate;
        }
        public int getIs_hot() {
            return is_hot;
        }
        public void setIs_hot(int is_hot) {
            this.is_hot = is_hot;
        }
        public String getPdesc() {
            return pdesc;
        }
        public void setPdesc(String pdesc) {
            this.pdesc = pdesc;
        }
        public int getPflag() {
            return pflag;
        }
        public void setPflag(int pflag) {
            this.pflag = pflag;
        }
        public Category getCategory() {
            return category;
        }
        public void setCategory(Category category) {
            this.category = category;
        }
        
        
        
    }

    2 Category

    package www.test.domain;
    
    public class Category {
    
        private String cid;
        private String cname;
        public String getCid() {
            return cid;
        }
        public void setCid(String cid) {
            this.cid = cid;
        }
        public String getCname() {
            return cname;
        }
        public void setCname(String cname) {
            this.cname = cname;
        }
    }

    5 WebContent

    1 index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html>
    <html>
        <head>
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <title>黑马商城首页</title>
            <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" />
            <script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
            <script src="js/bootstrap.min.js" type="text/javascript"></script>
        </head>
    
        <body>
            <div class="container-fluid">
    
                <!-- 引入header.jsp -->
                <jsp:include page="/header.jsp"></jsp:include>
    
                <!-- 轮播图 -->
                <div class="container-fluid">
                    <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
                        <!-- 轮播图的中的小点 -->
                        <ol class="carousel-indicators">
                            <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
                            <li data-target="#carousel-example-generic" data-slide-to="1"></li>
                            <li data-target="#carousel-example-generic" data-slide-to="2"></li>
                        </ol>
                        <!-- 轮播图的轮播图片 -->
                        <div class="carousel-inner" role="listbox">
                            <div class="item active">
                                <img src="img/1.jpg">
                                <div class="carousel-caption">
                                    <!-- 轮播图上的文字 -->
                                </div>
                            </div>
                            <div class="item">
                                <img src="img/2.jpg">
                                <div class="carousel-caption">
                                    <!-- 轮播图上的文字 -->
                                </div>
                            </div>
                            <div class="item">
                                <img src="img/3.jpg">
                                <div class="carousel-caption">
                                    <!-- 轮播图上的文字 -->
                                </div>
                            </div>
                        </div>
    
                        <!-- 上一张 下一张按钮 -->
                        <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
                            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
                            <span class="sr-only">Previous</span>
                        </a>
                        <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
                            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
                            <span class="sr-only">Next</span>
                        </a>
                    </div>
                </div>
                
                <!-- 热门商品 -->
                <div class="container-fluid">
                    <div class="col-md-12">
                        <h2>热门商品&nbsp;&nbsp;<img src="img/title2.jpg"/></h2>
                    </div>
                    <div class="col-md-2" style="border:1px solid #E7E7E7;border-right:0;padding:0;">
                        <img src="products/hao/big01.jpg" width="205" height="404" style="display: inline-block;"/>
                    </div>
                    <div class="col-md-10">
                        <div class="col-md-6" style="text-align:center;height:200px;padding:0px;">
                            <a href="product_info.htm">
                                <img src="products/hao/middle01.jpg" width="516px" height="200px" style="display: inline-block;">
                            </a>
                        </div>
                    
                        <c:forEach items="${hotProductList }" var="hotPro">
                            <div class="col-md-2" style="text-align:center;height:200px;padding:10px 0px;">
                                <a href="product_info.htm">
                                    <img src="${pageContext.request.contextPath }/${hotPro.pimage}" width="130" height="130" style="display: inline-block;">
                                </a>
                                <p><a href="product_info.html" style='color:#666'>${hotPro.pname}</a></p>
                                <p><font color="#E4393C" style="font-size:16px">&yen;${hotPro.shop_price }</font></p>
                            </div>
                        </c:forEach>
                    </div>
                </div>
                
                <!-- 广告条 -->
                <div class="container-fluid">
                    <img src="products/hao/ad.jpg" width="100%"/>
                </div>
                
                <!-- 最新商品 -->
                <div class="container-fluid">
                    <div class="col-md-12">
                        <h2>最新商品&nbsp;&nbsp;<img src="img/title2.jpg"/></h2>
                    </div>
                    <div class="col-md-2" style="border:1px solid #E7E7E7;border-right:0;padding:0;">
                        <img src="products/hao/big01.jpg" width="205" height="404" style="display: inline-block;"/>
                    </div>
                    <div class="col-md-10">
                        <div class="col-md-6" style="text-align:center;height:200px;padding:0px;">
                            <a href="product_info.htm">
                                <img src="products/hao/middle01.jpg" width="516px" height="200px" style="display: inline-block;">
                            </a>
                        </div>
                        <c:forEach items="${newProductList }" var="newPro">
                            <div class="col-md-2" style="text-align:center;height:200px;padding:10px 0px;">
                                <a href="product_info.htm">
                                    <img src="${pageContext.request.contextPath }/${newPro.pimage}" width="130" height="130" style="display: inline-block;">
                                </a>
                                <p><a href="product_info.html" style='color:#666'>${newPro.pname}</a></p>
                                <p><font color="#E4393C" style="font-size:16px">&yen;${newPro.shop_price }</font></p>
                            </div>
                        </c:forEach>
                    </div>
                </div>            
                
                <!-- 引入footer.jsp -->
                <jsp:include page="/footer.jsp"></jsp:include>
                
            </div>
        </body>
    
    </html>

    2 default.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
        <%
            response.sendRedirect(request.getContextPath()+"/index");
        %>
    </body>
    </html>

    3 web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>WEBTestShop28</display-name>
      <servlet>
        <servlet-name>CheckImgServlet</servlet-name>
        <servlet-class>www.test.web.servlet.CheckImgServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>CheckImgServlet</servlet-name>
        <url-pattern>/checkImg</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <description></description>
        <display-name>RegisterServlet</display-name>
        <servlet-name>RegisterServlet</servlet-name>
        <servlet-class>www.test.web.servlet.RegisterServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>RegisterServlet</servlet-name>
        <url-pattern>/register</url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>ActiveServlet</display-name>
        <servlet-name>ActiveServlet</servlet-name>
        <servlet-class>www.test.web.servlet.ActiveServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>ActiveServlet</servlet-name>
        <url-pattern>/active</url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>CheckUsernameServlet</display-name>
        <servlet-name>CheckUsernameServlet</servlet-name>
        <servlet-class>www.test.web.servlet.CheckUsernameServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>CheckUsernameServlet</servlet-name>
        <url-pattern>/checkUsername</url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>CheckVCServlet</display-name>
        <servlet-name>CheckVCServlet</servlet-name>
        <servlet-class>www.test.web.servlet.CheckVCServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>CheckVCServlet</servlet-name>
        <url-pattern>/checkVC</url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>LoginServlet</display-name>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>www.test.web.servlet.LoginServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
      </servlet-mapping>
      <filter>
        <display-name>AutoLoginFilter</display-name>
        <filter-name>AutoLoginFilter</filter-name>
        <filter-class>www.test.web.filter.AutoLoginFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>AutoLoginFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <servlet>
        <description></description>
        <display-name>IndexServlet</display-name>
        <servlet-name>IndexServlet</servlet-name>
        <servlet-class>www.test.web.servlet.IndexServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>IndexServlet</servlet-name>
        <url-pattern>/index</url-pattern>
      </servlet-mapping>
    </web-app>
  • 相关阅读:
    [spring] SpEL
    [spring学习2] 装配
    [spring] proxyMode
    [spring] @PropertySource
    [一些问题] 在vscode中添加jar库
    [spring] ApplicationContext相关问题
    gradle 打包
    [spring学习1] IoC容器
    spring快速开始
    准备要写的笔记备忘录
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8443763.html
Copyright © 2011-2022 走看看