今天在配置SpringBoot Web项目时遇到一个诡异的问题,Application能起来,debug也能正常进入Controller,查看源码时的最终view路径也拼接正确,可是就是无法正常转发到jsp页面,报一个 Error Page:

回头查看Project Structure配置也都没问题

后来发现需要修改Run的配置才行,将工作路径设置为当前模块的路径。可以使用绝对路径,也可以使用$MODULE_DIR$ 变量来指定(最好是使用$MODULE_DIR$ 变量,否则每一个模块都需要手动指定一遍路径,太过繁琐),如图:


之后再启动项目,成功!这个Workding directory是告诉IDE哪里是相对路径的入口,比如:filePath = “com/it/app.properties”,需要知道该路径的根目录是什么,否则程序运行时可能找不到对应的文件。
由于我是直接将web项目拷贝到工程中的,所以产生了这种问题。在创建SpringBoot项目时,如果是web项目,可以在创建module时选择maven项目,然后选择一个webapp的maven模板,这样似乎能避免上述问题,在执行Run命令时IDEA会自动将这个working directory设置成当前module路径:



解决SpringBoot Web项目中无法正常转发到JSP页面的问题。通过调整IDEA的Run配置,设置正确的working directory为当前模块路径,确保项目能够正确找到资源文件。
2813

被折叠的 条评论
为什么被折叠?



