前台商品管理模块
准备工作
1、创建表并完善数据
CREATE TABLE `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,
PRIMARY KEY (`pid`),
KEY `sfk_0001` (`cid`),
CONSTRAINT `sfk_0001` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
初始化商品默认数据(从数据库store_v1.0.sql中获取)
INSERT INTO `product` VALUES ('1','小米 4c 标准版',1399,1299,'products/1/c_0001.jpg','2015-11-02',1,'小米 4c 标准版 全网通 白色 移动联通电信4G手机 双卡双待',0,'1')
2、编写JavaBean Product
public class Product {
private String pid;
private String pname;
private double market_price;
private double shop_price;
private String pimage;
private Date pdate;
private int is_hot;//0:不是热门 1:热门
private String pdesc;
private int pflag; //0:未下架 1:已下架
private Category category; //分类:以面向对象的方式描述商品与分类之间的关系
3、编写dao接口,及实现类
4、编写service接口,及实现类
5、编写servlet
----首页热门商品及最新商品显示
代码实现:
1、修改IndexServlet,添加查询热门和最新商品查询
public class IndexServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ProductService service = new ProductService();
//准备热门商品---List<Product>
List<Product> hotProductList = service.findHotProductList();
//准备最新商品---List<Product>
List<Product> newProductList = service.findNewProductList();
//存放查询结果
request.setAttribute("hotProductList", hotProductList);
request.setAttribute("newProductList", newProductList);
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
2、修改service,提供findByHot()和findByNew()方法
public class ProductService {
//获得热门商品
public List<Product> findHotProductList() {
ProductDao dao = new ProductDao();
List<Product> hotProductList = null;
try {
hotProductList = dao.findHotProductList();
} catch (SQLException e) {
e.printStackTrace();
}
return hotPr