productDao类,productService类,BaseServlet类,showAllProducts.jsp进入后展示所有商品信息,商品信息包括product类下的pid,pname,和category类里面的cname,代码怎么写
时间: 2024-03-10 08:48:01 浏览: 23
首先,需要定义Product类和Category类,代码如下:
```
public class Product {
private int pid;
private String pname;
private Category category;
// 构造方法、setter、getter方法省略
}
public class Category {
private int cid;
private String cname;
// 构造方法、setter、getter方法省略
}
```
接下来,定义ProductDao类和ProductService类,代码如下:
```
public class ProductDao {
// 获取所有商品信息的方法
public List<Product> getAllProducts() {
// TODO: 查询数据库,获取所有商品信息
}
}
public class ProductService {
private ProductDao productDao;
public ProductService() {
productDao = new ProductDao();
}
public List<Product> getAllProducts() {
return productDao.getAllProducts();
}
}
```
最后,编写BaseServlet类和showAllProducts.jsp页面,代码如下:
```
public class BaseServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 处理GET请求
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 处理POST请求
ProductService productService = new ProductService();
List<Product> productList = productService.getAllProducts();
request.setAttribute("productList", productList);
request.getRequestDispatcher("showAllProducts.jsp").forward(request, response);
}
}
<!-- showAllProducts.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>所有商品信息</title>
</head>
<body>
<table>
<thead>
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品分类</th>
</tr>
</thead>
<tbody>
<c:forEach items="${productList}" var="product">
<tr>
<td>${product.pid}</td>
<td>${product.pname}</td>
<td>${product.category.cname}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
```
在BaseServlet中,我们调用ProductService类的getAllProducts()方法获取所有商品信息,并将结果存储在request中,然后转发到showAllProducts.jsp页面展示商品信息。
在showAllProducts.jsp页面中,我们使用c:forEach标签遍历商品列表,并展示商品的pid、pname和cname。