首页
学习
活动
专区
圈层
工具
发布
25 篇文章
1
SpringBoot2.x系列教程(五十九)SpringBoot实现国际化i18n功能
2
SpringBoot2.x系列教程(五十五)Mybatis反向生成Java代码
3
SpringBoot2.x系列教程(四十四)WebSocket基础知识简介
4
SpringBoot2.x系列教程(四十三)SpringBoot整合Swagger2
5
SpringBoot2.x系列教程(五十)Spring Boot Idea中热部署(自动刷新)
6
SpringBoot2.x系列教程(四十二)SpringBoot中构建RESTful服务
7
SpringBoot2.x系列教程(三十八)SpringBoot配置Https访问
8
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
9
SpringBoot2.x系列教程(三十四)Thymeleaf自动配置源码解析
10
SpringBoot2.x系列教程(三十三)Thymeleaf手动渲染实例讲解
11
SpringBoot2.x系列教程(三十二)Thymeleaf资源导入及公共布局
12
SpringBoot2.x系列教程(三十一)Thymeleaf的基本使用
13
SpringBoot2.x系列教程(三十)SpringBoot集成Thymeleaf
14
SpringBoot2.x系列教程(二十九)freemarker自动配置源码解析
15
SpringBoot2.x系列教程(二十八)freemarker基本语法使用
16
SpringBoot2.x系列教程(二十六)Springboot集成freemarker
17
SpringBoot2.x系列教程(二十五)Jsp中使用jstl和引入静态资源
18
SpringBoot2.x系列教程(二十三)SpringBoot集成Jsp
19
SpringBoot2.x系列教程(二十二)简单参数校验及统一异常处理
20
SpringBoot2.x系列教程(二十)自定义参数校验注解
21
SpringBoot2.x系列教程(十三)Jackson命名策略及自定义序列化
22
SpringBoot2.x系列教程(十)Json之基础使用详解
23
SpringBoot2.x系列教程(十九)Validation数据校验基础使用
24
SpringBoot2.x系列教程(九)基于Postman的RESTful接口调用
25
SpringBoot2.x系列教程(八)SpringBoot常用注解汇总

SpringBoot2.x系列教程(二十三)SpringBoot集成Jsp

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。从开始学习Java Web应用,第一个学习的就是JSP和Servlet,我们就不过多介绍。直接进入Spring Boot对其集成使用的部分。

在使用之前,首先明确一下,SpringBoot使用内嵌的servlet容器,对jsp的支持不是很好,而且官方也不建议使用jsp。就本人而言当使用SpringBoot之后,基本上也放弃了jsp的使用。

但大家可能由于项目或历史原因,还在使用jsp的话,这篇文章给大家讲解一下如何集成于SpringBoot当中。

创建项目

像通常一样创建SpringBoot项目,勾选web和Lombok。由于要存放jsp的文件,因此需要在main目录下新建webapp/WEB-INFjsp。目录结构如下:

代码语言:javascript
复制
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── secbro2
│   │   │           ├── SpringbootJspApplication.java
│   │   │           └── controller
│   │   │               └── HelloWorldController.java
│   │   ├── resources
│   │   │   ├── application.properties
│   │   │   ├── static
│   │   │   └── templates
│   │   └── webapp
│   │       └── WEB-INF
│   │           └── jsp
│   │               └── hello.jsp

添加依赖

还需添加支持jstl和内置tomcat容器的jsp依赖模块。

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--引入jstl-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<!--内嵌的tomcat支持模块-->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

配置文件配置

application.properties中指定视图文件的前缀和后缀。

代码语言:javascript
复制
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

编写Controller

通过简单示例,将请求参数返回页面。

代码语言:javascript
复制
@Controller
public class HelloWorldController {

	@RequestMapping("/hello")
	public String hello(String name, Model model) {
		model.addAttribute("name", name);
		return "hello";
	}

}

JSP页面

JSP页面简单展示效果。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello ${name}!</title>
</head>
<body>
<h2 class="hello-title">Hello ${name}!</h2>
</body>
</html>

浏览器访问

通过浏览器访问:http://localhost:8080/hello?name=Tom

页面显示:

代码语言:javascript
复制
Hello Tom!

至此完成最简单的集成。

但是在真正的使用过程中会发现很多问题,比如最常见的运行 java -jar xx.jar时访问页面404的问题。关于该问题的几种解决方案,会在下篇文章中进行详细的解析。

下一篇
举报
领券