SpringBoot整合JSP

开课吧开课吧锤锤2021-08-04 15:15

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>

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

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: true

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

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

SpringBoot整合JSP

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

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

SpringBoot整合JSP

SpringBoot整合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";
    }
}

(如果使用@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>

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

SpringBoot整合JSP

得到想要的结果。  

以上就是开课吧广场小编为大家整理发布的“SpringBoot整合JSP”一文,更多Java教程相关内容尽在开课吧广场Java教程频道!

开课吧广场Java教程

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
高并发编程训练营