JT-day04

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 传统项目存在的问题

总结: 传统项目将所有的模块都写到一起,如果其中一个模块出现了问题,则可能导致所有的服务不可用,.用户的体验较差,并且架构设计耦合性高.

JT-day04_第1张图片

1.2.2 分布式系统介绍

1.2.3 分布式项目拆分

核心:无论将来项目怎么拆分,都是同一个系统,
口诀:对外统一,对内互相独立

1.2.3.1 按照模块拆分
由于单体架构耦合性太高,所以采用了分布式思想,将项目按照模块进行拆分,使得各个模块之间互相不影响,提高了整体的扩展性

JT-day04_第2张图片

1.2.3.2 按照层级拆分
说明:由于某些项目功能实现起来比较复杂,需要多人协同合作,则需要将项目按照层级再次拆分

JT-day04_第3张图片

1.2.4 分布式系统引发的问题

1、分布式系统jar包文件如何统一管理?
2、分布式系统中工具API如何统一管理?

JT-day04_第4张图片

2 京淘项目后台搭建

2.1 创建父级工程jt

打包方式:jar、war、pom pom表示:该项目是一个聚合工程,里边包含了很多的小项目,并且该项目可以统一管理
JT-day04_第5张图片

2.1.1 新建项目

JT-day04_第6张图片

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 创建项目

JT-day04_第7张图片

2.2.2检查是否有父子级关系

JT-day04_第8张图片

2.2.3 导入课前资料

JT-day04_第9张图片

2.3 创建jt-manage项目

打包方式:war包
注意IDEA的工作目录的配置

2.3.1 创建项目

JT-day04_第10张图片

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 修改启动项

JT-day04_第11张图片

2.4 关于SpringBoot默认页面访问说明

说明:SpringBoot项目中如果用户采用缺省访问时,则SpringBoot会采用模板工具API进行页面跳转,如果使用模板工具API则会动态的拼接视图解析器的前缀和后缀
eg:
前缀: /WEB-INF/views/
后缀: .jsp
默认系统欢迎页面的全路径: /WEB-INF/views/index.jsp
JT-day04_第12张图片

3 京淘项目后台页面管理系统

3.1 京淘后端页面布局说明










   

JT-day04_第13张图片

3.2 树形结构

    
  • 商品管理
    • 商品查询
    • 商品新增
    • 今日价格
      • 猪肉: 10块/斤
      • 牛肉: 30块/斤
      • 羊肉: 24块/斤

JT-day04_第14张图片

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对象

JT-day04_第15张图片

4.3 JSON结构说明

4.3.1 什么是JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

4.3.2 JSON格式之对象格式

对象(object) 是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
JT-day04_第16张图片
eg: {"id":"100","name":"tomcat"}

4.3.3 JSON格式之数组格式

JT-day04_第17张图片

数组(array) 是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

eq:["1","玩","学习"]

4.3.3 JSON格式之嵌套格式

值(value) 可以是双引号括起来的字符串(string)、数值(number)、truefalsenull、对象(object)或者数组(array)。这些结构可以嵌套。
JT-day04_第18张图片

例子:
["敲代码","打游戏",[1,2,3,4,5,6],{"id":"100","name":"tomcat","hobby":["吃东西","打游戏"]}]

你可能感兴趣的:(java)