![](https://img-blog.csdnimg.cn/20200111231436492.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java--学成在线
“学成在线”项目
阿Q咚咚咚
生活不易,唯有努力
展开
-
学成在线--26.课程图片管理(图片删除)
文章目录一. 需求分析二. API三. 服务端开发1. Dao2. Service3. Controller四. 前端开发1. API方法2. 页面1.before-remove钩子方法2.handleRemove钩子方法一. 需求分析课程图片上传成功后,可以重新上传,方法是先删除现有图片再上传新图片;注意:此删除只删除课程数据库的课程图片信息,不去删除文件数据库的文件信息及文件系统服务器上的文件;由于课程图片来源于该用户的文件数据库,所以此图片可能存在多个地方共用的情况,所以要删除文件系统中的文件原创 2020-06-17 20:17:11 · 250 阅读 · 0 评论 -
学成在线--25.课程图片管理(图片查询)
文章目录一. 需求分析二. API三. 服务端开发1. Dao2. Service3. Controller四. 前端开发1. API方法2. 页面一. 需求分析课程图片上传成功,再次进入课程上传页面应该显示出来已上传的图片。二. API在课程管理服务定义查询方法文件位置:xcEduService01\xc-service-api\src\main\java\com\xuecheng\api\course\CourseControllerApi.java@ApiOperation("获取课程基础原创 2020-06-17 12:55:45 · 226 阅读 · 0 评论 -
学成在线--24.课程图片管理(保存课程图片)
文章目录一. 需求分析二. 服务端开发1. API2. Dao3. Service4. Controller三. 前端开发1. API2. 页面1). 小标题2). 小标题一. 需求分析图片上传到文件系统后,其它子系统如果想使用图片可以引用图片的地址,课程管理模块使用图片的方式是将图片地址保存到课程数据库中。业务流程如下:1、上传图片到文件系统服务2、保存图片地址到课程管理服务,在课程管理服务创建保存课程与图片对应关系的表 course_pic。3、在course_pic保存图片成功后方可查询原创 2020-06-16 18:13:38 · 875 阅读 · 0 评论 -
学成在线--23.课程图片管理(上传图片)
文章目录一. 需求分析1). 需求分析2). 图片上传流程二. 创建文件系统服务工程1). 工程目录结构2). 项目依赖pom.xml3). 配置文件application.yml三. 后端开发1. 模型类1). 模型类2). Collection2. Api接口3. Dao4. Controller5. Service6. 测试四. 前端开发1. 需求2. 页面1). Template2). 数据模型3. 测试一. 需求分析1). 需求分析2). 图片上传流程二. 创建文件系统服务工程1). 工原创 2020-06-15 20:30:00 · 438 阅读 · 0 评论 -
学成在线--22.课程营销
文章目录一.需求分析二.数据模型三.服务端1.Api接口1)查询课程营销信息2)更新课程营销信息2.Dao3.Service4.Controller四.前端1.Api 方法2.编写 course_marketinfo.vue1)template2)数据对象3)保存方法4)在mounted钩子方法 中查询课程营销信息及数据字典信息一.需求分析课程营销信息包括课程价格、课程有效期等信息。二.数...原创 2020-04-08 23:52:44 · 372 阅读 · 0 评论 -
学成在线--21.课程信息修改
文章目录一.需求分析二.课程管理导航页面1.定义course_manage.vue为课程管理页面2.创建各个信息管理页面3.创建路由三.服务端1.Api接口1)根据课程ID查询课程信息2)修改课程信息2.Dao3.Service4.Controller四.前端1. 完成course_baseinfo.vue页面2.API方法3.course_baseinfo.vue中mounted钩子方法4.课程...原创 2020-04-07 15:53:42 · 790 阅读 · 0 评论 -
学成在线--20.新增课程(最后完善)
文章目录一.大标题二.大标题三.大标题四.大标题五.大标题1.小标题1)2)2.小标题1)2)一.大标题二.大标题三.大标题四.大标题五.大标题1.小标题1)2)2.小标题1)2)nameagegendermoneyrhio384robot$3,000haroo.3bird$430jedi?undefined$0...原创 2020-04-06 23:40:29 · 959 阅读 · 0 评论 -
学成在线--19.新增课程(数据字典)
文章目录一.介绍二.数据模型三.数据模型类四.字典查询API接口五.服务器端1.Dao2.Service3.Controller一.介绍在新增课程界面需要选择课程等级、课程状态等,这些信息统一采用数据字典管理的方式。本项目对一些业务的分类配置信息,比如:课程等级、课程状态、用户类型、用户状态等进行统一管理,通过在数据库创建数据字典表来维护这些分类信息。数据字典对系统的业务分类进行统一管理,...原创 2020-04-05 23:17:39 · 543 阅读 · 0 评论 -
学成在线--18.新增课程(课程分类查询)
文章目录一.大标题二.大标题三.大标题四.大标题五.大标题1.小标题1)2)2.小标题1)2)一.大标题二.大标题三.大标题四.大标题五.大标题1.小标题1)2)2.小标题1)2)nameagegendermoneyrhio384robot$3,000haroo.3bird$430jedi?undefined$0...原创 2020-04-05 22:37:12 · 1102 阅读 · 0 评论 -
学成在线--17.我的课程
文章目录一.需求分析二.API接口三.PageHelper1.PageHelper介绍2.添加依赖3.配置pageHelper四.Dao1.mapper 接口2.mapper.xml映射文件3.测试Dao五.Service六.Controller七.前端1.创建course_list.vue2.路由3.定义API方法4.前端视图course_list.vue详解1)API调用--在视图中调用fin...原创 2020-04-03 23:18:37 · 1553 阅读 · 0 评论 -
学成在线--16.添加课程计划
文章目录一.需求分析二.页面原型说明1.视图部分2.数据模型3.添加按钮4.定义表单提交方法和重置方法三.API接口四.后端1.Dao2.Service3.Controller4.测试五.前端1.Api调用1)定义 api方法2)调用 api2.测试一.需求分析用户操作流程:1、进入课程计划页面,点击“添加课程计划”2、打开添加课程计划页面,输入课程计划信息上级结点说明:不选择上级结...原创 2020-04-02 12:23:36 · 704 阅读 · 0 评论 -
学成在线--15.课程计划查询
文章目录一.需求分析二.页面原型1.tree组件介绍2.webstorm配置jsx三.API接口1.数据模型2.自定义模型类3.接口定义四.sql语句五.服务器端1.Dao1)Mapper接口2)Mapper映射文件2.Service3.Controller4.测试六.前端1.Api方法2.Api调用1)定义查询课程计划的方法,赋值给数据对象teachplanList2)在mounted钩子中查询...原创 2020-03-31 23:17:13 · 560 阅读 · 0 评论 -
学成在线--14.使用RabbitMQ完成页面发布
文章目录一.技术方案二.页面发布——消费方1.需求分析2.创建Cms Client工程1)创建maven工程2)配置文件3)启动类3.RabbitmqConfig配置类4.定义消息格式5.PageDao1)使用CmsPageRepository 查询页面信息2)使用CmsSiteRepository查询站点信息,主要获取站点物理路径6.PageService7.ConsumerPostPage三....原创 2020-03-26 22:03:46 · 488 阅读 · 0 评论 -
学成在线--13.RabbitMQ工作模式
文章目录一.Work queues二.Publish/subscribe1.工作模式2.代码1)生产者2)消费者3.测试4.思考三.Routing1.工作模式2.代码1)生产者2)消费者3.测试4.思考四.Topics1.工作模式2.代码1)生产者2)消费者3.测试4.思考五.Header模式1.生产者2.消费者六.RPCRabbitMQ有以下几种工作模式 :1、Work queues2、P...原创 2020-03-24 14:00:19 · 206 阅读 · 0 评论 -
学成在线--12.Spring整合RibbitMQ
文章目录一.搭建SpringBoot环境二.配置1.配置application.yml2.定义RabbitConfig类三.生产端四.消费端一.搭建SpringBoot环境我们选择基于Spring-Rabbit去操作RabbitMQ使用spring-boot-starter-amqp会自动添加spring-rabbit依赖,如下:<dependency> <groupI...原创 2020-03-23 23:24:47 · 103 阅读 · 0 评论 -
学成在线--11.RabbitMQ快速入门
文章目录一.RabbitMQ简介二.相关知识1.AMQP2.JMS是什么 ?三.RabbitMQ的工作原理四.Hello World1.创建Maven工程2.生产者3.消费者五.总结一.RabbitMQ简介MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列...原创 2020-03-21 23:29:57 · 383 阅读 · 0 评论 -
学成在线--10.页面预览
文章目录一.需求分析二. 搭建环境1.在cms服务中集成freemarker:2.在application.yml配置freemarker三.Service四.Controller五.页面预览测试-- 配置Nginx代理六.页面预览测试-- 添加“页面预览”链接一.需求分析页面在发布前增加页面预览的步骤,方便用户检查页面内容是否正确。页面预览的流程如下:1)用户进入cms前端,点击“页面预...原创 2020-03-18 22:33:51 · 418 阅读 · 1 评论 -
学成在线--9.页面静态化
文章目录一.页面静态化流程二.数据模型1.轮播图DataUrl接口1)需求分析2)3)4)5)6)2.远程请求接口1)2)三.模板管理1.模板管理业务流程1)2)2.模板制作1)2)3.GridFS研究1)2)4.模板存储1)2)四.静态化测试1.填写页面DataUrl1)2)2.静态化程序1)2)一.页面静态化流程页面静态化需要准备数据模型和模板,先知道数据模型的结构才可以编写模板,因为在模...原创 2020-03-16 23:27:28 · 323 阅读 · 0 评论 -
学成在线--8.Freemarker入门教程
文章目录1.FreeMarker介绍1)常用的java模板引擎还有哪些?2)freemarker是一个用Java开发的模板引擎3)模板+数据模型=输出2.FreeMarker快速入门1)创建测试工程2)配置文件3)创建模型类4)创建模板5)创建controller6)创建启动类7)测试1.FreeMarker介绍1)常用的java模板引擎还有哪些?答:Jsp、Freemarker、Thyme...原创 2020-03-13 23:06:37 · 359 阅读 · 0 评论 -
学成在线--7.CMS页面管理开发(异常处理)
文章目录1.异常处理的问题分析2.异常处理流程3.可预知异常处理1.自定义异常类2.异常抛出类3.异常捕获类4.异常处理测试1)定义错误代码2)异常处理测试4.不可预知异常处理1.定义异常捕获方法1)异常抛出测试2)异常捕获方法2. 异常处理测试1)2)1.异常处理的问题分析从添加页面的service方法中找问题:文件位置:com/ xuecheng/ manage_cms/ service...原创 2020-03-12 23:58:11 · 825 阅读 · 0 评论 -
学成在线--6.CMS页面管理开发(删除页面)
文章目录0.删除用户逻辑1.删除页面接口定义2.后端开发--Dao3.后端开发--Service4.后端开发--controller5.前端开发--page_list.vue添加删除按钮6.前端开发--page_list.vue编写删除事件7.后端开发--Api方法定义Api方法0.删除用户逻辑1)前端逻辑(1)用户在页面列表中,点击“删除”按钮;(2)点击后,触发删除事件,然后调用src...原创 2020-03-11 22:45:51 · 132 阅读 · 0 评论 -
学成在线--5.CMS页面管理开发(修改页面)
文章目录1.修改页面流程1)前端逻辑:2)后端逻辑:2.修改页面接口定义3.后端开发--Dao4.后端开发--Service1)2)3)5.后端开发--Controller6.前端开发--页面处理流程7.前端开发--编写page_edit.vue8.前端开发--配置路由9.前端开发--在page_list.vue中添加“编辑”链接10.前端开发--进入修改页面立即显示要修改的页面信息1)定义api...原创 2020-03-09 17:16:34 · 367 阅读 · 0 评论 -
学成在线--4.CMS页面管理开发(新增页面)
文章目录1.定义新增页面接口1)在model工程中定义响应模型2)在api工程中添加接口2.新增页面服务端开发1)Dao2)Service3)Controller3.新增页面前端开发1)创建page_add.vue2)配置路由3)在page_list.vue中添加“添加页面”的按钮4)page_add.vue中添加数据对象5)站点及模板数据(先使用静态数据)6)page_add.vue中添加“返回...原创 2020-03-08 23:43:53 · 308 阅读 · 1 评论 -
学成在线--3.CMS页面管理开发(自定义条件查询)
文章目录0.需求分析1.服务端--Dao2.服务端--Service3.服务端--Controller4.前端1)page_list.vue中增加查询表单2)page_list.vue中添加数据模型对象3)在钩子方法中构建siteList站点列5.Api调用1)修改 cms.js,向服务端传递查询条件2)page_list.vue中页面调用api中的方法0.需求分析在页面输入查询条件,查询符合...原创 2020-03-06 22:52:40 · 264 阅读 · 0 评论 -
学成在线--2.CMS前端页面查询开发
文章目录0.思路总结1.创建CMS模块的目录架构2.创建页面并配置路由1)在page目录新建page_list.vue,扩展名为.vue。2)在cms的router下配置路由。3)在base目录下的router导入cms模块的路由3.使用Table组件完善页面内容4.Api调用服务器端查询接口获取数据1)在cms模块的api目录定义cms.js。2)在前端页面page_list.vue中导入cms...原创 2020-03-05 23:09:54 · 406 阅读 · 0 评论 -
学成在线--1.CMS接口开发
文章目录0.定义CMS1.CMS页面管理2.需求分析3.模型类介绍4.定义请求及响应类型5.定义接口6.创建CMS工程结构7.Dao8.Service9.Controller10.接口开发规范0.定义CMS1)CMS是什么 ?CMS (Content Management System)即内容管理系统,不同的项目对CMS的定位不同,比如:一个在线教育网站,有些公司认为CMS系统是对所有的课...原创 2020-02-27 23:46:26 · 615 阅读 · 0 评论 -
Lombok的使用方法
文章目录0.Lombok简介1.在项目中添加Lombok的依赖2.在IDEA开发工具中添加Lombok插件0.Lombok简介Lombok是一个实用的java工具,使用它可以消除java代码的臃肿,Lombok提供一系列的注解,使用这些注解可以不用定义getter/setter、equals、构造方法等,它会在编译时在字节码文件自动生成这些通用的方法,简化开发人员的工作。比如@Data注...原创 2020-02-27 22:24:56 · 89 阅读 · 0 评论 -
学成在线--0.项目概述
文章目录0.前言1.功能架构2.技术架构3.技术栈4.开发步骤0.前言当前市场的在线教育模式多种多样,包括:B2C、C2C、B2B2C等业务模式,学成在线采用B2B2C业务模式,即向企业或个人提供在线教育平台提供教学服务,老师和学生通过平台完成整个教学和学习的过程,市场上类似的平台有:网易云课堂、腾讯课堂等,学成在线的特点是IT职业课程在线教学。1.功能架构学成在线包括门户、学习中心、...原创 2020-02-27 22:01:25 · 969 阅读 · 0 评论 -
Windows中安装MongoDB以及studio3t
文章目录1.安装MongoDB2.配置并启动MongoDB3.使用studio3t连接mongodb1.安装MongoDB运行 mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi2.配置并启动MongoDB创建几个文件夹具体如下:1)数据库路径(data目录)2)日志路径(logs目录)和日志文件(mongo.lo...原创 2020-01-11 23:51:00 · 249 阅读 · 0 评论