# 云计算作业Web展示部分 **Repository Path**: chuyukang/cloudcourse ## Basic Information - **Project Name**: 云计算作业Web展示部分 - **Description**: 云计算作业Web展示部分 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-27 - **Last Updated**: 2021-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xdu-cloudcourse-web [![Build Status](https://travis-ci.org/muxfe/xdu-cloudcourse-web.svg?branch=master)](https://travis-ci.org/muxfe/xdu-cloudcourse-web.svg?branch=master) 2017 西电云计算课程大作业Web端代码示例及简易文档教程。 # 部署运行此项目 简单概述部署运行此项目的环境和方法,以 - Window7-64位系统 - IntelliJ IDEA-2017.2 - JDK-1.8 - Maven-3.5.0 - SpringBoot-1.5.7 为例,其他版本/工具/类库请自行查找教程示例。 ## 准备环境 - 安装[JDK-1.8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),并[设置环境变量](http://jingyan.baidu.com/article/925f8cb836b26ac0dde0569e.html) - 安装IntelliJ IDEA - 下载此项目源码 - `git clone https://github.com/muxfe/xdu-cloudcourse-web.git` - [打包下载ZIP](https://github.com/muxfe/xdu-cloudcourse-web/archive/master.zip) ## 导入项目 使用IntelliJ IDEA导入此项目,导入时使用Maven作为构建工具,之后下一步到完成即可。导入后需要下载依赖包,先确保电脑联网状态。如未自动下载,可以点击右侧`Maven Project`的`Reimport`继续下载依赖包。 ## 配置SpringBoot 点击IDEA右上角的`Run/Debug Configuration`,添加`SpringBoot`,设置`Main class`为`edu.xidian.sselab.cloudcourse.CloudcourseApplication`,`Use classpath of modules`为`cloudcourse`,并修改最上方`Name`为`CloudcourseApplication`,最好点击`Ok`即可。 ## 配置Hbase节点 找到并打开`src/main/resources/application.properties`文件,修改其中的`hbase.nodes`右边的值,改为运行此项目当前环境中存在的hbase节点。 ## 运行项目 点击IDEA右上角绿色三角形符号,启动项目(也可以选择Debug模式启动)。看到控制台最终输出`Started CloudcourseApplication in 6.345 seconds (JVM running for 8.42)`类字样表示启动成功。可以在浏览器打开`http://localhost:8080`查看项目首页。 ## 热更新 配置项目自动编译选项可以不需要手动关闭重启项目,`File`->`Settings`->`Build,Execution,Deployment`->`Compiler`页,勾选右边的`Build project automatically`。 ## 使用项目 此项目实现了一个简单的过车统计功能,即从Hbase数据库查询出数据,并在页面上以表格方式呈现出来。启动成功项目后,访问`http://localhost:8080/record`即可浏览此功能,并添加了主键的搜索方式,默认不查询数据,点击查询按钮后才进行查询,可以输入查询条件(之间为且的关系)。 ## 开发项目 过车统计为作业基本完成功能,加分项还有轨迹重现和实时报警两个功能页的实现。其中轨迹重现需要用到百度地图,可以在`http://localhost:8080/bmap`看如何使用百度地图的一个简单示例。 ### Hint #### 轨迹重现 定义Restful数据接口,通过Ajax方式查询出数据,然后在页面上以百度地图API实现轨迹的呈现。 #### 实时报警 使用Redis等缓存数据库,不断检查插入信息是否为报警信息,当接收到报警信息后通知前端页面予以呈现。 此处通知前端有两种方式: - Http 长轮询(单工通信) - Websocket 双工通信 网页呈现部分可以用颜色较鲜艳的元素来表示报警信息。 ## **Q&A** ### 1 依赖下载失败 检查网络连接,并多次尝试`Maven Reimport`。 ### 2 项目启动失败 #### 2.1 8080端口被占用 修改`application.properties`中的`server.port`属性为其他未被占用的端口。 #### 2.2 未发现类定义或未找到XX方法等 缺少项目依赖包,参考第1条中的方法,尝试重新下载依赖。 #### 2.3 找不到主类(入口类) IDEA左上角菜单栏,`File`->`Project Structure`->`Modules`,手动设置`src/main/java`为`Sources`文件夹,`src/main/resources`为`Resources`文件夹。同理设置`Tests`和`Test Resources`。 #### 2.4 JDK不兼容 同样2.3一样在`Project Structure`->`Project`和`Modules`中分别设置此项目选用JDK和`Language Level`为`8`。 ### 3 配置文件缺少自动提示或`Event log`中显示未配置Facet `File`->`Project Structure`->`Facet`->`Spring`,点击右侧面板上的绿色加号,添加项目入口类即可(`CloudcourseApplication`)。 ### 4 @Data等Lombok库的注解无效,对象报错:没有setter或getter方法 #### 安装 [Lombok](https://projectlombok.org/) 插件 Lombok 是一个非常好用的 Java 库,如可以不用写非常麻烦的 Getter 和 Setter 方法,通过`File`->`Settings`->`Plugins`搜索`Lombok`插件并安装即可。 #### 启用注解处理器 `File`->`Settings`->`Build,Execution,Deployment`->`Compiler`->`Annotation Processors`页,勾选`Enable annotation processing`。 #### **其他未列错误或问题,请先自行尝试搜索引擎解决。** # 项目涉及的技术说明 ## [SpringBoot](https://projects.spring.io/spring-boot/) SpringBoot 是一个高度封装和自动化配置的框架,仅使用注解和少量代码就可以快速搭建一个Web程序。可以用[Spring Initializr](https://start.spring.io/)快速初始化一个项目,并自定义选用所需的依赖。 ### 文档和教程 - - ## [Thymeleaf](http://www.thymeleaf.org/) Thymeleaf 是一个模板解析引擎,类似JSP,由于JSP技术在SpringBoot以Jar包部署情况下并不适用,所以使用了近似的模板引擎来对网页文件进行服务端渲染。 ### 文档和教程 - - - - - ## [jQuery](https://jquery.com) jQuery 是运行于浏览器端的一个JavaScript库,主要用于操纵DOM和发起HTTP请求。 项目中已引入,可以直接用,版本4.0。 ### 文档和教程 - - - ## [Bootstrap](https://getbootstrap.com/docs/4.0/examples/) Bootstrap 是 Twitter 推出的一款前端设计框架,使用预定义的样式和事件快速构建还算好看的Web页面。 项目中已引入,可以直接用,版本4.0。 ### 文档和教程 - - - -