前后端分离项目实战(Vue+SSM)

简介: 前后端分离项目实战(Vue+SSM)

技术介绍


前端:Vue.js、ElementUI、Axios、Vue-Router


后端:SSM(Spring+SpringMVC+MyBatis)


数据库:MySql


运行界面


后端


登录界面


image.png


首页以及其他页面(部分展示)

image.png

image.png



前端


首页


image.png


详情页


image.png


登录


image.png

核心代码


这边只展示核心代码(跨域问题),普通的SSM框架项目,没有使用maven工程,源码已放在Github上,地址在文章末。


后端配置跨域


新建一个CorsFilter.java文件


import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class CorsFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        response.addHeader("Access-Control-Allow-Origin", "*");                                      //允许所有网址发来的请求
        response.addHeader("Access-Control-Allow-Methods", "REQUEST,GET,POST,PUT,DELETE,PATCH,HEAD");//允许的请求方法
        response.addHeader("Access-Control-Allow-Headers", "Content-Type");                          //,X-Requested-With,auth_token
        response.addHeader("Access-Control-Max-Age", "1800");//30 min
        filterChain.doFilter(request, response);
    }
}


在web.xml中进行配置,注意文件路径位置要正确。注意在调用接口时,加上注解@ResponseBody

<filter>
        <filter-name>cors</filter-name>
        <filter-class>cn.smbms.interceptor.CorsFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>cors</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

前端配置


在config/index.js中

image.png

assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        proxyTable: {
            '/api': {
                target: '', // 后端地址
                changeOrigin: true, //是否跨域
                https: true,
                pathRewrite: {
                    '^/api': '' //需要rewrite的,
                }
            }
        },

项目源码地址:https://github.com/dragon-lee-add/JavaEE-Vue


相关文章
|
前端开发 Java 关系型数据库
基于SSM框架的管理系统【完整项目源码】
基于SSM框架的管理系统【完整项目源码】
基于SSM框架的管理系统【完整项目源码】
|
9月前
|
人工智能 自然语言处理 计算机视觉
AI大模型开启智能化新时代
12月19日下午,复旦大学计算机科学技术学院第十二期“步青讲坛”在江湾校区二号交叉学科楼E1006报告厅举行。本期讲坛特别邀请了阿里巴巴集团副总裁、IEEE Fellow叶杰平教授做题为《AI大模型开启智能化新时代》的精彩技术报告。
348 4
|
11月前
鸿蒙ArkUI日期选择组件
鸿蒙ArkUI日期选择组件
178 0
|
机器学习/深度学习 自然语言处理 自动驾驶
【深度学习】深度学习的详细解析:涵盖定义、技术原理及应用场景
深度学习(Deep Learning)是机器学习(Machine Learning)的一个重要分支,它通过使用多层的神经网络来模拟人脑的学习过程,从而实现对数据的分析和理解。以下是关于深度学习的详细解析
960 2
|
存储 关系型数据库 测试技术
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(2)
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)
246 1
|
JavaScript 定位技术 API
js使用高德地图进行地点标注
使用高德地图进行地点标注可以采用以下步骤:
360 0
Eslint-------error ‘Vue‘ is not defined no-undef
Eslint-------error ‘Vue‘ is not defined no-undef
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js图书管理系统的附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js图书管理系统的附带文章和源代码设计说明文档ppt
175 0
|
前端开发 JavaScript Java
前后端分离项目实战(Vue+SSM)
前后端分离项目实战(Vue+SSM)
前后端分离项目实战(Vue+SSM)
|
XML JSON 定位技术
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
2549 0
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)