好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

SpringBoot使用Jsp的示例代码

本文是简单总结一下springboot使用jsp的demo。

前言

在早期做项目的时候,jsp是我们经常使用的java服务器页面,其实就是一个简化servlet的设计,在本文开始之前,回顾一下jsp的几大对象,如图。

而在现在springboot框架流行的时代,springboot推荐的模版引擎也转变为了thymeleaf,本文来介绍一下springboot使用jsp页面。

使用springboot搭建的maven web工程,模板引擎是jsp,(工程目录照着之前springmvc的配置,jsp文件放在根目录的webapp文件夹下,同时在application.properties下配置视图的前缀和后缀),此时,如果项目的打包形式是war(war需要在web容器下运行),打包后可以正常在容器内运行。

而如果打包形式是jar(jar可以直接部署),打包后无法访问工程文件里面的静态视图文件。虽然有方法可以解决此问题,但还是从根本角度出发,springboot不支持jsp这种模板引擎,还是使用官方推荐的thymeleaf等模板引擎,同时在resource目录下配置静态资源视图文件,而不采用springmvc的webapp那种工程目录结构。

新建项目

创建一个项目springboot_jsp,pom文件中加入tomcat-embed-jasper依赖以及jstl标签库的依赖,完整pom代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

<?xml version= "1.0" encoding= "utf-8" ?>

<project xmlns= "http://maven.apache.org/pom/4.0.0" xmlns:xsi= "http://www.w3.org/2001/xmlschema-instance"

      xsi:schemalocation= "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >

   <modelversion> 4.0 . 0 </modelversion>

 

   <groupid>com.dalaoyang</groupid>

   <artifactid>springboot_jsp</artifactid>

   <version> 0.0 . 1 -snapshot</version>

   <packaging>war</packaging>

 

   <name>springboot_jsp</name>

   <description>springboot_jsp</description>

 

   <parent>

     <groupid>org.springframework.boot</groupid>

     <artifactid>spring-boot-starter-parent</artifactid>

     <version> 1.5 . 9 .release</version>

     <relativepath/> <!-- lookup parent from repository -->

   </parent>

 

   <properties>

     <project.build.sourceencoding>utf- 8 </project.build.sourceencoding>

     <project.reporting.outputencoding>utf- 8 </project.reporting.outputencoding>

     <java.version> 1.8 </java.version>

   </properties>

 

   <dependencies>

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter</artifactid>

     </dependency>

 

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-web</artifactid>

     </dependency>

 

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-devtools</artifactid>

       <scope>runtime</scope>

     </dependency>

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-test</artifactid>

       <scope>test</scope>

     </dependency>

     <dependency>

       <groupid>org.apache.tomcat.embed</groupid>

       <artifactid>tomcat-embed-jasper</artifactid>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupid>javax.servlet</groupid>

       <artifactid>jstl</artifactid>

     </dependency>

   </dependencies>

 

   <build>

     <plugins>

       <plugin>

         <groupid>org.springframework.boot</groupid>

         <artifactid>spring-boot-maven-plugin</artifactid>

       </plugin>

     </plugins>

   </build>

 

 

</project>

创建jsp放置文件夹

在src/main目录下创建webapp文件夹,为了迎合传统的结构,在webapp下创建web-inf文件夹,然后在新建的web-inf文件夹内创建jsp文件夹。(具体结构可以自行设计,无需按照这个demo来),目录结构如图

配置文件

配置文件内配置刚刚新建的目录,以及jsp文件后缀,配置如下:

?

1

2

3

4

5

server.port= 8888

 

 

spring.mvc.view.prefix=/web-inf/jsp/

spring.mvc.view.suffix=.jsp

新建controller

创建一个indexcontroller,里面写入一个跳转方法,代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

package com.dalaoyang.controller;

 

import org.springframework.stereotype.controller;

import org.springframework.ui.model;

import org.springframework.web.bind.annotation.getmapping;

 

/**

  * @author dalaoyang

  * @project springboot_learn

  * @package com.dalaoyang.controller

  * @email yangyang@dalaoyang.cn

  * @date 2018/8/13

  */

@controller

public class indexcontroller {

 

   @getmapping ( "/" )

   public string index(model model){

     model.addattribute( "name" , "dalaoyang" );

     return "index" ;

   }

 

}

创建一个jsp

在src/main/webapp/web-inf/jsp下面新建一个index.jsp,代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

<!doctype html>

 

<html lang= "en" >

<head>

   <meta charset= "utf-8" >

   <title>hello</title>

</head>

<body>

hello,${name}

</body>

</html>

运行测试

启动项目,在浏览器访问http://localhost:8888/,显示如下结果:

源码下载 : 大老杨码云

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://www.jianshu.com/p/4d9315f83372

查看更多关于SpringBoot使用Jsp的示例代码的详细内容...

  阅读:54次