本文最后更新于 48 天前,其中的信息可能已经有所发展或是发生改变。 项目地址 功能简介-视频演示 ---- 功能概要 ---- 支持登录和注册功能。 支持密码找回和邮箱验证。 ---- 快速开始 ---- 环境搭建 ---- 首先 Star 并且 Fork 本项目到你的 repo (bushi) 环境依赖:jdk17、node.js16+、SpringBoot3、Vue3、redis5.0.14.1 javax.net.ssl.SSLSocketFactory data: redis: database: 0 host: 127.0.0.1 port: 6379 ---- 启动项目 ---- 确认 mysql 数据库成功连接; 启动 redis 服务端; 最后启动前后端即可。
这里记录一下,我在写一个自己设计的项目时遇到的几个问题!!! 1、Session获取为null 需求:session保存验证码,在session中验证验证码是否正确 解释: 前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话 它包括请求报头、请求行、请求体等所有的数据 3、前端跨域问题 在npm run server执行vue脚手架项目时,所有请求都是好的。 但是webpack打包后,在运行项目去请求,所有请求都失效了,在控制台报错 '跨域问题' 。 在将整个项目放到服务器后,需要在web服务器配置后端服务的代理。否则前端页面的请求不可用!!
简介 image.png Vue项目 启动项目:npm run serve Vue访问永远都是App.vue,然后用<router-view></router-view>开启了一个小窗口进行页面路由,相当于一个容器 tableData: null } } } </script> 说明: 页面一加载就会去默认执行created()方法获取后端服务数据 export default { name: "PageFour" } </script> <style scoped> </style> SpringBoot项目
其他服务安装 部署若依前后端分离版 需要安装 MySQL、Redis、Nginx # 2.1 Dcoker 安装 MySQL # 1. 拉取镜像 docker pull mysql:8.0 # 2. 部署若依 # 3.1 下载若依源码 若依前后端项目地址:https://gitee.com/y_project/RuoYi 将项目下载或者 git clone 到本地并解压 ruoyi-ui 文件夹是前端项目 ,其余为后端项目 # 3.2 远程连接服务器 这里我使用的是 FinalShell,具体连接操作步骤 这里不做叙述 # 3.3 若依前端部署 打开 dos 窗口,进入 ruoyi-ui 文件夹,并对前端代码进行打包 尝试运行后端项目可以通过 InteliJ IDEA 或者 eclipse 软件来运行这个 java 后端项目,前提是你运行的本机上应该也具备一定的环境,jdk 至少是 1.8,以及本地 8080 端口( 打包后端代码 jar 包 熟练 java 项目开发的,可以直接通过 InteliJ IDEA 或者 eclipse 软件打 jar 包。不熟悉的有第二种方法,是若依提供的。
还需安装其他软件 Java 项目管理器 (下载之后随便安装一个 Tomcat 即可获得 Java 环境) Redis 安装完毕之后配置 所有都可访问 0.0.0.0 以及配置 Redis 密码 (必需) Nginx 首先安装完毕 具体配置后面进一步概述 # 运行 jar 部署后端 打包后端代码 jar 包 熟练 java 项目开发的,可以直接通过 InteliJ IDEA 或者 eclipse 进入下载的项目文件夹中的 bin 目录下,直接双击执行 package.bat,它会直接在项目中生成 target 文件夹,里面包含以及打包好的 jar 包。 tail -f nohup.out 这里我们的后端就部署成功了 # 填写 NGINX 配置部署前端 打开 dos 窗口,进入 ruoyi-ui 文件夹,并对前端代码进行打包,生成一个 dist 文件夹
sg.mirror.servanamanaged.com/jenkins/war/2.346/jenkins.war 安装 nohup java -jar jenkins.war --httpPort=6888 2>&1 & 插件 # maven项目插件 java/jdk1.8.0_371 Maven #Name maven3.6 # MAVEN_HOME /usr/local/maven/apache-maven-3.6.1 NodeJs 图片 后端部署配置 General 后端-XX系统-演示环境 源码管理 http://192.168.1.7:1234/mrfr/backend/mrfResource.git 构建环境 pom.xml clean package ENV=test #源jar路径,打包完成之后,target目录下的jar包名称 JAR_NAME=mrf-admin #target打包生成jar包的目录 # 以具体的打包位置为准,可以先构建一次项目 ,通过日志查看打包的目录 JAR_PATH=/home/maruifu/.jenkins/workspace/后端-XX系统-测试环境/mrf-admin/target #打包完成之后,把jar
简介 Vue项目 启动项目:npm run serve Router index.js import Vue from 'vue' import VueRouter from 'vue-router' } ] }); }) } } </script> SpringBoot项目
文章目录 1、前言 2、技术栈 3、前后端项目结构 3.1 前端项目结构 3.2 后端项目结构 4、部分演示效果 5、下载链接: 1、前言 一个前后端分离的博客小项目,为了适合后续的拓展和微服务化体系等 ,选择SpringBoot作为后端开发框架。 作为一个项目骨架,权限也是我们不能忽略的,Shiro配置简单,使用也简单,所以使用Shiro作为我们的的权限。 考虑到项目可能需要部署多台,这时候我们的会话等信息需要共享,Redis是现在主流的缓存中间件,也适合我们的项目。 然后因为前后端分离,所以我们使用jwt作为我们用户身份凭证。 2、技术栈 3、前后端项目结构 3.1 前端项目结构 3.2 后端项目结构 4、部分演示效果 5、下载链接: https://download.csdn.net/download/qq_43753724
---- 项目分析 ---- 简单分析 """ 1、业务逻辑:登录注册 - 主页(基础信息展示) - 课程页(复杂信息展示)- 课程订单生产与支付 - 上线订单生成 2、实际项目开发的技术点: ,后台项目一般叫api (luffy) MacBook-pro:luffy driverzeng$ django-admin startproject luffyapi 重构目录项目 ---- 重构前 ) from exc execute_from_command_line(sys.argv)  改完后,项目启动成功,但是呢....上线后,在生产环境中,我们会用uwsgi调用django项目中的 ## 进入项目目录 MacBook-pro:~ driverzeng$ cd /Users/driverzeng/Desktop/luffy/ ## 创建项目 MacBook-pro:luffy (y/N) N  ---- 使用webstrom打开项目  ---- 重构项目目录 """ ├── luffycity ├── public/
—林徽因 前段时间,大体了解了一下前后端分离之Vue项目构建测试打包发布,并简单的记录了一下。 其实,如果单纯的前后端分离项目,大可不必使用Token,原始的session就可以解决问题,当然前提是要在一个域(域名、IP、端口必须保持一致)下,前后端开发人员可使用Nginx代理服务器进行测试。 项目涉及: SpringBoot的使用 JWT加密解密 Cors跨域访问配置 Interceptor拦截器配置 代码什么的就不在这里罗列了,详细见:前后端分离微服务认证之JWT 总结 优点 因为Token
Nginx命令 了解:Nginx & uwsgi 运行Django 路飞项目部署:Nginx + uwsgi + django + vue 配置前台项目 上线前配置 assets /settings.js 上线 路飞后台部署 上线前配置 prod.py:上线的配置文件,内容拷贝dev.py,前身就是settings.py wsgi.py 和 manage.py :Nginx + uwsgi + django + vue 配置前台项目 上线前配置 assets/settings.js base_url: 'http://39.98.144.221:8000', 404问题 } } } 路飞后台部署 上线前配置 , brief) VALUES (2, 2, 1, 0, '2019-07-14 13:45:25.092902', '2019-07-14 13:45:25.092936', 'Mjj', 0, '前美团前端项目组架构师
在前后端分离的项目中,很多开发者选择通过反向代理将前端和后端接口统一到一个域名下,而不是为后端接口使用一个新域名,主要是出于以下几个原因:1. 隐藏后端服务细节通过反向代理,可以隐藏后端服务的实际域名或 IP,避免暴露真实的后端地址,增加一定的安全性。此外,这样的方式也可以屏蔽后端的技术栈和架构实现细节。5. 通过统一域名,减少了维护多个域名的复杂度,尤其是对于中小型项目或团队而言,可以更高效地进行管理。6. 用户体验更好对用户而言,访问一个域名通常比多个域名更加直观。 反向代理 vs 新域名方式优点缺点反向代理同一域名简化跨域问题、统一流量、易于管理、隐藏后端细节需要配置反代服务,增加后端负载使用新域名后端独立、清晰的接口区分,可以避免代理服务的额外消耗跨域配置复杂、 证书管理麻烦、用户体验可能分散综上,使用反向代理更适合大多数前后端分离的场景。
前后端分离 前后端分离就是将一个应用的前端代码和后端代码分开写,为什么要这样做? 如果不使用前后端分离的方式,会有哪些问题? 前端–》HTML静态页面–》后端—》JSP 这种开发方式效率极低,可以使用前后端分离的方式进行开发,就可以完美解决这一问题。 前后端开发者只需要提前约定好接口文档(URL、参数、数据类型…),然后分别独立开发即可,完全不需要依赖后端,最后完成前后端集成即可,真正实现了前后端应用的解耦合,极大地提高了开发效率。 单体—》前端应用+后端应用 前端应用:负责数据展示和用户交互 后端应用:负责提供数据处理接口。 前端HTML—》Ajax—》RESTFUL后端数据接口。 (例:Java开发、spring boot开发) 传统单体应用 前后端分离的结构 前后端分离就是将一个单体应用拆分成两个独立的应用,前端应用和后端应用以JSON格式进行数据交互。
Docker+Nginx打包部署前后端分离项目 1、问题描述 2、项目打包 2.1 前端项目打包 2.1.1 修改vue.config.js文件 2.1.2 router配置中添加base属性 2.1.3 打包前端项目 2.2 后端项目打包 2.3 将前端和后端的打包文件上传到服务器 3 nginx反向代理配置 4、后端通过Dockerfile打包成docker镜像 4.1 这里为什么使用docker 4.2 编写Dockerfile 4.3 构建Docker镜像 4.4 查看构建的镜像 4.5 运行容器 4.6 运行测试 1、问题描述 最近做了一个前后端分离的通用权限管理系统,今天想用自己的服务器部署下 执行命令:npm run build:prod 出现dist文件夹说明打包成功 2.2 后端项目打包 这里我跳过了test步骤 打包之后target文件夹下面会有jar包 2.3 将前端和后端的打包文件上传到服务器 guigu location /guigu { alias /opt/guigu-auth/guigu-front/; index index.html index.htm; } 第二部分是将后端请求指向后端项目
一、项目介绍 前景 一直想写一篇前后端分离项目的搭建教程,最近正好不是太忙,也是正好赶上轻量的创作者活动,所以就花点时间写了这篇文章。 官方文档 以下是官方的项目说明文档,有不懂的也可以去看看哦。 http://doc.ruoyi.vip/ruoyi/ 二、环境准备 如果没有轻量服务器,可以用本地的虚拟机。 如果不安装的话,可以自行下载代码,通过xftp上传的服务器中,也可以自己在本地编译好前后端代码后上传编译好的代码到服务器,都是可以滴。 五、代码打包 打包后端代码 执行如下maven命令打包 cd RuoYi-Vue mvn clean install -Dmaven.test.skip=true -Dcheckstyle.skip=true npm install npm run build:prod 打包后的文件 image.png 复制代码到nginx路径下 cp -r dist /usr/local/nginx 六、部署启动 启动后端
运行mall-admin-web项目,使用商品分类下的添加功能来测试下文件上传,发现已经可以成功上传,图片也已经可以正常回显: ? 后端项目地址 https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-oss 前端项目地址 https://github.com
它是软件技术和业务发展到一定的程度,在项目管理工作上必须进行的一种升级,它是一个必然而不是一个偶然,也可是说是公司部门架构的一种调整。 前后端开发者只需要提前约定好接口文档(URL、参数、数据类型…),然后分别独立开发即可,在初期前端可以先造假数据进行测试(json),完全不需要依赖后端,后期完成前后端集成即可,实现了前后端应用的解耦合 总结:就是为了适应技术和业务发展的需求,前端开发需要从之前的前后端混合在一起的组织架构中分离出来,形成独立的前端部门和后端部门 实际应用中理解为:前后端分离就是将前端视图和后端数据进行分离,后端只需要提供接口 (后端数据)给前端,前端提供的独立的视图系统,并且前后端分离项目在进行项目部署的时候可以分开,不仅开发效率提高了,而且一定上减少了程序的耦合。 以前架构 前后端分离技术架构:
1、背景 前后端分离已成为互联网项目开发的业界标准使用方式,通过 nginx + tomcat 的方式(也可以中间加一个 nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构 以前的 Java Web 项目大多数都是 Java 程序员又当爹又当妈,又搞前端,又搞后端。 那么,在这个时期,开发方式有如下两种: 「方式一」 前后端未分离架构 「方式二」 前后端未分离架构 方式二已经逐渐淘汰。 view 层的工作,不是真正的前后端分离。 前端项目与后端项目是两个项目,放在两个不同的服务器,需要独立部署,两个不同的工程,两个不同的代码库,不同的开发人员。前端只需要关注页面的样式与动态数据的解析及渲染,而后端专注于具体业务逻辑。
原文链接:https://mp.weixin.qq.com/s/5SwQMIJ6Amv4m_8cIOaw3Q 前后端分离 回顾一下自己学JavaWeb的历程: 这里压根就不需要JSP了(纯HTML+AJAX),这算是前后端分离的一种了 在开发上体验:如果完全使用HTML+AJAX的话,会发现其实需要写非常非常多的JavaScript代码,而且这些JavaScript …流下不学无术的泪水 目前我了解到的前后端分离,首先部署是分离的(至少不会跟Java绑定在一起部署): ? 前端和Java部署机器分离 Java接口只返回JSON数据: ? 我一直想知道的是:前框框架和node是啥关系。 如果请求是调用后端服务,则经过Nginx转发到后端服务器,完成响应后经Nginx返回到浏览器。
info express 安装webpack: cnpm install webpack -g 安装vue-cli脚手架构建工具: cnpm install --global vue-cli Vue项目 执行一下命令: vue init webpack first_vue 命令的意思是初始化一个项目,其中webpack是构建工具,也就是整个项目是基于webpack的。 first_vue是整个项目文件夹的名称,这个文件夹会自动生成在你指定的目录中。 安装项目所需的依赖(项目下会多出一个node_modules文件夹): cnpm install 安装 vue 路由模块vue-router和网络请求模块vue-resource: cnpm install vue-router vue-resource --save 运行测试项目: npm run dev 打包项目(项目下会多出一个dist文件夹): npm run build 切换到dist目录我们会发现有一个