Maven多模块spring boot 项目集成jsp,报404找不到jsp问题

werson11 开发工程师  2018-03-21 03:11:02
访问http://localhost:8080/index 返回结果:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Mar 21 15:01:28 CST 2018
There was an unexpected error (type=Not Found, status=404).
/WEB-INF/jsp/index.jsp

controller代码:
@GetMapping(value = "/index")
public String index(){
System.out.println("------index--------");
return "index";
}

application 配置了
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

根据网上查找资料写了一个配置类
@Bean
public InternalResourceViewResolver viewResolver(){
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
logger.info("****************/WEB-INF/jsp/*****************************************");
return viewResolver;
}

但是还是没解决问题,------index--------能打印出来,控制台也没报错。求大神指点一下
...全文
2716 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
蓝色小棉袄 2019-11-22
引用 11 楼 cjzm888999 的回复:
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图



指定工作路径为模块的即可


干的漂亮,解决了,不容易呀,弄了整整一天
回复
x627979724 2018-12-22
引用 11 楼 cjzm888999 的回复:
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图



指定工作路径为模块的即可


找了一晚上,终于找到了,老哥666
回复
a785975139 2018-10-20
引用 17 楼 u012161563 的回复:
[quote=引用 16 楼 a785975139 的回复:] [quote=引用 15 楼 limaoyv 的回复:] [quote=引用 14 楼 a785975139 的回复:] [quote=引用 11 楼 cjzm888999 的回复:] 跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图 指定工作路径为模块的即可
对我来说,依然没用[/quote] 我这样设置是可以的。你可以在检查一下spring.mvc.view.prefix=/XXX/XXX/ spring.mvc.view.suffix=.jsp 对不对。还有pom里该引用的引了吗。[/quote] 已经解决了,谢谢[/quote] 怎么解决的啊,我也遇到了这个问题[/quote]
引用 17 楼 u012161563 的回复:
[quote=引用 16 楼 a785975139 的回复:] [quote=引用 15 楼 limaoyv 的回复:] [quote=引用 14 楼 a785975139 的回复:] [quote=引用 11 楼 cjzm888999 的回复:] 跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图 指定工作路径为模块的即可
对我来说,依然没用[/quote] 我这样设置是可以的。你可以在检查一下spring.mvc.view.prefix=/XXX/XXX/ spring.mvc.view.suffix=.jsp 对不对。还有pom里该引用的引了吗。[/quote] 已经解决了,谢谢[/quote] 怎么解决的啊,我也遇到了这个问题[/quote] 把子模块打成war包,通过“java -jar xxx.war”来启动就能访问了
回复
Embe 2018-10-20
引用 16 楼 a785975139 的回复:
[quote=引用 15 楼 limaoyv 的回复:] [quote=引用 14 楼 a785975139 的回复:] [quote=引用 11 楼 cjzm888999 的回复:] 跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图 指定工作路径为模块的即可
对我来说,依然没用[/quote] 我这样设置是可以的。你可以在检查一下spring.mvc.view.prefix=/XXX/XXX/ spring.mvc.view.suffix=.jsp 对不对。还有pom里该引用的引了吗。[/quote] 已经解决了,谢谢[/quote] 怎么解决的啊,我也遇到了这个问题
回复
a785975139 2018-10-17
引用 15 楼 limaoyv 的回复:
[quote=引用 14 楼 a785975139 的回复:] [quote=引用 11 楼 cjzm888999 的回复:] 跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图 指定工作路径为模块的即可
对我来说,依然没用[/quote] 我这样设置是可以的。你可以在检查一下spring.mvc.view.prefix=/XXX/XXX/ spring.mvc.view.suffix=.jsp 对不对。还有pom里该引用的引了吗。[/quote] 已经解决了,谢谢
回复
limaoyv 2018-10-17
引用 14 楼 a785975139 的回复:
[quote=引用 11 楼 cjzm888999 的回复:]
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图



指定工作路径为模块的即可


对我来说,依然没用[/quote]

我这样设置是可以的。你可以在检查一下spring.mvc.view.prefix=/XXX/XXX/
spring.mvc.view.suffix=.jsp 对不对。还有pom里该引用的引了吗。
回复
a785975139 2018-10-14
引用 11 楼 cjzm888999 的回复:
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图 指定工作路径为模块的即可
对我来说,依然没用
回复
rainyhao 2018-09-01
引用 11 楼 cjzm888999 的回复:
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图



指定工作路径为模块的即可

好人一生平安啊。
回复
werson11 2018-08-13
引用 11 楼 cjzm888999 的回复:
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图



指定工作路径为模块的即可

这位兄弟的是正解
回复
cjzm888999 2018-07-17
跟你遇到了同样的问题,这是因为idea默认路径是工程的路径 而不是模块的路径 所以导致多模块无法定位到/WEB-INF/jsp/index.jsp,而独立的模块工程路径就是模块路径 故可以定位,解决办法如下下图



指定工作路径为模块的即可
回复
qq_32749443 2018-04-13
楼主。配置idea的本地tomcat启动项目就能解决这个问题了
回复
张狂年少 2018-03-26
引用 4 楼 u012565010 的回复:
引用 2 楼 wanghengwhwh 的回复:
多模块项目,你是怎么部署的,可能是请求路径的问题
还没线上部署呢,本地调试阶段,请求路径的话,问题是该配置的都配了啊
本地调试,各模块是部署在一台机器上面吗,端口号一致吗,有没有用NGINX做分发
回复
werson11 2018-03-23
有个另一种思路可以解决该问题,就是用mvn spring-boot:run 运行项目。 据说出现该问题是IDEA的bug,
回复
werson11 2018-03-23
引用 3 楼 qq_23119345 的回复:
多个模块的话就前后端分离吧,后端只负责提供接口
本该是这样,可实际上....
回复
werson11 2018-03-23
引用 2 楼 wanghengwhwh 的回复:
多模块项目,你是怎么部署的,可能是请求路径的问题
还没线上部署呢,本地调试阶段,请求路径的话,问题是该配置的都配了啊
回复
北飞的企鹅 2018-03-22
多个模块的话就前后端分离吧,后端只负责提供接口
回复
张狂年少 2018-03-22
多模块项目,你是怎么部署的,可能是请求路径的问题
回复
werson11 2018-03-21
补充,只有一个模块的项目,能访问到模块下的src\main\webapp\WEB-INF\jsp 下的jsp,但是子模块就不行。 运行方式:run spring boot的main方法
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2018-03-21 03:11
社区公告
暂无公告