SpringBoot使用Jsp的示例代码

下面是 Spring Boot 使用 JSP 的详细攻略,内容包括:

  1. 添加 Maven 依赖
  2. 配置 Spring Boot
  3. 创建 JSP 页面
  4. 创建 Controller 类
  5. 运行并访问页面

1. 添加 Maven 依赖

首先在 pom.xml 文件中添加以下依赖:

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

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

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

其中:

  • spring-boot-starter-web:Spring Boot Web 应用的核心依赖;
  • jstl:JSP 标签库依赖;
  • tomcat-embed-jasper:Tomcat JSP 解析器依赖。

2. 配置 Spring Boot

在 application.properties 文件中添加以下配置:

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

其中:

  • spring.mvc.view.prefix:JSP 视图文件路径前缀;
  • spring.mvc.view.suffix:JSP 视图文件后缀。

3. 创建 JSP 页面

在 src/main/webapp/WEB-INF/views/ 目录下创建 JSP 视图文件。例如,我们创建一个 home.jsp 文件,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Home</title>
</head>
<body>
    <h1>Hello, <%=name%>!</h1>
</body>
</html>

其中,<%=name%> 表示在后面的 Controller 类中传递到模板中的数据。

4. 创建 Controller 类

在 src/main/java/com/example/demo/ 目录下创建 HomeController 类,代码如下:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(ModelMap model) {
        model.addAttribute("name", "World");
        return "home";
    }

}

其中:

  • @Controller:声明这是一个 Spring MVC 控制器类;
  • @GetMapping("/"):映射根路径,即 http://localhost:8080/;
  • ModelMap:Spring MVC 模型对象,用于传递数据到视图中。

5. 运行并访问页面

最后,在终端中进入项目根目录,运行以下命令:

mvn spring-boot:run

此时,在浏览器中访问 http://localhost:8080/,即可看到页面输出 “Hello, World!”。

示例说明1

如果我们在 home() 方法中传递 model.addAttribute("name", "Bob");,则页面会输出 “Hello, Bob!”。

示例说明2

如果我们在 JSP 页面中加入一个表单,并将表单提交到一个新的页面。可以按照以下步骤来实现:

  1. 在 JSP 页面中加入表单:
<form role="form" action="/submit" method="POST">
    <div class="form-group">
        <label for="name">请输入名字:</label>
        <input type="text" class="form-control" id="name" name="name" />
    </div>
    <button type="submit" class="btn btn-default">提交</button>
</form>
  1. 创建一个新的 Controller 类来接受表单提交,并返回新的页面:
@Controller
public class SubmitController {

    @PostMapping("/submit")
    public String submit(@RequestParam String name, ModelMap model) {
        model.addAttribute("name", name);
        return "submit";
    }

}

其中:

  • @PostMapping("/submit"):将表单提交到 /submit 路径,使用 POST 方法;
  • @RequestParam String name:通过 RequestParam 注解获取表单中传递的 name 参数;
  • ModelMap:将传递的 name 参数添加到模型中。

  • 创建新的 JSP 页面 submit.jsp,用于展示表单提交成功的页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>提交成功</title>
</head>
<body>
    <h1>提交成功!您输入的名字是 <%=name%></h1>
</body>
</html>
  1. 在 application.properties 文件中添加新的视图配置:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

# 新增以下配置
spring.mvc.static-path-pattern=/static/**

其中:

  • spring.mvc.static-path-pattern=/static/**:表示将静态文件(如 css、js 等)放在 static 目录下,访问路径以 /static/ 开头。

  • 在 static 目录下创建一个 css 文件,例如 static/style.css:

/* 样式表 */
h1 {
    color: #337ab7;
}

在 submit.jsp 文件头部加入以下代码,引入样式表:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>提交成功</title>
    <link rel="stylesheet" type="text/css" href="/static/style.css" />
</head>
<body>
    <h1>提交成功!您输入的名字是 <%=name%></h1>
</body>
</html>
  1. 运行并访问页面

最后,在终端中进入项目根目录,运行以下命令:

mvn spring-boot:run

此时,在浏览器中访问 http://localhost:8080/,输入名字并点击提交按钮,即可看到提交成功的页面,上面展示了输入的名字和样式表设置的标题颜色。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot使用Jsp的示例代码 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Spark SQL配置及使用教程

    Spark SQL配置及使用教程 什么是Spark SQL? Spark SQL是运行在Apache Spark之上的模块,它提供结构化数据处理的能力,可以让用户使用SQL语句或DataFrame API处理结构化数据,同时可以与其他Spark模块集成使用。 Spark SQL的配置 1. 坐标依赖配置 <dependency> <grou…

    Java 2023年6月2日
    00
  • Spring JPA联表查询之OneToMany源码解析

    OK,这里是详细讲解“Spring JPA联表查询之OneToMany源码解析”的完整攻略。 一、背景介绍 在开发过程中,经常需要使用 JPA 进行数据库操作,其中,面对一对多关系的模型,我们可能需要使用到 JPA 的联表查询功能。本文将以一个简单的例子为基础,深入探究 Spring JPA 如何实现一对多关系的联表查询。 二、实例解析 考虑在一个商城系统中…

    Java 2023年5月20日
    00
  • JSON Web Token(JWT)原理入门教程详解

    JSON Web Token(JWT)原理入门教程详解 什么是JSON Web Token(JWT)? JSON Web Token(JWT)是一种安全的身份验证方式,用于在客户端和服务器之间传递声明,以便在客户端和服务器之间进行身份验证和授权。JWT是一种开放标准(RFC 7519),它定义了一种紧凑和自包含的方式用于在各方之间作为JSON对象安全地传输信…

    Java 2023年5月19日
    00
  • c# 制作gif的四种方法

    C# 制作 Gif 的四种方法 1. 使用Gifski库制作Gif Gifski是一个基于 Rust 编写的 Gif 压缩库,可以生成高质量的 Gif 图像。在 C# 中,可以通过调用 Gifski 的 DLL 文件来实现 Gif 图像的制作。 以下是使用 Gifski 制作 Gif 图像的示例: using GifskiLib; // 创建 Gifski …

    Java 2023年5月19日
    00
  • SpringSecurity Jwt Token 自动刷新的实现

    下面是SpringSecurity Jwt Token 自动刷新的实现的完整攻略。 1. 什么是Jwt Token? Jwt Token(也称为 Json Web Token)是一种基于 JSON 格式的身份验证标准。通常用于 RESTful API,作为一种简单、轻量级的身份验证机制,用于跨域身份验证,以及在分布式系统中传递身份信息。它包含了三部分: He…

    Java 2023年5月20日
    00
  • JavaWeb乱码问题的终极解决方案(推荐)

    JavaWeb乱码问题的终极解决方案 问题描述 在JavaWeb开发过程中,经常会遇到乱码问题。例如,使用post方式提交中文数据时,后台接收到的数据却是乱码。 这个问题的根本原因是因为编解码不一致,导致前端提交的数据在后端被解析时出现了乱码。 解决方案 解决这个问题的终极解决方案,是将全站都使用UTF-8编解码。这包括了Java代码和Web页面都需要使用U…

    Java 2023年5月20日
    00
  • Java ExecutorService四种线程池使用详解

    接下来我将详细讲解 “Java ExecutorService四种线程池使用详解” 的完整攻略,它包括了线程池的定义,四种线程池的使用以及线程池的实例化。 线程池的定义 在实际开发过程中,经常需要创建大量的线程来处理一些任务,这样一来就会使得系统开销增大,严重影响了系统的性能。线程池的出现就是为了解决这个问题。 线程池可以复用已创建的线程,降低线程的创建和销…

    Java 2023年5月18日
    00
  • 基于Calendar获取当前时间的性能比较

    让我为您讲解“基于Calendar获取当前时间的性能比较”的完整攻略。 1. 问题背景 在Java开发中,获取当前时间常常是必不可少的操作。除了使用系统默认的时间获取方式 System.currentTimeMillis(),还可以使用 Calendar.getInstance() 获取当前时间。那么,基于 Calendar 获取当前时间的性能如何,是否比直…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部