SpringBoot使用Jsp
本文是简单总结一下SpringBoot使用Jsp的Demo。
前言
在早期做项目的时候,JSP是我们经常使用的java服务器页面,其实就是一个简化servlet的设计,在本文开始之前,回顾一下jsp的几大对象,如图。
而在现在SpringBoot框架流行的时代,SpringBoot推荐的模版引擎也转变为了thymeleaf,本文来介绍一下SpringBoot使用Jsp页面。
新建项目
创建一个项目springboot_jsp,pom文件中加入tomcat-embed-jasper依赖以及jstl标签库的依赖,完整pom代码如下:
?xml version=1.0encoding=UTF-8?
project xmlns=http://maven.apache.org/POM/4.0.0 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd
modelVersion4.0.0/modelVersion
groupIdcom.dalaoyang/groupId
artifactIdspringboot_jsp/artifactId
version0.0.1-SNAPSHOT/version
packagingwar/packaging
namespringboot_jsp/name
descriptionspringboot_jsp/description
parent
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-parent/artifactId
version1.5.9.RELEASE/version
relativePath/ !-- lookup parent from repository --
/parent
properties
project.build.sourceEncodingUTF-8/project.build.sourceEncoding
project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding
java.version1.8/java.version
/properties
dependencies
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter/artifactId
/dependency
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-web/artifactId
/dependency
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-devtools/artifactId
scoperuntime/scope
/dependency
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-test/artifactId
scopetest/scope
/dependency
dependency
groupIdorg.apache.tomcat.embed/groupId
artifactIdtomcat-embed-jasper/artifactId
scopeprovided/scope
/dependency
dependency
groupIdjavax.servlet/groupId
artifactIdjstl/artifactId
/dependency
/dependencies
build
plugins
plugin
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-maven-plugin/artifactId
/plugin
/plugins
/build
/project
创建jsp放置文件夹
在src/main目录下创建webapp文件夹,为了迎合传统的结构,在webapp下创建WEB-INF文件夹,然后在新建的WEB-INF文件夹内创建jsp文件夹。(具体结构可以自行设计,无需按照这个demo来),目录结构如图
配置文件
配置文件内配置刚刚新建的目录,以及jsp文件后缀,配置如下:
server.port=8888
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
新建Controller
创建一个IndexController,里面写入一个跳转方法,代码如下:
package com.dalaoyang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
/**
* @author dalaoyang
* @project springboot_learn
* @package com.dalaoyang.controller
* @email [email protected]
* @date 2018/8/13
*/
@Controller
public class IndexController {
@GetMapping(/)
public String index(Model model){
model.addAttribute(name, dalaoyang);
return index;
}
}
创建一个jsp
在src/main/webapp/WEB-INF/jsp下面新建一个index.jsp,代码如下:
!DOCTYPE html
html lang=en
head
meta charset=UTF-8
titleHello/title
/head
body
Hello,${name}
/body
/html
运行测试
启动项目,在浏览器访问http://localhost:8888/,显示如下结果: