SpringBoot JSP 在idea下不能访问 404

    xiaoxiao2024-11-11  98

    公司去年开始推行SpringBoot,但部分老旧的项目还使用着传统的JSP开发模式,在idea下就遇到了一个问题,访问jsp页面404。

    网上大部分的建议都是更改jar的依赖方式,未解决。后来同事推荐了解决办法,现记录下来,希望能帮到和我遇到相同问题的人。

    其实根本原因就是我们项目的目录结构的问题,大家拉取项目,一般都习惯先创建一个文件夹,然后把项目都拉到这个文件夹下,用idea打开父文件夹,就像这种: 有两种解决方案,亲测可行。

    第一种办法

    我们需要配置下内置的tomcat,更改为正确的目录结构: 创建类TomcatConfig.java文件(与*Application启动类同一个包下就行,只要能扫描到),内容如下:

    @Configuration public class TomcatConfig { @Bean public EmbeddedServletContainerFactory embeddedServletContainerFactory() { ConfigurableEmbeddedServletContainer factory = new TomcatEmbeddedServletContainerFactory(); factory.setDocumentRoot(new File("D:\\WorkSpace\\**\\src\\main\\webapp\\")); return (EmbeddedServletContainerFactory) factory; } }

    setDocumentRoot中填写你jsp项目的绝对路径。

    注意:需要把这个类添加到版本忽略中,不能提交。因为大家的工作目录都不是相同的。

    这个方案的参考网址:https://blog.csdn.net/op_violet/article/details/79093328

    第二种办法(推荐)

    后来发现还有一种解决办法,不需要写配置代码就可以解决,只需要配置下idea项目的启动参数,把项目的工作目录修改为正确的位置,如下图: 1. 先启动一次项目,然后在顶部下来点击“Edit Configuration” 2. 选择带jsp的项目 3. 修改成该项目的正确根目录

    或者改成这样 新版idea下来没有这个选项了,可以手动填入:$MODULE_WORKING_DIR$

    然后启动就可以了。

    写的比较仓促,有问题欢迎与我联系~~

    最新回复(0)