教育平台项⽬后台管理系统:介绍与搭建
项⽬架构
项⽬介绍
教育后台管理系统是提供给相关业务⼈员使⽤的⼀个后台管理系统,业务⼈员可以在这个后台管理系统中,对课程信息、讲师信息、 学员信息等数据进⾏维护。
课程管理模块
课程管理
1. 新建课程
2. 条件查询:课程名称,状态
3. 课程信息列表展⽰:ID,课程名称,价格,排序,状态
4. 课程状态的切换:上架,下架
营销信息 (营销信息其实就是课程的具体信息)
1. 回显对应课程的详细信息
2. 修改课程信息,包含了图⽚上传
配置课时(配置课时指的就是对课程内容的配置,课程内容就包括了章节信息和课时信息)
1. 添加章节
2. 以树形结构的下拉列表⽅式 展⽰课程对应的章节与课时信息
3. 修改章节
4. 章节章节状态的设置
前后端分离开发
前后端分离已成为互联⽹项⽬开发的业界标准使⽤⽅式,将前端和后端的开发进⾏解耦。并且前后端分离会为以后的⼤型分布式架构、微服务架构、多端化服务(各种客户端,⽐如浏览器、车载终端、安卓、IOS 等)打下坚实的基础。
前后端分离的核⼼思想就是前端HTML页⾯通过AJAX调⽤后端的API接⼝,并通过JSON数据进⾏交互。
接⼝⽂档
前后端分离开发⽅式需要由前后端⼯程师共同定义接⼝;编写接⼝⽂档之后都根据这个接⼝⽂档进⾏开发,到项⽬结束前都要⼀直进⾏接⼝⽂档的维护。
⼀个接⼝的描述⾄少包括下⾯⼏项:
名称: findCourseList
描述: 根据条件查询课程信息
URL: localhost:8080/edu_home/course/
请求⽅式: GET
请求参数 methodName:"findCourseList";
响应结果
{
"status":"0",
"msg":"success"
}
前后端耦合的缺陷 (以 JSP 为例)
1. UI 出好设计图之后,前端开发⼯程师只负责将设计图切成 HTML,需要由 Java 开发⼯程师来将 HTML 套成 JSP 页⾯,修改问题的
时候需要双⽅协同开发,效率低下。
2. JSP 页⾯必须要在⽀持 Java 的 WEB 服务器上运⾏(如 Tomcat、Jetty 等),⽆法使⽤ Nginx 等(官⽅宣称单实例 HTTP 并发⾼
达 5 W),性能提升不上来。
3. 第⼀次请求 JSP,必须要在 WEB 服务器中编译成 Servlet,第⼀次运⾏会较慢。 之后的每次请求 JSP 都是访问 Servlet 再⽤输出流
输出的 HTML 页⾯,效率没有直接使⽤ HTML ⾼。
前后端分离的优势
1. 前后端分离的模式下,如果发现 Bug,可以快速定位是谁的问题,不会出现互相踢⽪球的现象
2. 前后端分离可以减少后端服务器的并发/负载压⼒。除了接⼝以外的其他所有HTTP请求全部转移到前端 Nginx 上,接⼝的请求则转发
调⽤ Tomcat.
3. 前后端分离的模式下,即使后端服务器暂时超时或宕机了,前端页⾯也会正常访问,只不过数据刷不出来⽽已。
4. 前后端分离会更加合理的分配团队的⼯作量,减轻后端团队的⼯作量,提⾼了性能和可扩展性。
技术选型
前端技术选型
Vue.js - 是⼀套⽤于构建⽤户界⾯的渐进式 JavaScript 框架
Element UI 库 - 是饿了么前端出品的基于 Vue.js 的后台组件库,⽅便程序员进⾏页⾯快速布局和构建
node.js - 运⾏在服务端的 JavaScript 运⾏环境
axios - 对 ajax 的封装, 简单来说就是 ajax 技术实现了局部数据的刷新,axios 实现了对 ajax 的封装
后端技术选型
web中select的用法Web 层:Servlet 前端控制器,Filter 过滤器,BeanUtils 数据封装jsp中文全称
Service 层:业务逻辑处理
Dao 层:MySQL 数据库,Druid 数据库连接池,DBUtils 操作数据库
项⽬开发环境
开发⼯具:后端 IntelliJ IDEA,前端 VS code,数据库 SQLYog
开发环境:JDK 11,Maven 3.6.3,MySQL 5.7
Maven 项⽬管理⼯具
系统库的系统怎么样Maven 介绍
Maven 是⼀个跨平台的项⽬管理⼯具。作为 Apache 组织的⼀个颇为成功的开源项⽬,其主要服务于基于 Java 平台的项⽬创建,依赖管理和项⽬信息管理。Maven 是 Apache 的顶级项⽬,意为“专家,内⾏”,它是⼀个项⽬管理的⼯具,Maven ⾃⾝是纯 java 开发的,可以使⽤ Maven 对 java 项⽬进⾏构建、依赖管理。
依赖管理:依赖指的就是项⽬中需要使⽤的第三⽅ Jar 包, ⼀个⼤⼀点的⼯程往往需要⼏⼗上百个 Jar 包,按照之前的⽅式,每使⽤⼀种Jar 就需要导⼊到⼯程中,还要解决各种 Jar 冲突的问题;⽽ Maven 可以对 Jar 包进⾏统⼀的管理,包括快速引⼊ Jar 包,以及对使⽤的Jar 包进⾏统⼀的版本控制。
⼀键构建项⽬:之前创建项⽬需要确定项⽬的⽬录结构,⽐如 src 存放 Java 源码,resources 存放配置⽂件,还要配置环境⽐如 JDK 的版本等等,如果有多个项⽬就需要每次搞⼀套配置,⼗分⿇烦;⽽ Maven 提供了⼀个标准化的 Java 项⽬结构,可以通过 Maven 快速创建⼀个标准的 Java 项⽬。
Maven 的使⽤
Maven 下载后,将 Maven 解压到⼀个没有中⽂没有空格的路径下,解压后⽬录结构如下:
bin:存放了 maven 的命令
boot:存放了⼀些 maven 本⾝的引导程序,如类加载器等
conf:存放了 maven 的⼀些配置⽂件,如 l ⽂件
lib:存放了 maven 本⾝运⾏所需的⼀些 jar 包
配置 Maven 环境变量:配置 MAVEN_HOME ,变量值是 maven 安装的路径;将 MAVEN_HOME 添加到 Path 系统变量。
最后通过命令⾏运⾏ mvn -v 命令检查 maven 是否安装成功。
Maven 仓库
Maven 中的仓库是⽤来存放 maven 构建的项⽬和各种依赖的(Jar包)。
sql语句查询一张表的字段关联到另一张表上仓库分类
本地仓库:位于⾃⼰计算机中的仓库,⽤来存储从远程仓库或中央仓库下载的插件和 jar 包。
远程仓库:需要联⽹才可以使⽤的仓库,阿⾥提供了⼀个免费的 maven 远程仓库。
中央仓库:在 maven 软件中内置⼀个远程仓库地址 /maven2,它是中央仓库,服务于整个互联⽹,它是由Maven 团队⾃⼰维护,⾥⾯存储了⾮常全的 jar 包,它包含了世界上⼤部分流⾏的开源项⽬构件。
本地仓库的配置
Maven 仓库默认是在 C 盘的 .m2 ⽬录下,所以这⾥要重新配置到别的盘符中。
在 Maven 安装⽬录中,进⼊ conf ⽂件夹, 可以看到⼀个 l ⽂件;打开 l ⽂件,在 localRepository 标签下配置仓库⽬录。
阿⾥云远程仓库配置
打开 l,到 <mirrors> 标签,将如下内容复制到 <mirrors> 中即可:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>maven.aliyun/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
创建 Maven 项⽬
IDEA 中配置 Maven
打开 IDEA 创建⼀个新的 project,然后选择 File --> Settings --> 搜素 maven,修改默认配置配置。
创建 Maven ⼯程
在 IDEA 中配置好 maven 后使⽤ maven 快速的去构建⼀个 Java Web 项⽬,不选择 archetype。
Maven⽬录说明:
src/main/java —— 存放项⽬的 .java ⽂件
src/main/resources —— 存放项⽬资源⽂件,如数据库的配置⽂件
src/test/java —— 存放所有单元测试 .java ⽂件,如 JUnit 测试类
target —— 项⽬输出位置,编译后的 class ⽂件会输出到此⽬录
Maven ⼯程改造
当前创建的 maven 项⽬是⼀个 普通的 Java 项⽬,不是 web 项⽬,所以需要改造。
在 main ⽬录下创建⼀个 webapp ⽂件夹
选择 project Structure —> facets—> 点击 + 号添加 web —> 选择当前⼯程 hello_maven
根据新建的 webapp ⽬录,来修改 Deployment 和 Resources 的路径信息
⼀个 maven ⼯程都有⼀个 l ⽂件,通过 l ⽂件定义项⽬的信息、项⽬依赖、引⼊插件等等。
此时,在项⽬中直接创建⼀个 Servlet,会出现缺少 jar 包报错;要解决问题,就要将 servlet-api-xxx.jar 包放进来;⽽作为 maven ⼯程应当添加 servlet 的坐标,从⽽导⼊它的 jar。
在 l ⽂件中可以引⼊依赖包的坐标
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0"
xsi="/2001/XMLSchema-instance"
schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId&da</groupId>
<artifactId>hello_maven</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- import package coordinates -->
<dependencies>
<!-- mvnrepository/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
⼀个 Maven ⼯程就是由 groupId,artifactId 和 version 作为唯⼀标识;所以在引⽤其他第三⽅库的时候,也是通过这三个变量确定。
坐标的概念:在 maven 中坐标就是为了定位⼀个唯⼀确定的 jar 包;maven 拥有⼤量的构建,需要⼀个统⼀规范来唯⼀标识⼀个构建。Maven 坐标主要组成 - 确定⼀个 jar 在互联⽹位置:
groupId - 定义当前 Maven 组织名称,通常是公司名
artifactId - 定义实际项⽬名称
version - 定义当前项⽬的当前版本
packaging - 打包类型:打成 jar 包或者打成 war 包
maven 的依赖管理,是对项⽬所依赖的 jar 包进⾏统⼀管理:
dependencies表⽰依赖关系
使⽤ <dependency> 声明⼀个依赖后,Maven 就会⾃动下载这个依赖包
坐标的来源⽅式:
输⼊⽹址,进⾏查询:mvnrepository/
使⽤ IDEA 在 l ⽂件中右键选择 Generate --> Dependency --> 搜索输⼊名称
添加插件
在 l 中加⼊如下配置:
<project ...>
...
c语言入门视频教程文件操作5<!-- properties 是全局设置,可以设置整个 maven 项⽬的编译器 JDK 版本 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 重点 -->
<mavenpiler.source>11</mavenpiler.source>typedef定义变量
<mavenpiler.target>11</mavenpiler.target>
</properties>
<!-- 在 build 中需要指定⼀下项⽬的 JDK 编译版本,maven 默认使⽤ 1.5 版本进⾏编译 -->
<!-- 注意 build 与 dependencies 是平级关系,标签不要写错位置 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
</project>
运⾏ Maven 项⽬
ServletDemo01
@WebServlet("/demo01")
public class ServletDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { System.out.println("Hello Maven!");
}
}
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>This is My First Maven Project</p>
</body>
</html>
配置 Tomcat,部署项⽬。
运⾏项⽬, 默认访问 index.jsp。
访问 Servlet:localhost:8080/hello_maven/demo01。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论