logo资料库

淘淘商城第三天笔记.doc

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
1课程计划
2商品添加功能说明
2.1商品类目的选择
2.2数据库
2.3功能实现的分析:
2.4Dao层
2.5Service层
2.6Controller
3图片上传
3.1图片上传位置
3.1.1传统图片管理方式
3.1.2集群环境下的上传图片
3.2图片服务器的搭建
3.2.1需要的软件
3.2.1.1Linux关闭图像界面:
3.2.1.2Nginx安装
3.2.2安装http服务
3.2.2.1Nginx的使用方法
3.2.3配置FTP服务器
3.2.3.1安装
3.2.3.2使用ftp客户端测试。
3.2.3.3Nginx配置
3.3图片上传实现
3.3.1需求分析
3.3.2Dao层
3.3.3Service
3.3.4Controller
3.4富文本编辑器
3.5商品添加功能实现
3.5.1需求分析
3.5.2Dao层
3.5.3Service层
3.5.4Controller
传智播客 Java 学院 传智.入云龙 第三天笔记 1 课程计划 后台管理商品的添加功能 1、商品分类选择 2、上传图片 3、富文本编辑器(kindEditor) 4、实现商品的添加 5、课后作业(商品的修改、删除) 2 商品添加功能说明
传智播客 Java 学院 传智.入云龙 如下图: 以上弹框中,我们应该让选择一个:easyUI 的异步树控件,原因: 不用在此对话框加载后全部加载目录所有数据,采用异步树控件,点击哪个查询哪个,相当 好。(提高性能和响应时间) 异步树控件参照:jQuery EasyUI 1.4 版 API 中文版 (Made By Richie696).chm 异步树官方文档(摘抄): 树控件读取 URL。子节点的加载依赖于父节点的状态。当展开一个封闭的节点,如果节点没 有加载子节点,它将会把节点 id 的值作为 http 请求参数并命名为'id',通过 URL 发送到 服务器上面检索子节点。 该项目异步树的结构(可以把 children 去掉:): { "id": 1, "text": "Node 1", "state": "closed" //如果为父节点则状态为 closed,叶子节点则是 open } 事件 很多事件的回调函数都包含'node'参数,其具备如下属性: id:绑定节点的标识值。
传智播客 Java 学院 传智.入云龙 text:显示的节点文本。 iconCls:显示的节点图标 CSS 类 ID。 checked:该节点是否被选中。 state:节点状态,'open' 或 'closed'。 attributes:绑定该节点的自定义属性。 target:目标 DOM 对象。 2.1 商品类目的选择 2.2 数据库 表中的数据为树形结构,可以满足要求 示例 SQL: SELECT * FROM taotao.tb_item_cat a WHERE a.parent_id=0; ##看第一条数据,此 时观察 is_parent 为 1,本行数据 id=1,接着往下查询 SELECT * FROM taotao.tb_item_cat a WHERE a.parent_id=1; ##看第一条数据,此 时观察 is_parent 为 1,本行数据 id=2,接着往下查询 SELECT * FROM taotao.tb_item_cat a WHERE a.parent_id=2; ##看第一条数据,此 时观察 is_parent 为 0,本行数据 id=3,不是父节点,不需要再往下查询 2.3 功能实现的分析: 请求初始化树形控件的 URL:/item/cat/list
传智播客 Java 学院 传智.入云龙 点击父节点,请求初始化子节点的动作是:tree 控件封装好的,每打开一个父节点,做一 次 ajax 请求 请求参数:id 当前子节点 id,根据此 id 查询子节点 返回结果: 一个 json 数据,是一个列表: [{ "id": 1, "text": "Node 1", "state": "closed" //如果为父节点则状态为 closed,叶子节点则是 open },{ "id": 1, "text": "Node 1", "state": "closed" //如果为父节点则状态为 closed,叶子节点则是 open }] 2.4 Dao 层 SQL 语句: SELECT * FROM taotao.tb_item_cat a WHERE a.parent_id=2; 该条件为单表查询,可以使用逆向工程生成的代码
传智播客 Java 学院 传智.入云龙 2.5 Service 层 功能:接收 parentId 参数,根据 parentId 查询子类目类别,返回一个分类列表。 可以创建一个 pojo 来描述一个节点的格式,返回一个 pojo 列表。 创建一个 poojo: 包 含 id 、 text 、 state 属 性 , 因 为 其 他 工 程 也 可 能 用 到 该 pojo , 所 以 应 该 放 到 taotao-common 工程中。 Pojo 类:EUTreeNode.java package com.taotao.common.pojo; /** * easyUI树形控件节点格式 *

Title: EUTreeNode

*

Description:

*

Company: 自由职业

* @author 熊文博 * @date * @version 1.0 */ public class EUTreeNode { 2018年6月19日上午9:13:14 private long id; //由于数据库类型为自增长(auto_increment)bigint型,所 以用long private String text; private String state; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getState() { return state; } public void setState(String state) { this.state = state; }
传智播客 Java 学院 传智.入云龙 } Service 层:ItemCatServiceImpl.java package com.taotao.service.impl; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.taotao.common.pojo.EUTreeNode; import com.taotao.mapper.TbItemCatMapper; import com.taotao.pojo.TbItemCat; import com.taotao.pojo.TbItemCatExample; import com.taotao.pojo.TbItemCatExample.Criteria; import com.taotao.service.ItemCatService; /** * 商品分类管理 *

Title: ItemCatServiceImpl

*

Description:

*

Company: www.itcast.com

* @author 入云龙 * @date * @version 1.0 */ @Service public class ItemCatServiceImpl implements ItemCatService { 2015年9月4日上午9:16:50 @Autowired private TbItemCatMapper itemCatMapper; @Override public List getCatList(long parentId) { //创建查询条件 TbItemCatExample example = new TbItemCatExample(); Criteria criteria = example.createCriteria(); criteria.andParentIdEqualTo(parentId); //根据条件查询 List list = itemCatMapper.selectByExample(example); List resultList = new ArrayList<>(); //把列表转换成treeNodelist for (TbItemCat tbItemCat : list) { EUTreeNode node = new EUTreeNode();
传智播客 Java 学院 传智.入云龙 node.setId(tbItemCat.getId()); node.setText(tbItemCat.getName()); node.setState(tbItemCat.getIsParent()?"closed":"open"); //好 像是三元运算符 resultList.add(node); } //返回结果 return resultList; } } 2.6 Controller 功能:接收页面请求参数,名为 id,调用 Service 查询分类列表,返回的 json 格式是列 表,需要使用@ResponseBody 注解。 Controller:ItemCatController.java package com.taotao.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.taotao.common.pojo.EUTreeNode; import com.taotao.service.ItemCatService; /** * 商品分类管理controller *

Title: ItemCatController

*

Description:

*

Company: 自由职业

* @author 熊文博 * @date * @version 1.0 */ @Controller @RequestMapping("/item/cat") //此@RequestMapping是公用的链接 public class ItemCatController { 2018年6月19日上午9:25:14
传智播客 Java 学院 传智.入云龙 @Autowired private ItemCatService itemCatService; @RequestMapping("/list") @ResponseBody // private List getCatList(Long id) { //参数为id时使用这个 再 设置默认值即可 private List getCatList(@RequestParam(value="id",defaultValue="0")Long parentId) { List list = itemCatService.getCatList(parentId); return list; } } 3 图片上传 3.1 图片上传位置 3.1.1 传统图片管理方式 最传统方式:
分享到:
收藏