B2Ctt商城05 前台首页商品展示
2017-07-01 11:49
429 查看
1、 前台系统搭建
前台系统就是淘淘商城。
前台系统和后台系统是分开的,只在数据库层面有关系。都是同一个数据库。
【后台系统】【客户端(pc)】
3 服务层工程搭建
使用maven创建一个war工程。
3.1 创建工程 taotao-rest
使用技术
1、Mybatis
2、Spring
3、Springmvc
使用8081端口
需要修改pom.xml添加如下内容:
3.3.5 安装taotao-manager到本地仓库
安装时提示ftptest 需要打开ftp,关掉
Maven命令:install -DskipTests
跳过测试
4 门户系统搭建 taotao-portal
4.1 使用到的技术
1、Spring
2、Springmvc
3、Jstl、jQuery
4、httpClient(使用java代码模拟浏览器)
使用8082端口
快捷键 Go to Line Ctrl+L
配置好pom文件后, clean tomcat7:run 运行
5 商品分类展示
首页左侧有一个商品分类。当鼠标分类上,需要展示出此分类下的子分类。
当鼠标滑动到连接上触发mousemove事件。页面做一个ajax请求,请求json数据包含分类信息,得到json数据后初始化分类菜单,展示。
json数据由rest 服务提供,但是就跨域了
5.3 Ajax跨域请求
5.3.1 跨域问题
什么是跨域:
1、域名不同时。
2、域名相同,端口不同。
只有域名相同、端口相同时,才可以访问。
可以使用jsonp解决跨域问题。
5.3.2 什么是jsonp?
Jsonp其实就是一个跨域解决方案。Js跨域请求数据是不可以的,但是js跨域请求js脚本是可以的。可以把数据封装成一个js语句,做一个方法的调用。跨域请求js脚本可以得到此脚本。得到js脚本之后会立即执行。可以把数据做为参数传递到方法中。就可以获得数据。从而解决跨域问题。
从数据库中取数据
dao 商品分类表,使用逆向工程
servioce
* 新建bean 根据json串
{“data”:[{“u”:”/products/1.html”,”n”:”
service代码
@RequestMapping(value=”/itemcat/list”,
produces={MediaType.APPLICATION_JSON_VALUE + “;charset=utf-8”})
// 声明是json格式数据, 2处理编码
@ResponseBody
public String getItemCatList(String callback) {
CatResult catResult = itemCatService.getItemCatList();
//把pojo转换成字符串
String json = JsonUtils.objectToJson(catResult);
//拼装返回值
return callback + “(” + json + “);”;
}
方法2
@RequestMapping(“/itemcat/list”)
@ResponseBody
public Object getItemCatList(String callback) {
CatResult catResult = itemCatService.getItemCatList();
// springmvc4.1 以后 帮你转换,给一个前缀,进行封装
MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(catResult);
mappingJacksonValue.setJsonpFunction(callback);
return mappingJacksonValue;
}
【插播】me 复制一行的快捷键
Ctrl+Alt+↓
Intel电脑的,默认的这个快捷键是旋转屏幕!关闭方法 桌面右键—》图形选项—》快捷键–》禁用
前台系统就是淘淘商城。
前台系统和后台系统是分开的,只在数据库层面有关系。都是同一个数据库。
【后台系统】【客户端(pc)】
3 服务层工程搭建
使用maven创建一个war工程。
3.1 创建工程 taotao-rest
使用技术
1、Mybatis
2、Spring
3、Springmvc
使用8081端口
需要修改pom.xml添加如下内容:
<build> <!-- 配置插件 --> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8081</port> <path>/</path> </configuration> </plugin> </plugins> </build>
3.3.5 安装taotao-manager到本地仓库
安装时提示ftptest 需要打开ftp,关掉
Maven命令:install -DskipTests
跳过测试
4 门户系统搭建 taotao-portal
4.1 使用到的技术
1、Spring
2、Springmvc
3、Jstl、jQuery
4、httpClient(使用java代码模拟浏览器)
使用8082端口
快捷键 Go to Line Ctrl+L
配置好pom文件后, clean tomcat7:run 运行
5 商品分类展示
首页左侧有一个商品分类。当鼠标分类上,需要展示出此分类下的子分类。
当鼠标滑动到连接上触发mousemove事件。页面做一个ajax请求,请求json数据包含分类信息,得到json数据后初始化分类菜单,展示。
json数据由rest 服务提供,但是就跨域了
5.3 Ajax跨域请求
5.3.1 跨域问题
什么是跨域:
1、域名不同时。
2、域名相同,端口不同。
只有域名相同、端口相同时,才可以访问。
可以使用jsonp解决跨域问题。
5.3.2 什么是jsonp?
Jsonp其实就是一个跨域解决方案。Js跨域请求数据是不可以的,但是js跨域请求js脚本是可以的。可以把数据封装成一个js语句,做一个方法的调用。跨域请求js脚本可以得到此脚本。得到js脚本之后会立即执行。可以把数据做为参数传递到方法中。就可以获得数据。从而解决跨域问题。
//使用jsonp来实现跨域请求 $.getJSONP(this.URL_Serv, category.getDataService);
从数据库中取数据
dao 商品分类表,使用逆向工程
servioce
* 新建bean 根据json串
{“data”:[{“u”:”/products/1.html”,”n”:”
1、分类列表的节点。包含u、n、i属性。 public class CatNode { 这个注解可以把该属性转换成json字符串中指定的属性 @JsonProperty("n") private String name; @JsonProperty("u") private String url; @JsonProperty("i") private List<?> item; } 2、返回值pojo。包含data属性是一个list类型。 public class CatResult { private List<?> data; }
service代码
@Service public class ItemCatServiceImpl implements ItemCatService { @Autowired private TbItemCatMapper itemCatMapper; @Override public CatResult getItemCatList() { CatResult catResult = new CatResult(); //查询分类列表 catResult.setData(getCatList(0)); return catResult; } 使用了递归的思想 思路:1、根据parentId 查询下面所有的子节点 (开启一个方法) 2、根据parentId查询出所有子节点以后 便利 创建node对象 3、根据不同情况设置不同的属性 参考json图片 /** * 查询分类列表 */ private List<?> getCatList(long parentId) { //创建查询条件 TbItemCatExample example = new TbItemCatExample(); Criteria criteria = example.createCriteria(); criteria.andParentIdEqualTo(parentId); //执行查询 List<TbItemCat> list = itemCatMapper.selectByExample(example); //返回值list List resultList = new ArrayList<>(); //向list中添加节点 for (TbItemCat tbItemCat : list) { //判断是否为父节点 if (tbItemCat.getIsParent()) { CatNode catNode = new CatNode(); if (parentId == 0) { catNode.setName("<a href='/products/"+tbItemCat.getId()+".html'></a>"); } else { catNode.setName(tbItemCat.getName()); } catNode.setUrl("/products/"+tbItemCat.getId()+".html"); // 递归 catNode.setItem(getCatList(tbItemCat.getId())); resultList.add(catNode); //如果是叶子节点 } else { resultList.add("/products/"+tbItemCat.getId()+".html|" + tbItemCat.getName()); } } return resultList; } } controller
@RequestMapping(value=”/itemcat/list”,
produces={MediaType.APPLICATION_JSON_VALUE + “;charset=utf-8”})
// 声明是json格式数据, 2处理编码
@ResponseBody
public String getItemCatList(String callback) {
CatResult catResult = itemCatService.getItemCatList();
//把pojo转换成字符串
String json = JsonUtils.objectToJson(catResult);
//拼装返回值
return callback + “(” + json + “);”;
}
方法2
@RequestMapping(“/itemcat/list”)
@ResponseBody
public Object getItemCatList(String callback) {
CatResult catResult = itemCatService.getItemCatList();
// springmvc4.1 以后 帮你转换,给一个前缀,进行封装
MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(catResult);
mappingJacksonValue.setJsonpFunction(callback);
return mappingJacksonValue;
}
【插播】me 复制一行的快捷键
Ctrl+Alt+↓
Intel电脑的,默认的这个快捷键是旋转屏幕!关闭方法 桌面右键—》图形选项—》快捷键–》禁用
相关文章推荐
- 淘淘商城--前台首页商品类目js跨域调用展示
- 淘淘商城--前台首页商品类目js展示
- 使用smarty方式展示前台首页新闻分类
- 框架 day81 涛涛商城项目-实现首页搜索功能,商品详情,描述,规格展示
- andriod———1.实现原生登录注册。 2.首页完成商品列表展示点击相对应的商品ID进入商品详情 3.商品详情页面展示数据,点击加入购物车进入购物车页面 4.购物车页面完成购物车编辑,删除,功能
- JSP第十四次课:JSP项目开发高级操作2---在线编辑器应用及前台首页显示商品
- 首页商品分类展示——淘淘商城(十四)
- 第十次课:前台首页设计及显示商品信息
- 带你逐步深入了解SSM框架——淘淘商城项目之前台工程搭建、首页商品类目显示
- 淘淘商城首页商品类目展示
- 商品详情页面展示
- asp.net网站前台通过DataList展示信息的代码
- ecshop首页显示热门点击商品
- 搜索商品+XRecyclerview展示列表
- Android-商品展示
- ListView控件以及常用数据适配器Adapter的使用+商品展示案例
- 商品展示——增、删、改、查
- ListView+ SQLite实现商品展示
- 数据存储运用ListView和SQLite数据库综合案例——商品展示
- BOS宣传活动任务前台分页展示