【JavaWeb】网上蛋糕项目商城-商品分类

本文介绍了一个JavaWeb项目中商品分类的实现,包括点击商品分类时触发超链接,通过servlet接收请求,根据分类ID查询数据库中的商品并进行分页显示。涉及到的步骤包括在servlet中处理请求,业务逻辑层与数据访问层的交互,以及使用Page类进行分页信息的封装,最终在goods_list.jsp页面展示商品列表和分页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

上一文中,我们实现了首页的数据展示,本文讲解商品分类的商品展示,实现分页显示功能。

点击商品分类中的各种分类,向服务器发送请求,获取数据库中对应该分类的所有商品并以分页的形式返回显示。

商品分类步骤实现

当点击商品分类中的某一项分类时,head.jsp头部页面中触发超链接点击事件,向服务器发送商品分类id

在servlet包中,创建GoodsListServlet类,用于接收用户在浏览器中触发的超链接的点击事件发送的请求

package servlet;

import model.Page;
import model.Type;
import service.GoodsService;
import service.TypeService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
impor
商品分类排序是电商平台常见的功能,可以让用户更方便地浏览和筛选商品。下面给出一个简单的示例代码: 1. 商品分类排序页面: ```html <!-- 商品分类排序页面 --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>商品分类排序</title> </head> <body> <!-- 商品分类列表 --> <ul> <li><a href="category.jsp?category=1">分类1</a></li> <li><a href="category.jsp?category=2">分类2</a></li> <li><a href="category.jsp?category=3">分类3</a></li> </ul> <!-- 商品排序方式 --> <form action="category.jsp" method="get"> <input type="hidden" name="category" value="${category}"> <select name="sort"> <option value="price_asc">价格从低到高</option> <option value="price_desc">价格从高到低</option> <option value="sales_asc">销量从低到高</option> <option value="sales_desc">销量从高到低</option> </select> <input type="submit" value="排序"> </form> <!-- 商品列表 --> <table> <thead> <tr> <th>商品名称</th> <th>价格</th> <th>销量</th> </tr> </thead> <tbody> <!-- 根据分类和排序方式查询商品列表,并进行展示 --> <%-- 代码略 --%> </tbody> </table> </body> </html> ``` 2. 商品分类排序处理: ```java // 商品分类列表页面 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取分类和排序方式参数 int category = Integer.parseInt(request.getParameter("category")); String sort = request.getParameter("sort"); // 根据分类和排序方式查询商品列表 ProductService productService = new ProductService(); List<Product> productList = productService.getProductList(category, sort); // 将商品列表存储到 request 中 request.setAttribute("productList", productList); // 跳转到商品分类排序页面 request.getRequestDispatcher("category.jsp").forward(request, response); } ``` 3. 商品分类排序查询: ```java // 根据分类和排序方式查询商品列表 public List<Product> getProductList(int category, String sort) { // 构造 SQL 查询语句 String sql = "SELECT * FROM product WHERE category=?"; if (sort.equals("price_asc")) { sql += " ORDER BY price ASC"; } else if (sort.equals("price_desc")) { sql += " ORDER BY price DESC"; } else if (sort.equals("sales_asc")) { sql += " ORDER BY sales ASC"; } else if (sort.equals("sales_desc")) { sql += " ORDER BY sales DESC"; } // 执行 SQL 查询,并将结果转换为 Product 对象列表 List<Product> productList = new ArrayList<Product>(); try (Connection conn = DbUtil.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setInt(1, category); ResultSet rs = stmt.executeQuery(); while (rs.next()) { Product product = new Product(); product.setId(rs.getInt("id")); product.setName(rs.getString("name")); product.setPrice(rs.getDouble("price")); product.setSales(rs.getInt("sales")); // 其他字段赋值 productList.add(product); } } catch (SQLException e) { e.printStackTrace(); } return productList; } ``` 以上代码仅供参考,具体实现方式可以根据项目需求进行调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔触狂放

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值