2 qq 28394425 qq_28394425 于 2016.04.27 15:33 提问

spring boot中找不到jsp 20C

查了一天了也没查到问题,我配置了mvc的前缀和后缀,可就是返回不了jsp,是打的war包有问题吗,
还是缺少什么web的包,它只会报Circular view path [/main]: would dispatch back to the current handler URL [/main] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.),实在是查不到怎么解决了,照着springboot的官方web例子改也不行,直接返回了字符串而不是jsp页面,真心求各位帮帮忙。

yml配置文件里的源码

 mvc:
 view:
  prefix: /WEB-INF/jsp/
  suffix: .jsp

gradle的依赖包引入

 compile 'org.springframework.boot:spring-boot-starter-data-jpa'
    compile 'org.springframework.boot:spring-boot-starter-freemarker'
    compile 'org.springframework.boot:spring-boot-starter-groovy-templates'
    compile 'org.springframework.boot:spring-boot-starter-jdbc'
    compile 'com.h2database:h2:1.4.190'
    compile 'com.alibaba:fastjson:1.2.7'
    compile 'com.google.guava:guava:18.0'
    compile 'org.springframework.boot:spring-boot-starter-redis'
    compile 'org.springframework.boot:spring-boot-starter-web'
//  compile 'org.springframework.boot:spring-boot-starter-jetty'
    compile 'org.springframework.boot:spring-boot-starter-tomcat'
    compile 'org.apache.tomcat.embed:tomcat-embed-jasper'
    compile 'javax.servlet:jstl'
    compile 'org.apache.directory.studio:org.apache.commons.lang:2.6'
    compile 'commons-io:commons-io:2.4'
    compile 'mysql:mysql-connector-java'
    testCompile 'org.springframework.boot:spring-boot-starter-test'
    compile 'org.springframework.boot:spring-boot-starter-data-rest'
    compile 'org.springframework.boot:spring-boot-configuration-processor'
    compile 'com.googlecode.xmemcached:xmemcached:2.0.0'

controller

 @RequestMapping("/main")
    public ModelAndView welcome1() {
        logger.error("111111111111111")
        return new ModelAndView("/main")
    }

日志能打出来,但是这个main.jsp找不到
war包的目录结构
图片说明

又去查了一下,视频和例子都在说引入
compile 'org.springframework.boot:spring-boot-starter-tomcat'
compile 'org.apache.tomcat.embed:tomcat-embed-jasper'
两个依赖后,注释为@Controller,直接return字符串类型的jsp名就可以
可就是还是不行,ViewResolver好像没有设置

6个回答

h183288132
h183288132   2016.04.27 17:29

配置文件没配对吧
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">

<!-- scan the package and the sub package -->
<context:component-scan base-package="test.SpringMVC"/>

<!-- don't handle the static resource -->
<mvc:default-servlet-handler />

<!-- if you use annotation you must configure following setting -->
<mvc:annotation-driven />

<!-- configure the InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        id="internalResourceViewResolver">
    <!-- 前缀 -->
    <property name="prefix" value="/WEB-INF/jsp/" />
    <!-- 后缀 -->
    <property name="suffix" value=".jsp" />
</bean>

http://www.admin10000.com/document/6436.html

h183288132
h183288132 回复Roc_strong: 哦,那你检查一下ViewResolver,和你要跳转的路径对不对吧
一年多之前 回复
qq_28394425
qq_28394425 用的springboot,不用配其他配置文件的,那些可以运行的也只配了sprigboot的一个配置文件
一年多之前 回复
dayibagou
dayibagou   2016.10.25 19:32

springboot不支持jsp 如果想jsp的话 不能打成jar包 只能打成war包 并且在tomcat中运行

ylsf2008
ylsf2008 可以直接运行,有例子
4 天之前 回复
u011377803
u011377803 正解。springboot 书上也是这么说的
10 个月之前 回复
qq_21779203
qq_21779203   2017.05.11 10:46

spring boot 使用jsp的时候需要用jar包跑必须要在编译的时候将jsp编译到jar里面.
.
<!-- 打包时将jsp文件拷贝到META-INF目录下-->

<!-- 指定resources插件处理哪个目录下的资源文件 -->
src/main/webapp
<!--注意此次必须要放在此目录下才能被访问到-->
META-INF/resources

/

CSDNXIAOD
CSDNXIAOD   2016.04.27 15:42

Spring-Boot 与jsp/freemarkerDemo
spring boot jsp
Spring Boot JSP
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

ilyyhb
ilyyhb   2016.07.19 15:16

spring-boot:run

u012597393
u012597393   2017.11.24 11:43

非常可能是你用了@RestController,而不是@Controller,所以返回的是字符串而不是模板

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!