SpringBoot整合JSP

JSP(JavaServerPages)是Java服务器页面部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。

JSP需要三个依赖来提供运行环境:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
</dependency>1234567891011121314复制代码类型:[java]

导入依赖后对配置文件进行删改:

spring:
  jackson:
 date-format: yyyy-MM-dd HH:mm:ss
 time-zone: GMT+8
  datasource:
 driver-class-name: com.mysql.cj.jdbc.Driver
 url: jdbc:mysql://localhost:3306/Family?useUnicode=true&characterEncoding=utf-8&useSSL=false
 username: root
 password: 123456

  mvc:
 view:
   # 指明 jsp 以什么样的后缀结尾
   suffix: .jsp
   # 指明 jsp 在 webapp 下的哪个目录
   prefix: /WEB-INF/jsp/

  debug: true123456789101112131415161718复制代码类型:[java]

完成以上配置后,我们将其他部分的代码还原到讲解MybatisPlus时的样子。

之后来对照一下目录结构:

(如果WEB-INF的文件夹图标没有特殊标识,那就需要右键->MarkDirectoryas->SourcesRoot)

由于IDEA认为JSP是一个过时的技术,所以没有默认的创建选项,因此我们要点击右上角的文件夹图标:

完成配置后,写代码进行测试。

首先在controller文件夹里创建TemplateController.java文件。

package com.javafamily.familydemo.controller;import com.javafamily.familydemo.model.PetsVO;import com.javafamily.familydemo.service.PetsService;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import javax.annotation.Resource;import java.util.List;@Controller@RequestMapping("/template")public class TemplateController { @Resource
 PetsService petsService; @GetMapping("/jsp")
 public String index(Model model) {

  List<PetsVO> pets = petsService.getAll();

  model.addAttribute("pets", pets);  return "test";
 }
}1234567891011121314151617181920212223242526272829复制代码类型:[java]

(如果使用@RestController注解,则Controller中的方法无法返回jsp页面。@RestController注解会跳过视图解析器将返回值以json的形式返回。)

之后我们将JavaFamily.png拖进image文件中。然后编写test.jsp部分的代码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>宠物</title>
 <link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css">
</head>
<body>
<table class="table">
 <tr>
  <td>name</td>
  <td>varieties</td>
 </tr>
 <c:forEach var="pets" items="${pets}">
  <tr class="text-info">
   <td>${pets.name}</td>
   <td>${pets.varieties}</td>
  </tr>
 </c:forEach>
</table>

<img src="/image/JavaFamily.png">

<script src="/webjars/jquery/jquery.min.js "></script>
<script src="/webjars/bootstrap/js/bootstrap.min.js"></script>
</body>1234567891011121314151617181920212223242526272829复制代码类型:[java]

完成后,执行代码,在浏览器输入http://localhost:8888/template/jsp,就可以将内容显示出来:

得到想要的结果。

(0)

相关推荐

  • idea 访问 jsp 404问题

    前提场景:以前的大量web项目是用jsp写的,改到springcloud中templates中不支持jsp网页. 1.在resources同级目录下新建一个webapp 2.到Project Sett ...

  • 告别 swagger-ui ,我选择了这款神器!

    一.介绍 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名 ...

  • 【教程】IDEA创建Maven项目并整合Tomcat发布,问题解决大全

    一篇入门教程 一.创建项目并运行 参考这个视频,能顺利运行 helloworld ,本人用的 IDEA2020.2.3 .jdk11 .Tomcat9 .Maven3.6 bilibili-IDEA( ...

  • jackson学习之九:springboot整合(配置文件)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章汇总 jackson学习之一:基本信息 jac ...

  • 手把手教你SpringBoot整合MybatisPlus 代码生成器

    一.在pom.xml中添加所需依赖 <!-- MyBatis-Plus代码生成器--><dependency> <groupId>com.baomidou</ ...

  • quartz与springboot整合无法暂停job问题

    很多项目中都会用到定时任务的场景.起初项目中只是简单的使用了spring提供的@Scheduled注解.随着定时任务越来越多,我们需要对定时任务进行可视化管理,于是就单独建立了一个工程,用quartz ...

  • SpringBoot整合RabbitMQ 手动应答 简单demo

    版本说明 JDK 1.8 RabbitMQ 3.7.15 Erlang 22.0 SpringBoot 2.3.3.RELEASE // Update 2021年1月19日16:50:16 CentO ...

  • SpringBoot整合Shiro权限框架实战

    什么是ACL和RBAC ACL Access Control list:访问控制列表 优点:简单易用,开发便捷 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理 例子:常见的文件系 ...

  • SpringBoot整合阿里短信服务

    导读 由于最近手头上需要做个Message Gateway,涉及到:邮件(点我直达).短信.公众号(点我直达)等推送功能,网上学习下,整理下来以备以后使用. 步骤 点我直达 登录短信服务控制台 点我直 ...

  • Springboot整合百度开源分布式ID生成器UIDGenerator

    环境:sprinboot2.3.12.RELEASE uid-generator1.0.0 简介 UidGenerator是Java实现的, 基于Snowflake算法的唯一ID生成器.UidGene ...

  • SpringBoot整合Durid

    上一篇我们整合了MySQL和JDBCTemplate,并在结尾完成了双数据源的配置和插入动作.当我们将数据插入成功后,查看控制台就会发现,我们已经使用了默认的数据库连接池HikariDataSourc ...

  • SpringBoot整合Quartz作为调度中心完整实用例子

    因为想要做一个类似于调度中心的东西,定时执行一些Job(通常是一些自定义程序或者可执行的jar包),搭了一个例子,总结了前辈们的相关经验和自己的一些理解,如有雷同或不当之处,望各位大佬见谅和帮忙指正. ...