我们在使用spring boot进行web项目开发的时候,可能会选择页面用jsp。spring boot默认使用的html的,现在我们来看下如何集成jsp页面进行开发。

1.pom.xml文件引入所需依赖

我们要在pom.xml文件中引入jsp页面所需要的jar包,如下:

<!-- springboot支持jsp -->
<!--引入springboot内嵌的tomcat对jsp的解析包-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- servlet依赖的jar包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- jsp依赖的jar包 -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<!-- jstl标签依赖的jar包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

2.配置文件设置前端视图展示为jsp

在application.properties文件中配置前端视图页面展示为jsp页面,

#前端视图展示jsp页面
#springmvc的前缀,页面的所在位置
spring.mvc.view.prefix=/
#springmvc的后缀
spring.mvc.view.suffix=.jsp

3.编写一个jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>首页</title>
</head>
<body> ${msg}
</body>
</html>

我们写一个简单的jsp页面,里面body中打印了一个变量msg。

4.编写一个访问控制器

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; @Controller
public class JspController { @GetMapping("/index")
public String index(Model model){ model.addAttribute("msg","spring boot集成jsp");
return "index";
}
}

在这里,应为需要返回页面,所以我们用的注解是@Controller。@RestController注解是返回json格式的字符串。相当于@Controller + @ResponseBody。然后启动项目,访问地址http://127.0.0.1:8088/demo/index,效果如下:

这里我们需要注意下,如果访问的时候,获取不到jsp页面,那么我们需要在pom.xml文件进行修改编译jsp页面后的位置。在build标签下增加resources部分,如下:

    <resources>
<!-- 将xml也编译 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource> <!-- src/main/webapp目录下所有的文件编译到 META-INF/resource下 -->
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resource</targetPath>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>

最新文章

  1. Dojo: Quick Start
  2. python学习2
  3. Java-Linux系统中搭建开发环境
  4. floyd离散,最小环
  5. JS_01_入门学习
  6. 安装Ubuntu双系统系列——安装中文输入法
  7. [转载]C#.NET中Dns类的常用方法及说明
  8. ajax常用操作
  9. 用python 发 帝国cms 文章
  10. 22.C# 事件
  11. Java -- 构造函数 &amp; this &amp; 方法重写和方法重载的区别
  12. JVM调优命令-jstack
  13. 思维|蚂蚁感冒|2014年蓝桥杯A组题解析第七题-fishers
  14. Entrust - Laravel 用户权限系统解决方案
  15. [转][EasyUI]扩展 DateBox
  16. Android按键添加和处理的方案
  17. spring mvc 学习01 搭建
  18. StructuredStream StateStore机制
  19. iOS “[App] if we&#39;re in the real pre-commit handler we can&#39;t actually add any new fences due
  20. MySQL中SYSDATE()和NOW()函数的区别和联系

热门文章

  1. js常见运算符
  2. SuperSocket 扩展你的 Logger
  3. 原生js实现计时器
  4. CentOS7在防火墙与端口上的操作
  5. H3C IPv6地址表示方式
  6. [学习笔记]Pollard-Rho
  7. ipv6现状,加英文的中括号访问, ipv6测试http://test-ipv6.com
  8. Canvas动画:地球绕着太阳转
  9. Java内存溢出java.lang.OutOfMemoryError: PermGen space
  10. Mybatis与Spring集成(易百教程)