springboot-jsp使用配置

准备学习SpringBoot,但是配置好项目后发现可以给前台传输json数据,就是不能跳转jsp页面,查找好多资料发现SpringBoot官网强烈不推荐使用jsp,但是可以使用jsp。官方文档:https://docs.spring.io/spring-boot/docs/1.5.5.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-template-engines 
可是自己怎么配置都访问不到jsp,可以走到后台。

启动类配置如下:

@Configuration
@EnableAutoConfiguration
@ComponentScan
//@SpringBootApplication 
/*相当于上面三个注解 @SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan。*/

public class ApplicationMain {

        @RequestMapping("/")
        //@ResponseBody
        String home() {
            return "index";
        }

        public static void main(String[] args) {
            SpringApplication.run(ApplicationMain.class, args);
        }

}

pom.xml 配置如下:



    org.springframework.boot
    spring-boot-starter-parent
    1.5.9.RELEASE



    org.springframework.boot
    spring-boot-starter-web



    jstl
    jstl
    1.2

application.properties配置如下:

#内嵌tomcat配置
server.port=8088
server.tomcat.uri-encoding=UTF-8

#springmvc 页面跳转
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

项目结构如下:

springboot-jsp使用配置_第1张图片

Controller内容如下:

@Controller
@RequestMapping(value = "/freeMarkerController")
public class FreeMarkerController {

    @GetMapping("index")
    public String index() {
        System.out.println("------index------");
        return "index";
    }

    @RequestMapping("HelloWorld")
    @ResponseBody
    public String HelloWorld() {
        System.out.println("-------HelloWorld------");
        return "HelloWorld";
    }

}

访问http://localhost:8088/mark/HelloWorld 有数据

访问 http://localhost:8088/mark/index 会出现

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Jan 02 11:53:32 CST 2018
There was an unexpected error (type=Not Found, status=404).
No message available

于是,查找官方文档

在官方文档中找到官方JSP示例 其中:

pom.xml 必须添加对jsp的支持:


	org.apache.tomcat.embed
		tomcat-embed-jasper
	provided

其中出现非常坑的问题:在Myeclipse 配置好了很快就能运行成功。在idea中怎么配置都运行失败,然后稀里糊涂的又好了。很坑,浪费了好长时间在这。

访问 http://localhost:8088/mark/index 就好跳转到jsp页面。

 

以上就是springBoot跳转jsp 的配置。后续进行学习thymeleaf模板,另外


    org.freemarker
        freemarker
    ${freemarker.version}

有模板这个jar的时候 SpringBoot会去找模板 默认路径是classpath:/templates/*.html。

你可能感兴趣的:(Spring)