springboot集成jsp
前后端分离的项目很少使用到,因为有项目升级,jsp比较多。
- (1)springboot jsp页面
》添加依赖servlet ,jstl ,JSP引擎
》新建webapp目录(没有该目录不能创建jsp)
》application.properties或者application.yml配置mvc
springboot不建议大家使用jsp,而推荐使用 thymeleaf
大家只能手动添加依赖,并且手动创建webapp目录
依赖jsp servlet
pom.xml
<!-- 添加 servlet 依赖. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- 添加 JSTL(JSP Standard Tag Library,JSP标准标签库) -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- Jasper是tomcat中使用的JSP引擎,运用tomcat-embed-jasper可以将项目与tomcat分开 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
依赖springboot插件
不直接使用main运行,因为这样会出现404找不到页面
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
创建目录webapp
src\main\webapp\WEB-INF\pages\list.jsp
src\main\webapp\WEB-INF\pages\list.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>我是list页面list.jsp</title>
</head>
<body>
${name}
</body>
</html>
application.yml
mvc:
view:
prefix: "/WEB-INF/pages/"
suffix: ".jsp"
springboot集成jsp测试
- (1)编写Controller
- (2)请求转发数据到页面(测试el表达式)
- (3)运行要使用spring-boot:run
src\main\java\com\dev1\controller\Demo02Controller.java
package com.dev1.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletRequest;
@Controller
public class Demo02Controller {
@Autowired
HttpServletRequest request;
@RequestMapping(value = "/demo02",method = RequestMethod.GET)
public String demo02(){
request.setAttribute("name","jack");
return "list"; // webapp/WEB-INFO/pages/list.jsp
}
}