我在 Tomcat 上遇到了路由问题。我收到了一个现成的 .war 文件,其中包含位于 resources/static 文件夹中的 React 应用程序的构建文件。使用 Maven 重建后,...
我在 Tomcat 上遇到了路由问题。我收到了一个现成的 .war 文件,其中包含位于 resources/static 文件夹中的 React 应用的构建文件。
使用 Maven 重建后,我得到了 .war 文件,并将其放在服务器上的 tomcat/webapps 目录中。我使用 /etc/init.d 启动服务,但即使我提供了 index.html 的确切路径,也会出现 404 错误。在 Tomcat 上,index.html 位于 apka/WEB-INF/classes/static,并且有一个包含 CSS、JS 文件等的 assets 文件夹。
所以,我的问题是,当访问 address-ip:port/apka 时,我应该在哪里编辑以显示 index.html 并确保每个端点都能正常运行?
就上下文而言,我还安装了 Logicaldoc,它运行良好。我尝试使用 classpath 配置 application.properties 并在 pom.xml 中设置 welcome-file,但我怀疑问题出在 Spring Boot 的配置中。
我正在使用 Java 21.0.3 LTS、Maven 3.8.7、SpringBoot CLI v3.3.1、React ^18.3.1、Tomcat 9.0.91 和 Debian 12。
感谢您的帮助!
我尝试通过添加以下内容来编辑 application.properties:
spring.web.resources.static-locations=classpath:/static/
我还尝试创建以下控制器:
@Controller
public class ResourceController {
@GetMapping("/apka/**")
public String apka() {
return "forward:/index.html";
}
}
我将所有文件从 assets 复制到 src/main/resources/static 并编辑了 vite.config.js,但放弃了。我还尝试了这个:
@Controller
public class HomeController {
@RequestMapping(value = { "/", "/{x:[\\w\\-]+}", "/{x:^(?!api$).*$}/*/{y:[\\w\\-]+}" })
public String getIndex() {
return "forward:/index.html";
}
}
当我导航到 https://address_ip:port/apka 时,出现 404 错误:“请求的资源 [/apka/] 不可用”。catalina.out 文件中没有关于“apka”的错误