下面是 Spring Boot 使用 JSP 的详细攻略,内容包括:
- 添加 Maven 依赖
- 配置 Spring Boot
- 创建 JSP 页面
- 创建 Controller 类
- 运行并访问页面
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 页面中加入一个表单,并将表单提交到一个新的页面。可以按照以下步骤来实现:
- 在 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>
- 创建一个新的 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>
- 在 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>
- 运行并访问页面
最后,在终端中进入项目根目录,运行以下命令:
mvn spring-boot:run
此时,在浏览器中访问 http://localhost:8080/,输入名字并点击提交按钮,即可看到提交成功的页面,上面展示了输入的名字和样式表设置的标题颜色。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot使用Jsp的示例代码 - Python技术站