JavaWeb - 小米商城 :首页商品分类展示
1.功能描述
2.功能分析
分类展示功能在逻辑上并不复杂:每当需要加载 <header> 标签中的内容时,都会向后端提交一个 GET 请求来获取分类数据内容。后端在收到请求后查询数据库并以 json 形式返回展示内容。
查询商品分类内的功能需要面向数据库中的另一张表 tb_goods_type,为了区分不同类型的数据查询业务以及代码的维护性和扩展性。在开发时基于三层架构体系建立对应的GoodsTypeServlet 类、GoodsTypeService 接口和实现类、GoodsTypeDao 接口和实现类。
3.代码实现
3.1 后端
3.1.1 Servlet
在 GoodsTypeServlet类中定义查询所有线路分类内容的主体逻辑
@WebServlet("/goodsType.do")
public class GoodsTypeServlet extends BaseServlet {
private ResultData resultData = new ResultData();
/**
* 获取商品所有分类 返回json
*
* @param req
* @param resp
* @return
* @throws ServletException
* @throws IOException
*/
public String goodsTypeAjax(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
IGoodsTypeService service = new GoodsTypeServiceImpl();
resultData.setFlag(false);
List<GoodsType> lists = service.getGoodTypeByParent();
if (lists != null && lists.size() >= 1) {
resultData.setFlag(true);
resultData.setData(lists);
}
String json = JSON.toJSONString(resultData);
System.out.println(json);
//在响应中声明返回的是json格式字符
resp.setContentType("application/json;charset=utf-8");
return json;
}
/**
* 根据商品类别返回所有商品列表json列表
*
* @param req
* @param resp
* @return
* @throws ServletException
* @throws IOException
*/
public String getGoodsListByTypeId(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String typeid = req.getParameter("typeid");
IGoodsService service = new GoodsServiceImpl();
resultData.setFlag(false);
List<Goods> goods = service.getGoodsById(typeid);
if (goods != null && goods.size() >= 1) {
resultData.setFlag(true);
resultData.setData(goods);
}
String json = JSON.toJSONString(resultData