spring cloud+vue在线视频网站 1.搭建网页基本框架

news/2024/5/9 18:07:55/文章来源:https://blog.csdn.net/Mosiclone/article/details/108661444

文章目录

  • 1 使用 Eureka 搭建注册中心
    • 1.1 生成 Spring boot 项目
    • 1.2 导入 eureka 包
    • 1.3 添加启动文件及配置文件
    • 1.4 修改项目为 Maven 父子结构
  • 2. 搭建业务模块 system
    • 2.1 添加 system 模块的基础文件
    • 2.2 测试 system 模块功能
  • 3.搭建路由模块
    • 3.1 添加 gateway 模块基础文件
    • 3.2 添加路由功能
    • 3.3 添加路由拦截功能

1 使用 Eureka 搭建注册中心

Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。 所有的服务使用 Eureka 的服务发现客户端来将自己注册到 Eureka 的服务器上。之后的 system 模块和 gateway 模块都会在这里注册。

1.1 生成 Spring boot 项目

首先在 spring initializr 中生成一个 Spring boot 项目,下载后导入 IDEA 。(其中 Spring boot 版本号等可自行设置)

在这里插入图片描述
这时可以运行 CourseApplication ,但是会报错 cannot execute request on any known server

1.2 导入 eureka 包

新建一个叫 eureka 的 Maven 模块,修改其中的 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>course</artifactId><groupId>com.course</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>eureka</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies></project>

1.3 添加启动文件及配置文件

在 java 包中添加 com.course 包,并添加EurekaApplication.java 文件,代码如下。

package com.course;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
import org.springframework.core.env.Environment;@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {private static final Logger LOG = LoggerFactory.getLogger(EurekaApplication.class);//	public static void main(String[] args) {
//		SpringApplication.run(EurekaApplication.class, args);
//	}public static void main(String[] args){SpringApplication app = new SpringApplication(EurekaApplication.class);Environment env = app.run(args).getEnvironment();LOG.info("启动成功!");LOG.info("Eureka地址:\t http://127.0.0.1:{}",env.getProperty("server.port"));}}

在 resources文件夹中添加 application.properties 文件,代码如下。

spring.application.name=eureka
server.port=8761eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false

这时运行 EurekaApplication.java 文件可以在 http://127.0.0.1:8761/ 中看到下图。在这里插入图片描述

1.4 修改项目为 Maven 父子结构

这时就可以把 course 中的 src 文件夹给删掉了,此时整个项目就是一个 Maven 的父子模块结构,其中父模块只有一个 pom.xml 文件,子模块都是正常的 Maven 项目。

2. 搭建业务模块 system

系统的业务管理和系统管理都会放在system模块。

2.1 添加 system 模块的基础文件

在 course 中添加叫 system 的 Maven 项目,java 包中新建 com.course 包和 SystemApplication.java 文件,其中SystemApplication.java 文件代码如下。

package com.course.system;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.core.env.Environment;@SpringBootApplication
@EnableEurekaClient
public class SystemApplication {private static final Logger LOG = LoggerFactory.getLogger(SystemApplication.class);//	public static void main(String[] args) {
//		SpringApplication.run(EurekaApplication.class, args);
//	}public static void main(String[] args){SpringApplication app = new SpringApplication(SystemApplication.class);Environment env = app.run(args).getEnvironment();LOG.info("启动成功!");LOG.info("System地址:\t http://127.0.0.1:{}",env.getProperty("server.port"));}}

在 resources 包新建 application.properties 文件,代码如下。

spring.application.name=system
server.port=9001
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

2.2 测试 system 模块功能

为了测试业务模块的功能,在 com.course 包下新建 controller 包,在包中新建 test.java 文件,代码如下。

package com.course.system.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class test {@RequestMapping("/test")public String test(){return "success";}
}

此时,eureka 中可以看到 system ,访问http://127.0.0.1:9001/test 可以看到 success。
在这里插入图片描述

3.搭建路由模块

系统的路由模块使用 Spring Cloud Gateway ,作为 Spring Cloud 生态系统中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/指标,和限流。

3.1 添加 gateway 模块基础文件

同上新建 gateway 模块、com.course包、GatewayApplication.java等文件。
其中 pom.xml 文件代码如下。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>course</artifactId><groupId>com.course</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>gateway</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency></dependencies></project>

3.2 添加路由功能

GatewayApplication.java 和 SystemApplication.java 类似,只需重构rename。application.properties 文件代码如下。

spring.application.name=gateway
server.port=9000eureka.client.service-url.defaultZone=http://localhost:8761/eureka/#路由转发
#id 需要转发的业务模块
#uri 需要转发的业务模块地址
#predicates[0].name 基于路径转发
#predicates[0].args[0] 路径要求
spring.cloud.gateway.routes[0].id=system
spring.cloud.gateway.routes[0].uri=http://127.0.0.1:9001
spring.cloud.gateway.routes[0].predicates[0].name=Path
spring.cloud.gateway.routes[0].predicates[0].args[0]=/system/**

其中,从 RouteDefinition 可以看到 predicates 是 PredicateDefinition 类的一个集合,name 和 args 分别是方法和路径。

在这里插入图片描述
在这里插入图片描述
此时,需要访问地址为 http://127.0.0.1:9001/system/test,同时 http://127.0.0.1:9000/system/test 也可以访问这个网页,后面可以加上拦截器,阻止直接访问9001等服务端口,只需暴露一个9000的路由端口即可访问所有的页面。

3.3 添加路由拦截功能

可以在 system 模块的 application.properties 添加server.servlet.context-path=/system,这样只有端口后是 /system 才能访问 system 的页面。

这样就把项目的基本框架搭建好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_894733.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring cloud+vue在线视频网站 2.整合mybatis并将system模块公共组件分离

文章目录 1 system 模块集成 Mybatis1.1 建立数据库1.2 导入mybatis 包1.3 增加数据库连接1.4 测试 Mybatis 集成情况 2 测试 Mybatis 集成情况2.1 java文件2.2 Mybatis xml文件 3 搭建服务模块 Server3.1 新建 server 模块3.2 system 集成 server 模块3.3 集中部署 4 集成 myb…

spring cloud+vue在线视频网站 3.vue搭建管理页面

文章目录 1 使用 vue 创建 admin 项目2 集成 bootstrap 后台管理模板 ace3 集成路由 vue-route4 后台管理页面开发 1 使用 vue 创建 admin 项目 使用 vue 创建前端项目网上有很多教程&#xff0c;这里简单说一下。 首先需要有 npm 和 node&#xff0c;先下载这两个工具。brew …

spring cloud+vue在线视频网站 4.单表查询功能前后端开发

1 大章列表查询后端模块 这里首先新建一个 Maven 模块&#xff0c;取名 busines 。这个模块的具体功能是实现大章列表的查询&#xff0c;在模块中会有启动类和 controller 层&#xff0c;controller 层是前端调用后端的接口&#xff0c;controller 层通过 server 模块中的 ser…

spring cloud+vue在线视频网站 5.分页功能+增加章节

1 分页功能开发 首先集成分页功能需要先在 Maven 中添加 pagehelper 依赖&#xff0c;然后在 ChapterService 中添加 pagehelper 的设置&#xff0c;接着试一下分页功能是否生效。后面添加分页功能的具体细节&#xff0c;第一修改成后端接收分页要求&#xff0c;第二修改前端分…

spring cloud+vue在线视频网站 6.章节编辑删除功能、前端优化和校验模块

这一节增加了大章的编辑和删除功能&#xff0c;这样大章的增删改查功能就都有了&#xff0c;但是在增加和修改时应该还要有校验功能。 编辑功能 这一节主要对大章模块增加编辑功能&#xff0c;其次还删除一些多余组件。首先&#xff0c;我们将多余对按钮进行了删除&#xff0…

spring cloud+vue在线视频网站 7.代码生成模块 part 1

这一章主要是完成代码生成的模块&#xff0c;用到的工具是 freemaker &#xff0c;在完成代码生成模块的同时会完成小节部分的代码。 freemaker 的基本用法 一般来说一个 freemaker 的模版基本会包括下面四部分。 文本:直接输出的部分 注释:<#–2333–>格式部分,不会输…

网站检测方式个人总结

这几天看架构看的头晕&#xff0c;觉得有点看不下去了 换个心情&#xff0c;等状态调整过来再继续看 趁这个时间休息一些&#xff0c;也正好把之前学过的知识做一个总结。 首先表明立场 这只是一个总结 并不是教大家什么 我的水平没有那么高 这是一个提醒自己的备忘 但是如果有…

用了2周时间,终于把Python网站开发库大全整理完了

用了 2 周的时间整理了 Python 中所有的网站开发库&#xff08;下文简称&#xff1a;Web 框架&#xff09;&#xff0c;供大家学习参考。 相关文件 小伙伴们可以关注小编的Python源码、问题解答&学习交流群&#xff1a;733089476 有很多的资源可以白嫖的哈&#xff0c;需…

今天给大家介绍一下~我学习 Python 的 三个神级网站

今天来给大家介绍三个我在学习 Python 路上帮助比较大的堪称神级的网站&#xff0c;尤其是对于刚刚入门的同学来说&#xff0c;绝对不容错过~ 相关文件 小伙伴们可以关注小编的Python源码、问题解答&学习交流群&#xff1a;733089476 有很多的资源可以白嫖的哈&#xff0…

WEB网站加速CND加速工作原理

转自&#xff1a;https://blog.csdn.net/5hongbing/article/details/78025349 通过传统的未加缓存服务的访问过程与加缓存服务的访问过程对比&#xff0c;了解CDN缓存访问方式与未加缓存访问方式的差别。 1.传统访问过程(未加速缓存服务) 访问未使用CDN缓存后的网站的过程&…

逛Github网站显示中文教程

打开Github对于看不懂英文的孩子来说刚打开官网就尬住了&#xff0c;后来逛了很多网站才发现一个方法可以将网站的部分内容转换为中文&#xff0c;虽然说是部分的&#xff0c;但是也够用了差不多。下面放教程。 1.找到自己浏览器安装扩展插件的地方&#xff0c;我测试的360浏览…

三日娱乐活动之——建立自己的网站

目录 云服务器搭建SSH登陆LNMP环境的搭建Nginx的设置小节总结 网页的编写CSS的调用php文件上传小节总结 云服务器搭建 我用的是阿里云的学生机&#xff0c;自己娱乐娱乐够用了&#xff0c;稍微懂点Linux的知识&#xff0c;选择Centos7的系统就可以耍了。 SSH登陆 我直接用密…

Vs2010创建网站

1.打开VS2010&#xff0c;新建——网站——ASP.Net空网站。 2.创建网站后你会发现你的项目并没有.sln结尾的文件&#xff0c;像这样。 事实上项目的.sln文件保存到了C:\Users\zjs\Documents\Visual Studio 2010\Projects 我一般会把这个.sln文件拷贝到项目所对应的文件夹目录。…

公安内网部署网站出现500.19-Internal Server Error

今天去桂林叠彩分局&#xff0c;帮他们部署一个内网平台的网站。去了机房&#xff0c;windowserver2012系统已装好。我本想我的工作会很快弄完。无非就是在这个系统上安装一个oracle数据库&#xff0c;然后在iis部署一个网站&#xff0c;网站能呈现数据就ok了。Oracle数据库安装…

我的网站收入

建站有好几个月了&#xff0c;但申请google adsense和阿里妈妈并且成功通过却是上个月的事情。到目前为止&#xff0c;google adsense帐户的估算总收入为1.79美元&#xff0c;阿里妈妈的收入为2.52元&#xff0c;看到这里&#xff0c;或者很多读者都会嗤之以鼻&#xff0c;甚至…

没有网站也能网赚

如果你能持之以恒&#xff0c;而且文档质量高的话&#xff0c;那么月入过万也不是没有可能的。 2009年5月&#xff0c;我在建站的过程中为了找点资料&#xff0c;通过搜索引擎搜索到了豆丁&#xff0c;还记得当时是为了搜索关于google map的资料&#xff0c;很多地方都没有找到…

前端常见SEO注意事项

前端开发工程师不仅需要要跟视觉设计师、交互式设计师配合&#xff0c;完美还原设计图稿&#xff0c;编写兼容各大浏览器、加载速度快、用户体验好的页面。现在还需要跟SEO人员配合&#xff0c;调整页面的代码结构和标签。 一些成熟的平台&#xff0c;在开发初期并没有考虑优化…

精通Web Analytics 2.0 (3) 第一章:网站分析的新奇世界

精通Web Analytics 2.0 &#xff08;3&#xff09; 第一章&#xff1a;网站分析的新奇世界 精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第一章&#xff1a;Web Analytics 2.0的新奇世界 多年以来&#xff0c;我们很清楚的知道&#xff0c;网站分析能够真正的改革网络…

精通Web Analytics 2.0 (12) 第十章:针对潜在的网站分析陷阱的最佳解决方案

精通Web Analytics 2.0 &#xff08;12&#xff09; 第十章&#xff1a;针对潜在的网站分析陷阱的最佳解决方案 精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十章&#xff1a;针对潜在的网站分析陷阱的最佳解决方案 是时候去处理网站分析中最棘手的一些问题了&…

学习Python一定要知道的八个网站,看看你知道几个

导语 最近很多人问我有没有可以跟着学习的网站&#xff0c;一个人学没方向&#xff0c;老是不知道该怎么学习&#xff0c;我今天就把自己知道的几个网站分享给大家&#xff0c;那些问我的小伙伴可以根据这个去找自己喜欢的网站哦! python是一个编程语言&#xff0c;相比其他的…