当前位置:首页 > 行业动态 > 正文

SpringBoot中如果用jsp该怎么搞

在SpringBoot中使用JSP,首先需要了解JSP(JavaServer Pages)是一种基于Java的服务器端技术,用于生成动态网页,而SpringBoot是一个基于Spring框架的开源项目,主要用于简化Spring应用的初始搭建以及开发过程,将两者结合使用,可以实现在SpringBoot项目中使用JSP技术,下面我们详细介绍如何在SpringBoot项目中配置和使用JSP。

配置JSP支持

1、添加依赖

在SpringBoot项目的pom.xml文件中,添加以下依赖:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

2、配置application.properties

在SpringBoot项目的src/main/resources目录下的application.properties文件中,添加以下配置:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

这里设置了JSP文件的前缀和后缀,表示JSP文件存放在项目的/WEB-INF/jsp/目录下,后缀为.jsp。

编写JSP页面

1、在/WEB-INF/jsp/目录下创建一个文件夹,hello,在该文件夹下创建一个名为index.jsp的文件。

2、编写index.jsp文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello JSP</title>
</head>
<body>
    <h1>Hello, SpringBoot with JSP!</h1>
</body>
</html>

创建Controller处理请求

1、在项目中创建一个名为HelloController的控制器类,如下所示:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/hello")
public class HelloController {
    
    @GetMapping("/index")
    public ModelAndView index() {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("hello/index");
        return modelAndView;
    }
}

这里我们使用了@Controller注解来标识这是一个控制器类,并使用@RequestMapping注解来指定该控制器处理的请求路径,在index方法中,我们返回了一个ModelAndView对象,用于封装视图名称和模型数据,视图名称为"hello/index",表示要渲染的是/WEB-INF/jsp/hello/目录下的index.jsp文件。

访问JSP页面

1、在浏览器中输入以下URL地址访问JSP页面:http://localhost:8080/your_project_name/hello/index,其中your_project_name替换为你的项目名称,如果一切正常,你将看到如下输出:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello JSP</title>
</head>
<body>
    <h1>Hello, SpringBoot with JSP!</h1>
</body>
</html>

相关问题与解答

1、Q: 如何将JSP页面中的EL表达式解析成后端的Java对象?A: 在JSP页面中使用${}进行EL表达式解析时,实际上是将表达式交给了Spring容器进行解析,只需确保Spring容器中存在对应的Bean即可,在Controller中注入一个User对象,然后在JSP页面中使用${user}进行EL表达式解析。

0