SpringBoot入门(九)

简介: SpringBoot入门(九)

SpringBoot-集成

1、SpringBoot项目-如何去支持jsp

在boot的项目中本身是默认不支持jsp的,因为在boot的工程中都是静态模板和静态资源。

1.1、引入两个依赖:

  1.        <dependency>
  2.            <groupId>org.apache.tomcat.embed</groupId>
  3.            <artifactId>tomcat-embed-jasper</artifactId>
  4.        </dependency>

1.2、在idea中配置这样的结构如图:

1.3、然后在属性文件配置下访问jsp的前后缀,代码如下:

  1. spring.mvc.view.prefix=/WEB-INF/views/
  2. spring.mvc.view.suffix=.jsp

1.4、然后写访问jsp的Controller,代码如下:

  1. package com.boot.jsp.bootjsp.controller;

  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.GetMapping;

  4. @Controller
  5. public class JspController {
  6.    @GetMapping("/jsp")
  7.    public  String   index(){
  8.        return "index";
  9.    }
  10. }

1.5、在这里来运行:因为boot项目是不支持war的,所以想要运行带有jsp项目的需要这样启动boot项目。

1.6、运行的访问结果如下:

总结:在springBoot中很少使用jsp来集成的,为了演示下,所以写了下。

2、SpringBoot集成freemarker

2.1、引入freemarker的依赖:

  1.        <dependency>
  2.            <groupId>org.springframework.boot</groupId>
  3.            <artifactId>spring-boot-starter-freemarker</artifactId>
  4.        </dependency>

2.2、freemarker是一个静态的模板引擎,默认的位置是在templates的目录下的,后缀名是.ftl,代码如下:

在属性的配置文件里可以配置关于静态模板的一些属性,后面会写到。

网站参考:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

2.3、写一个Controller,代码如下:

  1. package com.boot.freemarker.bootfreemarker.controller;

  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.GetMapping;

  4. @Controller
  5. public class TestFremarkerController {
  6.    @GetMapping("/demo/index")
  7.    public  String index(){
  8.        return "index";
  9.    }
  10. }

2.4、去访问测试下:

2.5、把数据传到模板引擎的页面上,代码如下:

  1.    @GetMapping("/demo/data")
  2.    public String  data(Model model){
  3.        Map<String,Object> map=new HashMap<>();
  4.        map.put("username","魏召阳");
  5.        map.put("age",25);
  6.        model.addAttribute("user",map);
  7.        return "index";
  8.    }

2.6、freemarker页面上获取数据:

2.7、运行的结果如下:

3、SpringBoot集成thymeleaf:它比freemarker要好用,它的后缀名是html,默认的前缀名是classpath:/templates下的,这里可以放很多种模板,不只这两种的静态模板。

3.1、首先建个index.html:

如果想要让thymeleaf给你提示的话,需要加上下面的一句话:它的命名空间。

定义的controller如下:

  1. package com.boot.thymeleaf.bootthymeleaf1.controller;

  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.GetMapping;

  4. @Controller
  5. public class ThymeleafController {
  6.    @GetMapping("/demo/index")
  7.    public  String index(){
  8.        return "index";
  9.    }
  10. }

发布下项目并访问下:

把值页面到页面上去的方法,代码如下:

  1.  @GetMapping("/demo/data")
  2.    public String  data(Map<String,Object> map1){
  3.        map1.put("username","魏召阳");
  4.        map1.put("age",18);
  5.        return "index";
  6.    }

页面的代码如下:

访问的结果:

4、静态资源的配置

spring.resources.staticLocations=修改静态资源的路径

默认的静态资源的位置是在static目录下的。访问的时的映射路径为/**。

4.1在staitc目录下放一张图片,然后去启动下项目。

4.2、访问下,图片的文件名不要命名为数字,否则访问不了。

注意:一般的情况的时候不用去修改静态资源的路径,因为当项目部署到nginx服务器上的时候,还需要加一个views这个文件夹。

相关文章
|
13小时前
|
NoSQL Java Redis
SpringBoot的入门(一)
SpringBoot的入门(一)
|
13小时前
|
监控 Java Spring
SpringBoot的入门(四)
SpringBoot的入门(四)
|
13小时前
|
Java Spring 容器
SpringBoot的入门(三)
SpringBoot的入门(三)
|
13小时前
|
JSON Java API
SpringBoot入门(八)
SpringBoot入门(八)
|
13小时前
|
消息中间件 NoSQL Java
SpringBoot的入门(五)
SpringBoot的入门(五)
|
13小时前
|
JSON Java 数据格式
SpringBoot入门(七)
SpringBoot入门(七)
|
13小时前
|
Java 容器 Spring
SpringBoot入门(六)
SpringBoot入门(六)
|
3月前
|
Java 数据库连接 Maven
|
3月前
|
Java Maven Spring
2.springboot入门
2.springboot入门
23 0
|
3月前
|
Java 应用服务中间件 数据库