在SpringBoot中使用JSP遇到的问题

1. 环境

开发环境:idea2019.3
jkd版本:1.8
springboot版本:2.6.2

2. 引入JSP

2.1 idea新建空的工程,在空的工程中添加springboot模块,并引入jsp依赖

这里只是解析jsp,因此只需要引入springboot内嵌的tomcat对jsp的解析包

<!-- 引入依赖:springboot内嵌的tomcat对jsp的解析包-->
<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-jasper</artifactId>
</dependency>

2.2 在src/main下新建webapp目录

在SpringBoot中使用JSP遇到的问题

这时,如果在webapp目录下右键新建jsp,发现在新建菜单中,没有jsp选项,解决方法如2.3

2.3 将webapp设置为web资源存放目录

打开项目结构(project structure),选择module,选择该moule的web项,添加资源目录。
在SpringBoot中使用JSP遇到的问题

这时,webapp目录编程带有绿色小点的图标。如下图所示:

在SpringBoot中使用JSP遇到的问题

2.3 在src/main/webapp目录下新建jsp文件

这里新建一个简单的index.jsp文件,内容如下所示:

<%--
  Created by IntelliJ IDEA.
  User: Think
  Date: 2022/1/7
  Time: 12:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    这是springboot应用中引入的第一个jsp
</body>
</html>

2.4 测试

运行springboot应用,浏览器访问index.jsp,发现无法访问

2.5 解决问题的两种方法

方法1:设置工作目录
点击Edit Configuation,设置工作目录,如下图所示:
在SpringBoot中使用JSP遇到的问题

设置工作目录为 $MODULE_WORKING_DIR$(或者$MODULE_DIR$, idea2019.3中默认没有这个目录,可以用户输入$MODULE_DIR$和$MODULE_WORKING_DIR$效果相同)

在SpringBoot中使用JSP遇到的问题

方法2:配置web资源编译后的输出目录

在pom文件的节点中设置web资源编译后的输出目录

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<!-- 下面的目录可以自己设置 -->
				<directory>src/main/webapp</directory>
				<targetPath>META-INF/resources</targetPath>
			</resource>
		</resources>
	</build>
上一篇:OneNote发布至博客园


下一篇:卸载onenote重新安装 很抱歉,遇到一些临时服务器问题