1.京淘后台管理系统
1.1 Ajax总结
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
您好Springboot
学生信息
编号
姓名
年龄
性别
1.2 分布式思想
1.2.1 分布式分类
1、分布式计算
说明:一项任务由多个服务器共同完成的
例子:假设一项任务单独完成需要10天,如果有10个人同时执行则一天完成,大数据处理技术
2、分布式系统
说明:将项目按照特定的功能模块及层级进行拆分,从而降低整个系统架构的耦合性问题
1.2.2 传统项目存在的问题
总结: 传统项目将所有的模块都写到一起,如果其中一个模块出现了问题,则可能导致所有的服务不可用,.用户的体验较差,并且架构设计耦合性高.
1.2.2 分布式系统介绍
1.2.3 分布式项目拆分
核心:无论将来项目怎么拆分,都是同一个系统,
口诀:对外统一,对内互相独立
1.2.3.1 按照模块拆分
由于单体架构耦合性太高,所以采用了分布式思想,将项目按照模块进行拆分,使得各个模块之间互相不影响,提高了整体的扩展性
1.2.3.2 按照层级拆分
说明:由于某些项目功能实现起来比较复杂,需要多人协同合作,则需要将项目按照层级再次拆分
1.2.4 分布式系统引发的问题
1、分布式系统jar包文件如何统一管理?
2、分布式系统中工具API如何统一管理?
2 京淘项目后台搭建
2.1 创建父级工程jt
打包方式:jar、war、pom pom表示:该项目是一个聚合工程,里边包含了很多的小项目,并且该项目可以统一管理
2.1.1 新建项目
2.1.2 编辑POM.xml文件
jt2007
4.0.0
com.jt
jt2007
1.0-SNAPSHOT
jt-common
jt-manage
pom
org.springframework.boot
spring-boot-starter-parent
2.3.4.RELEASE
1.8
true
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
runtime
true
mysql
mysql-connector-java
runtime
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
com.baomidou
mybatis-plus-boot-starter
3.2.0
javax.servlet
javax.servlet-api
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
org.apache.httpcomponents
httpclient
org.springframework.boot
spring-boot-starter-aop
redis.clients
jedis
org.springframework.data
spring-data-redis
2.2 编辑工具API jt-common
打包类型:jar
2.2.1 创建项目
2.2.2检查是否有父子级关系
2.2.3 导入课前资料
2.3 创建jt-manage项目
打包方式:war包
注意IDEA的工作目录的配置
2.3.1 创建项目
2.3.2 创建pom.xml
jt-manage
4.0.0
jt-manage
war
jt2007
com.jt
1.0-SNAPSHOT
com.jt
jt-common
1.0-SNAPSHOT
org.springframework.boot
spring-boot-maven-plugin
2.3.3 修改启动项
2.4 关于SpringBoot默认页面访问说明
说明:SpringBoot项目中如果用户采用缺省访问时,则SpringBoot会采用模板工具API进行页面跳转,如果使用模板工具API则会动态的拼接视图解析器的前缀和后缀
eg:
前缀: /WEB-INF/views/
后缀: .jsp
默认系统欢迎页面的全路径: /WEB-INF/views/index.jsp
3 京淘项目后台页面管理系统
3.1 京淘后端页面布局说明
3.2 树形结构
-
商品管理
- 商品查询
- 商品新增
-
今日价格
- 猪肉: 10块/斤
- 牛肉: 30块/斤
- 羊肉: 24块/斤
4 京淘后台实现
4.1 通用页面跳转实现
/*
需求:实现通用页面跳转
url:/page/item-add 页面:item-add.jsp
url:/page/item-list 页面:item-list.jsp
结论:url中的地址就是跳转的页面信息
restFul风格实现一:
作用:可以动态的接收url中的参数
语法:
1、url中的地址如果是参数,则需要使用/分割
2、controller方法接收参数时,需要使用{}号方式获取
3、如果需要获取参数信息,则使用特定的注解标识
restFul风格实现二:需要指定访问的请求类型,并且根据特定的类型执行业务
请求类型:
1、get 执行查询操作
2、post 执行入库操作
3、put 执行更新操作
4、delete 执行删除操作
*///@RequestMapping(value = "/page/{moduleName}",method = RequestMethod.GET)
@GetMapping("/page/{moduleName}")
public String module(@PathVariable String moduleName){
return moduleName;
}
4.2 UI框架-表格数据展现说明
核心:JS中需要什么数据,则后端程序员就封装什么数据
4.2.0 常见缩写介绍
1、POJO与数据库映射的实体类对象
2、VO:数据展现层的对象 主要与页面JS进行数据交互的媒介
4.2.1 EasyUI表格定义
定义表格,并且通过url访问json数据, fitColumns:true表示自动适应,singleSelect:true 表示选中单个
Code
Name
Price
4.2.2 表格数据返回格式说明
{
"total":2000,
"rows":[
{"code":"A","name":"果汁","price":"20"},
{"code":"B","name":"汉堡","price":"30"},
{"code":"C","name":"鸡柳","price":"40"},
{"code":"D","name":"可乐","price":"50"},
{"code":"E","name":"薯条","price":"10"},
{"code":"F","name":"麦旋风","price":"20"},
{"code":"G","name":"套餐","price":"100"}
]
}
4.2.3 根据返回值 定义VO对象
4.3 JSON结构说明
4.3.1 什么是JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
4.3.2 JSON格式之对象格式
对象(object) 是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
eg: {"id":"100","name":"tomcat"}
4.3.3 JSON格式之数组格式
数组(array) 是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
eq:["1","玩","学习"]
4.3.3 JSON格式之嵌套格式
值(value) 可以是双引号括起来的字符串(string)、数值(number)、true
、false
、 null
、对象(object)或者数组(array)。这些结构可以嵌套。
例子:
["敲代码","打游戏",[1,2,3,4,5,6],{"id":"100","name":"tomcat","hobby":["吃东西","打游戏"]}]