当前位置 博文首页 > 文章内容

    java学习day04---动吧旅游生态系统(1)

    作者: 栏目:未分类 时间:2020-07-17 9:00:58

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    1.原型分析

    基于用户需求,进行原型设计(基于html+css+js进行静态页面实现)。例如系统登录页面:

     

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

     

     

     菜单展示页面

    2.技术架构

    本项目应用层基于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.1API应用架构:

    整体应用架构

     

     

    3.技术整合

    3.1 环境准备

    数据库初始化

    启动MySQL客户端并登陆,然后执行
    1)set names utf8;
    2)source d:/jtsys.sql

    说明:假如在mysql客户端查询表中数据,可以先执行set names gbk,否则可能会出现乱码。

    IDE配置初始化(STS)

    统一工作区编码(UTF-8)
    统一JDK版本(JDK1.8)
    统一MAVEN配置(3.6.3)

    3.2 创建项目

    项目名称:CGB-DB-SYS-V3.01
    组ID: com.cy
    打包方式:jar

    添加项目依赖:

     

     

     修改配置文件:

    在application.properties文件中添加如下配置(server,datasource,mybatis,mvc)

    server.port=80
    
    spring.datasource.url=jdbc:mysql:///dbsys?serverTimezone=GMT%2B8&characterEncoding=utf8
    spring.datasource.username=root
    spring.datasource.password=root
    
    mybatis.mapper-locations=classpath:/mapper/*/*.xml
    
    spring.thymeleaf.prefix=classpath:/templates/pages/
    spring.thymeleaf.suffix=.html
    spring.thymeleaf.cache=false
    
    logging.level.com.cy=debug
    
    management.endpoints.web.exposure.include=*

    3.3首页初始化:

    定义页面初始资源:

    1.将js、css、images相关资源拷贝到项目static目录

    2.将pages页面拷贝到项目的templates目录

     

    创建页面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";
        }
    }

    页面访问流程分析,如下图所示:

     

     4.总结

    4.1 重点难点分析

    项目需求调研,分析,原型设计,评审?

    项目整体应用分层架构及API设计架构?

    项目初始化环境配置(数据库,IDE,MAVEN)及运行?

    4.2 FAQ分析

    项目是如何进行分层设计的?(MVC)。

    项目页面是如何设计的? (BootStrap,AdminLTE-网址(adminlte.io))。

    客户端向服务端发起一个请求,服务端请求处理的一个过程是怎样的?