boot2.0+vue前后端分离,把vue工程build到boot中然后达成war部署至tomcat中,必须要加上idnex.html才能访问??如何直接访问项目名?

项目组采用的是boot2.0+vue前后端分离的方式开发,但是因为没有专业的运维人员,所以决定部署到一起达成war的方式进行上线。

    目前经过摸索和踩坑,已经可以正常合在一起并达成war部署到tomcat,但是遇到一个问题,就是我访问项目必须在项目名称后面加上index.html  才可以访问,比如 http://127.0.0.1:8080/test/index.html,直接访问,所有模块功能一切正常,http://127.0.0.1:8080/test这个地址就会被拦截并提示“,经jwt 认证失败,无法访问系统资源”,系统中做了token验证,我试着把/test假如忽略拦截 也无效,想请教各位大佬如何解决这个问题??

谢谢

下面是项目结构图:

图片说明

jimmy609
咖啡加糖_ 感谢各位的回复,目前是这样解决的,增加一个拦截器对于/test进行拦截,然后重定向至/test/index.html,
8 天之前 回复

6个回答

→_→ 没懂意义在哪,你家客户是故意为难你们么
可以再加个nginx代理过去,就能实现了
https://blog.csdn.net/qq\_36911145/article/details/82855020

qq_36911145
封印di恶魔 回复咖啡加糖_: 又是伟大的甲方不让用么……正常用tomcat跑服务后,用nginx做代理不是挺常用的
8 天之前 回复
jimmy609
咖啡加糖_ 的确是没有意义,在开发之前的确没想到,但是nginx目前不准备采用,尴尬
9 天之前 回复

在tomcat的server.xml中的Host标签中进行配置,docBase是指向的你项目的文件,配置到这tomcat就会自动寻找你的index.html文件

 <Context path="" docBase="/data/application/apache-tomcat-9.0.35/webapps/xiaozaizi"> </Context>

图片说明

Nginx的话 可以配置 默认主页的 Index index.html这样就可以使用项目名称访问了 Tomcat不清楚 不过应该也有类似的功能 吧

不懂 Vue做的 前端 打包 之后 为什么要和Java 再次打包在一起。。
直接把Vue打包的上传一个目录不行吗?

kingwolf_JavaScript
浴火_凤凰 回复咖啡加糖_: 那就在Java代码里加一个 项目根目录 /的映射处理代码
9 天之前 回复
jimmy609
咖啡加糖_ 你好,感谢回复,前后端分离的确像这样搞比较费事,但是现在所有方案已经提交到所有项目材料中了,所以只能这样做,不好更改了,客户也要求只提供一个war'
9 天之前 回复

你前后端合在一起部署的吗?
写一个方法
@GetMapping("/")
public String index() {
return "index";
}

你这项目目录真的不像前后端分离,最好是抽离出来。搞一个映射

jimmy609
咖啡加糖_ 亲,我这个是前后端分离的项目放在一起打包的结构啊,现在客户要就是要一个war,vue打包到boot中部署至tomcat
9 天之前 回复
jimmy609
咖啡加糖_ 感谢评论,这个博客也是我写的,目前就剩这个问题未解决
9 天之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问