动吧旅游生态系统
1 项目简介
1.1 概述
动吧旅游生态系统,应市场高端用户需求,公司决定开发这样的一套旅游系统,此系统包含旅游电商系统(广告子系统,推荐子系统,评价子系统,商品子系统,订单子系统,…),旅游分销系统(分销商的管理),旅游业务系统(产品研发,计调服务,系统权限管理子系统,…),,。。。
1.2 原型分析
基于用户需求,进行原型设计(基于html+css+js进行静态页面实现)。例如系统登录页面:

系统登录成功页面(例如starter.html)

菜单展示页面

说明:原型设计好以后,会与客户进行确认,确认好以后进行签字,然后就是设计和实现.

2 技术架构
2.1 项目分层架构
本项目应用层基于MVC设计思想,进行分层架构设计,其核心目的是将复杂问题简单化,实现各司其职,各尽所能.然后基于“高内聚,低耦合”的设计思想,再实现各对象之间协同,从而提高系统的可维护性,可扩展性。

其中:
1.开放接口层:可直接封装 Service 方法暴露成 RPC (远程过程调用)接口;也可通过 Web 封装成 http 接口;同时也可进行网关安全控制、流量控制等。
2.终端显示层:负责各个端的模板渲染并显示。当前主要是 thymeleaf 渲染,JS 渲染,移动端展示等。
3.Web请求处理层:主要是对访问控制进行转发,请求参数校验,响应结果处理等
4.Service 层:相对具体的业务逻辑服务层(核心业务,扩展业务)。
5.Manager 层:通用业务处理层,它有如下特征:
1) 对第三方平台封装的层,预处理返回结果及转化异常信息;
2) 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;
3) 与 DAO 层交互,对多个 DAO 的组合复用。
6.DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
7.外部接口或第三方平台:包括其它部门RPC开放接口,基础平台,其它公司的 HTTP 接口
说明:对如上分层中涉及到知识的点,逐步加强。

总之:分层的目的就是将复杂问题进行拆解,然后分而治,进而提高系统的可扩展性以及可维护性。
2.2 API应用架构
整体API应用架构:

3 技术整合
3.1 环境准备
3.1.1 数据库初始化
启动MySQL客户端并登陆,然后执行
set names utf8;
source d:/jtsys.sql

说明:假如在mysql客户端查询表中数据,可以先执行set names gbk,否则可能会出现乱码。还有一点要记住,在拿到任何一个sql脚本文件时,不要上来就执行它,要先打开看一看,检查是否有删除库或删除表的语句,这些语句是否会对你当前数据库中的库和表有影响 ,假如有一定要经过leader审批,才能执行删除等操作.
3.1.2 IDE配置初始化(STS)
统一工作区编码(UTF-8)
统一JDK版本(JDK1.8)
统一MAVEN配置(3.6.3)
3.2 创建项目
项目名称:CGB-DB-SYS-V3.01
组ID: com.cy
打包方式:jar

3.2.1 添加项目依赖

3.2.1 修改配置文件
在application.yml文件中添加如下配置(server,datasource,mybatis,mvc)
#server
server:
port: 80
servlet:
context-path: /

#spring
spring:
datasource:
url: jdbc:mysql:///dbsys?serverTimezone=GMT%2B8&characterEncoding=utf8
username: root
password: root
thymeleaf:
prefix: classpath:/templates/pages/
suffix: .html

#mybatis
mybatis:
configuration:
default-statement-timeout: 30
map-underscore-to-camel-case: true
mapper-locations:

  • classpath:/mapper//.xml

#lOG
logging:
level:
com.cy: DEBUG

3.3 首页初始化
3.3.1 定义页面初始资源
将js、css、images相关资源拷贝到项目static目录
将pages页面拷贝到项目的templates目录
3.3.2 创建页面Controller
创建呈现首页页面的controller对象。
package com.cy.pj.sys.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping("/")
@Controller
public class PageController {
@RequestMapping(“doIndexUI”)
public String doIndexUI(){
return “starter”;
}
}
说明:此controller会作为项目中所有页面访问的入口。
3.3.3 启动项目进行测试
启动tomcat,在地址栏输入http://localhost/doIndexUI(地址中的端口号要参考自己tomcat启动端口)地址进行访问,假如没有问题会呈现如下页面:

页面访问流程分析,如下图所示(了解):

4 总结
4.1 重点难点分析
项目需求调研,分析,原型设计,评审?
项目整体应用分层架构及API设计架构?
项目初始化环境配置(数据库,IDE,MAVEN)及运行?
4.2 FAQ分析
项目是如何进行分层设计的?(MVC)。
项目页面是如何设计的? (BootStrap,AdminLTE-网址(adminlte.io))。
客户端向服务端发起一个请求,服务端请求处理的一个过程是怎样的?
4.3 BUG分析
请求资源不存在,如下图所示:

问题分析:
检查url是否正确(是否有对应的映射)
检查controller的包是否正确以及是否有对应的注解(例如@Controller)进行描述

响应资源解析异常,如下图所示:

问题分析:
假如start是模板,检查响应页面是否存在.
检查配置文件中视图的前缀、后缀是否正确
假如start不是html模板,检查对应的Controller方法上是否有@ReponseBody注解

03-CGB-DB-INIT-V1.01相关推荐

  1. 运用Python+Pygame开发坦克大战游戏_版本V1.01

    这里写目录标题 一.项目整体说明 二.pygame下载方式 三.项目文件 1.坦克大战_框架_1.py 2.坦克大战_开始游戏_窗口设置_2.py 3.坦克大战_事件检测_3.py 4.坦克大战_基本 ...

  2. 一对一培训之视频免费分享-2018-01-21-第 03 阶段-准备-基础-架构-01

    一对一培训之视频免费分享-2018-01-21-第 03 阶段-准备-基础-架构-01 链接:https://pan.baidu.com/s/1g0qfbdTyAik_76oE6eLt9Q 密码:w5 ...

  3. [C] zintrin.h: 智能引入intrinsic函数 V1.01版。改进对Mac OS X的支持,增加INTRIN_WORDSIZE宏...

    新版本-- http://www.cnblogs.com/zyl910/archive/2012/11/07/zintrin_v102.html [C] zintrin.h: 智能引入intrinsi ...

  4. 基于 LiteSpeed 的一站式 PHP 网站解决方案 LLStack V1.0-1 发布

    目前版本 V1.0-1 主要更新: 1. 改进增加了对AJP后端的 proxypass/proxypassmatch 支持 2. 改进增加了对 x-forwarded-for 头中的 ip:port ...

  5. 【转载】他是个残疾人 mynote V1.01发布

    今天的他是个残疾人的mynote,我懂得了,经过无数次月亮与太阳的mynote轮换,是个残疾人,头一直低着向前走,是一名成绩优秀的好孩子,一起游戏,他仍然快乐地和同学一起上学,她总是行色匆匆的myno ...

  6. [原创]CAN总线数据计算器V1.01

    CAN总线数据计算器V1.01 说明 在解析CAN总线上的数据时,很多时候牵涉到不同的数据类型.符号类型(有符号.无符号).Scaling和offset,需要用计算器反复计算,耗时费力,还容易算错. ...

  7. 天蝎项目整机柜服务器技术规格,天蝎项目整机柜服务器技术规范v1.01天蝎项目整机柜服务器技术规范v1.01.pdf...

    天蝎项目整机柜服务器技术规范v1.01天蝎项目整机柜服务器技术规范v1.01 天蝎项目整机柜服务器解决方案 整机柜服务器解决方案技术规范 Version 1.0 天蝎项目组 2012/4/6 天蝎项目 ...

  8. 天蝎项目整机柜服务器技术规范v1.01,天蝎项目整机柜服务器技术规范v1.01.pdf

    天蝎项目整机柜服务器技术规范v1.01.pdf 天蝎项目整机柜服务器解决方案 整机柜服务器解决方案技术规范 Version 1.0 天蝎项目组 2012/4/6 天蝎项目-整机柜服务器解决方案-技术规 ...

  9. 天蝎项目整机柜服务器技术规范v1.01,天蝎项目整机柜服务器技术规范v1.01.doc

    文档介绍: 天蝎项目整机柜服务器技术规范v1.01.doc天蝎项0整机柜服务器解决方案 整机柜服务器解决方案技术规范Version 1.0 天蝎项冃组 2012/4/6 天蝎项目-整机柜服务器解决方案 ...

  10. 天蝎项目整机柜服务器技术规范v1.01,天蝎项目整机柜服务器技术规范v1.01

    1.天蝎项目整机柜服务器解决方案 整机柜服务器 解决方案 技术 规范 Version 1.0 天蝎项目组 2012/4/6 天蝎项目 -整机柜服务器解决方案 -技术规范 version 1.0 2 / ...

最新文章

  1. 后BERT时代:15个预训练模型对比分析与关键点探索(附链接)
  2. 写给大数据开发初学者的话4
  3. 博图能打开s7200吗_域名掉备案了,还能打开吗?域名掉备案了怎么办?
  4. Java基础学习总结(186)—— GraalVM 是 Java 在云原生时代保持强大竞争力的大杀器吗
  5. DevExpress学习03——label控件的背景色问题
  6. java基础知识点整理一
  7. 【排错】exchange2013不能显示所有OU
  8. PLC控制系统设计的基本原则和主要内容
  9. 移动互联网浩荡十年 有的升腾,有的陨落
  10. Linux面试题史上最全总结
  11. c 语言rand()生成随机数
  12. 利用Meshlab旋转三维点云模型
  13. 周末加班,中午吃饭时看到了马总的一条新闻
  14. 时间紧、任务重、资源有限,项目经理如何来保证研发效率?
  15. 嵌入式开发—交叉编译OpenCV
  16. 集总参数电路抽象---线性电路叠加定理理解
  17. 我花了3天时间整理出这5款黑科技小程序,值得你们玩上一整天
  18. U3d引擎与资源管理
  19. 解决APP抓包问题【网络安全】
  20. 2022hit计算机系统大作业

热门文章

  1. MSDC 4.3 接口规范(24)
  2. DeepStream 快速入门
  3. 2020年常见的服务器都有哪些?都有什么优缺点?
  4. 壁纸|锁屏和桌面套图壁纸,一套的,给手机来个套餐
  5. 计算机桌面无法解锁,电脑win10系统锁屏后解锁却无法进入桌面的解决方法
  6. NLPCC2013中文微博细粒度情感识别(一)
  7. 面试官:Redis中哈希分布不均匀该怎么办
  8. [Usaco2010 Hol]cowpol 奶牛政坛
  9. Windows DFS
  10. PYTHON机器学习基础(初学机器学习者的福音)