前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot2.x系列教程(二十三)SpringBoot集成Jsp

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

作者头像
程序新视界
发布2020-02-13 10:37:42
1.7K0
发布2020-02-13 10:37:42
举报
文章被收录于专栏:丑胖侠丑胖侠丑胖侠

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。目录结构如下:

├── 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依赖模块。

<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中指定视图文件的前缀和后缀。

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

编写Controller

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

@Controller
public class HelloWorldController {

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

}

JSP页面

JSP页面简单展示效果。

<!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

页面显示:

Hello Tom!

至此完成最简单的集成。

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建项目
  • 添加依赖
  • 配置文件配置
  • 编写Controller
  • JSP页面
  • 浏览器访问
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档