内容管理系统
学成在线项目的定义:对各个站点页面的管理,主要管理由于运营而需要经常变动的页面(收费广告轮播图),从而实现根据运营需要快速进行页面开发、上线的需要。
前端静态页面是需要放入NGINX中的,需要在nginx.conf中配置server
SSI包含技术就在这个配置文件中ssi on
#页面预览
upstream cms_server_pool{
server 127.0.0.1:31001 weight=10;
}
server {
listen 80;
#autoindex on;
#在windows开发环境下 有可能会访问的时候是403拒绝(会有目录访问权限)
server_name www.xuecheng.com;
ssi on;
#nginx 开启SSI包含技术
ssi_silent_errors on;
#charset koi8-r;
#access_log logs/host.access.log main;
#门户
location / {
#root html;
#如果是一个目录 最后一定要加/ 否则到时候访问会出现404的问题
alias D:/staticPage/xc-ui-pc-static-portal/;
index index.html index.htm;
#allow all;
}
#页面预览
location /cms/preview/ {
proxy_pass http://cms_server_pool/cms/preview/;
}
}
配置域名访问地址 C:\Windows\System32\drivers\etc\hosts文件
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 www.xuecheng.com
SSI 技术 server side include
定义 :服务器端嵌入
原理 :在页面还没有到达浏览器的时候,通过一些指令,将多个也没面拼凑到一个页面中。
格式
<!-- 页面头部 -->
<!--#include virtual="/include/header.html"-->
在这里插入图片描述
CMS管理页面需求
-
流程
- 创建站点(门户 学习中心 就是页面的归属)
- 创建模板 (更加方便 也是的每个站点视觉效果更加整齐)
- 创建页面 (填写页面的基本信息 页面名称 页面URL)
- 页面浏览(页面发布前的一项工作 使用静态化技术 使用模板和数据,保证页面的正确性)
- 页面发布 (使用计算机技术,将页面发送到所在站点的服务器)
-
本项目实现的功能
- 页面管理(管理员后天添加、修改、删除页面)
- 页面预览(管理员通过预览功能预览)
- 页面发布(管理员通过发布功能将页面发布到远程门户服务器)
后端环境搭建
父工程的pom文件
<?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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<groupId>com.xuecheng</groupId>
<artifactId>xc-framework-parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<tomcat.version>8.5.28</tomcat.version>
<spring-boot.version>2.0.1.RELEASE</spring-boot.version>
<springframework.version>5.0.5.RELEASE</springframework.version>
<mybatis-spring-boot.version>1.3.1</mybatis-spring-boot.version>
<mybatis.version>3.4.5</mybatis.version>
<druid.version>1.1.6</druid.version>
<mysql-connector-java.version>5.1.45</mysql-connector-java.version>
<commons-io.version>2.6</commons-io.version>
<org.apache.commons.io.version>1.3.2</org.apache.commons.io.version>
<commons-fileupload.version>1.3.3</commons-fileupload.version>
<commons-codec.version>1.10</commons-codec.version>
<commons-lang3.version>3.6</commons-lang3.version>
<okhttp.version>3.9.1</okhttp.version>
<feign-okhttp.version>8.18.0</feign-okhttp.version>
<lombok.version>1.16.16</lombok.version>
<springfox-swagger.version>2.7.0</springfox-swagger.version>
<fastjson.version>1.2.30</fastjson.version>
<fastdfs-client-java.version>1.27.0.0</fastdfs-client-java.version>
<mysql-connector-java.version>5.1.40</mysql-connector-java.version>
<elasticsearch.version>6.2.1</elasticsearch.version>
<guava.version>24.0-jre</guava.version>
</properties>
<!--test-->
<dependencyManagement>
<dependencies>