Spring Boot学习之添加对JSP的支持

最近在学习SpringBoot框架,发现官方并不推荐使用JSP,但是目前本人作为小白,还是很多地方需要使用到JSP的。

网上找过很多对于SpringBoot支持JSP的文章,发现比较杂乱,现针对自己所遇到的问题整理一下。

废话不多说。


准备工作:

工具使用Spring Tool 3.9.2.RELEASE

使用Spring  Tool 工具采用直接建立Spring Starter Project项目


1、建立好的Spring Boot项目默认对JSP不支持,需要在pom.xml中添加依赖

		<!--jsp支持 -->
		<!-- servlet 依赖. -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<!-- tomcat 的支持. -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<scope>provided</scope>
		</dependency>

2、需要在配置文件application.properties中添加如下配置项

#返回的前缀   目录对应src/main/webapp下
spring.mvc.view.prefix: /
#返回后缀
spring.mvc.view.suffix: .jsp


3、编写对应的Controller

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;



import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class testController {
	@RequestMapping("/")

	public String home(Map<String, Object> map) {
		map.put("nowDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
		return "manage/index";
	}

}

4、编写对应的JSP文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
<link href="/css/bootstrap.min.css" type="text/css"></link>
<link href="/css/bootstrap-theme.min.css" type="text/css"></link>
</head>
<body>
	<h1>hello spring boot!</h1>
	<h2>现在时间是:${nowDate}</h2>
</body>
</html>


这样对JSP就可以直接进行支持

发现问题:

1、如果没有在pom.xml中添加依赖,直接return JSP视图时无法解析,弹出下载窗口;

2、在测试期间,无数据库支持时,启动Spring Boot,需要在WebApplication.java文件中@SpringBootApplication注解中添加exclude = { DataSourceAutoConfiguration.class }

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })

public class WebApplication   {


	public static void main(String[] args) {
		SpringApplication.run(WebApplication.class, args);
	}

}


本人为小白,只是记录自己出现的问题,如有错误,请大牛们批评指证,感谢!


猜你喜欢

转载自blog.csdn.net/zhum_sjz/article/details/79843275
今日推荐