如果你已经使用了html后面需要增加jsp,这篇文章可以帮到你
你需要修改几个地方
第1:增加依赖包
在pom.xml
<!-- JSP相关依赖 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
第2:修改application.properties
#html
spring.thymeleaf.prefix=classpath:/WebRoot/
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.view-names=*
# JSP
spring.mvc.view.prefix=/jsp/
spring.mvc.view.suffix=.jsp
spring.mvc.view-names=jsp/
这里我解释一下,我在使用thymeleaf模板时,我指定了目录名称叫WebRoot,而你们默认的名称应该是thymeleaf。
spring.thymeleaf.suffix=.html这里是以.html为结尾的文件
spring.thymeleaf.view-names=* 这里是html的解析名称,在controller类里,你return"index";时用到的
spring.mvc.view.prefix=/jsp/ 这里是寻找目录webapp下目录jsp/下的内容
spring.mvc.view.suffix=.jsp 找到以.jsp为结尾的文件
spring.mvc.view-names=jsp/ 控制器类里用到的转发
第3:增加一个jsp控制器类
package com.student.platform.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class JspController {
@RequestMapping("/show")
public void show(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/jsp/showmessage2.jsp").forward(request,response);
}
}
第4:Maven install 一下,然后再启动springboot
访问jsp地址
localhost:8080/项目名称/show
访问html地址
和上面是一样的,看你控制器指向谁比如index.html
localhost:8080/项目名称/index
总结:本次采用request.getRequestDispatcher的方式访问jsp内容。百度找了很多答案,这个是比较靠谱的,其他的方法不知道哪里出了问题。老是返回500代码。