java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring Boot部署mysql前端本地访问

Spring Boot项目部署及mysql并允许前端本地访问

作者:wxr0616

Spring Boot是一个用与开发和构建基于Spring的框架的Java应用于程序的开源框架,它简化Spring应用程序的初始配置和开发过程,这篇文章主要介绍了Spring Boot项目部署及mysql并允许前端本地访问的相关资料,需要的朋友可以参考下

1)修改后端配置

确保 <font style="color:rgb(64, 64, 64);">application.yml</font> 或 <font style="color:rgb(64, 64, 64);">application.properties</font> 中的数据库连接指向服务器MySQL

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/数据库名?useSSL=false
    username: your_user
    password: your_password

2)解决跨域问题

如果后端未配置 CORS,在 Spring Boot 中添加:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
        .allowedOrigins("*")  // 允许所有来源(或指定前端地址)
        .allowedMethods("GET", "POST", "PUT", "DELETE")
        .allowedHeaders("*");
    }
}

2)打包jar

进入文件根目录(有pom.xml的那一级)

运行

mvn clean package

3)上传到服务器

4)在服务器运行后端

java -jar C:\Users\Administrator\Desktop\ngpos-boot3-1.0.jar --server.port=8081

检查是否运行:

ps aux | grep java
netstat -tulnp | grep 8080

配置本地Vue前端访问服务器API

(1)修改Vue的API请求地址

在 <font style="color:rgb(64, 64, 64);">vue.config.js</font> 中配置代理:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://服务器IP:8080',  // 后端地址
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

或者在 <font style="color:rgb(64, 64, 64);">.env.development</font> 中设置:

VUE_APP_API_BASE_URL=http://服务器IP:8080

然后在代码中使用:

axios.get(`${process.env.VUE_APP_API_BASE_URL}/api/data`);

(2)解决跨域问题

如果后端未配置 CORS,在 Spring Boot 中添加:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
        .allowedOrigins("*")  // 允许所有来源(或指定前端地址)
        .allowedMethods("GET", "POST", "PUT", "DELETE")
        .allowedHeaders("*");
    }
}

测试访问

(1)直接访问后端API

在浏览器或 Postman 访问:

http://服务器IP:8080/api/test

如果返回数据,说明后端正常运行。

(2)本地Vue访问

运行本地前端:

npm run dev

访问 <font style="color:rgb(64, 64, 64);">http://localhost:8080</font>,检查是否能获取服务器数据。

===============================================================

错误:

PS C:\Users\17035\Desktop\新建文件夹\back-end-of-western-restaurant - 副本\dish\target> java -jar ngpos-boot3-1.0.jar ngpos-boot3-1.0.jar中没有主清单属性

完整的解决方案:

根据你的 pom.xml 文件,我发现导致 JAR 文件无法运行的关键问题是 spring-boot-maven-plugin 配置中的 true。这个参数会跳过 Spring Boot 的可执行 JAR 打包过程,导致生成的 JAR 文件缺少必要的启动信息。以下是

<configuration>
  <mainClass>com.example.dish.DishApplication</mainClass>
  <skip>true</skip>  <!-- 删除这一行 -->
</configuration>

改为

<configuration>
    <mainClass>com.example.dish.DishApplication</mainClass>
</configuration>

1. 正确的端口映射命令(管理员权限运行)

netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=8081 connectaddress=127.0.0.1 protocol=tcp

2. 命令参数说明

参数说明
<font style="color:rgb(64, 64, 64);">listenport</font>80外部访问的端口
<font style="color:rgb(64, 64, 64);">listenaddress</font>0.0.0.0监听所有网络接口
<font style="color:rgb(64, 64, 64);">connectport</font>8081内部服务实际端口
<font style="color:rgb(64, 64, 64);">connectaddress</font>127.0.0.1转发到本机
<font style="color:rgb(64, 64, 64);">protocol</font>tcp使用TCP协议

3. 验证映射是否成功

netsh interface portproxy show all

预期输出:

侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
0.0.0.0         80          127.0.0.1       8081

4. 开放防火墙80端口(如果尚未开放)

netsh advfirewall firewall add rule name="HTTP_80" dir=in action=allow protocol=TCP localport=80

5. 测试访问

现在可以通过以下方式访问:

http://8.138.207.62:80/ticket/listAll

6. 注意事项

如果80端口被系统服务占用,可改用其他端口(如8080):

netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8081 connectaddress=127.0.0.1

7. 完整操作示例

:: 添加端口映射
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=8081 connectaddress=127.0.0.1

:: 查看所有映射规则
netsh interface portproxy show all

:: 开放防火墙
netsh advfirewall firewall add rule name="HTTP_80" dir=in action=allow protocol=TCP localport=80

:: 测试映射是否生效(在服务器本地执行)
curl http://localhost:80/kitchen/tasks

如果仍然遇到问题,可能是:

总结 

到此这篇关于Spring Boot项目部署及mysql并允许前端本地访问的文章就介绍到这了,更多相关Spring Boot部署mysql前端本地访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文