springboot整合jsp
转载至 小小的bug
原文链接:https://www.jianshu.com/p/d48742c46633
前言
本篇文章主要介绍的是springboot整合jsp。
Jsp简介
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
GitHub源码链接位于文章底部。
项目结构
如果没有webapp目录,则需要在Java与resources的同级目录下创建。并将其设置为web资源的文件夹。菜单栏中File-Project Structure
pom文件中添加依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- SpringBoot 外部tomcat支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
application.yml文件中配置:
server:
port: 8080
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
根据这里的配置,我们需要在webapp目录下创建WEB-INF文件夹,在WEB-INF文件夹下创建jsp文件夹存放jsp页面。
在刚刚创建的目录中新建一个index.jsp文
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
Jsp测试页面
</body>
</html>
JspController中添加接口:
@Controller
public class JspController {
@RequestMapping("/index")
public String index() {
return "index";
}
}
通过启动类启动程序后,访问localhost:8080/index 接口,返回index.jsp视图。
image
启动后访问jsp报404的原因:
1.yml文件中配置的jsp路径与jsp页面在项目中的路径不一致
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
要将webapp目录设置为web资源文件夹,设置方法文章上面有提过;在webapp文件夹下创建WEB-INF文件夹,在WEB-INF文件夹下创建jsp文件夹,在jsp文件夹下存放jsp文件。
2.在多模块的情况下,需要手动设置工程的Working directory
image
3.springboot打包方式为jar也会报404,改为war即可。
本文GitHub源码:https://github.com/lixianguo5097/springboot/tree/master/springboot-jsp