Eclipse中Spring Boot响应jsp的简单demo

时间:2024-03-19 12:10:49

首先在Eclipse里新建一个maven工程,这里的打包类型和父包如果后续再去pom中添加也可以

Eclipse中Spring Boot响应jsp的简单demo

此时的工程路径是这样的

Eclipse中Spring Boot响应jsp的简单demo

接下来去到pom中添加相关的依赖,如果有报错maven update一下即可

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

构建路径并创建启动类

Eclipse中Spring Boot响应jsp的简单demo

此时需要注意,后续开发controller层时所有的controller类必须要在com.jspdemo或者com.jspdemo.*下,否则运行时是无法找到controller类的

继续流程,启动类的代码如下

package com.jspdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Application {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

直接运行一下发现没问题,那么继续

Eclipse中Spring Boot响应jsp的简单demo

新建application.properties文件来进行相关的配置,可以修改下端口测试该文件是否生效

server.port=8081

发现使用8081端口可以正常访问,没问题,那么继续

Eclipse中Spring Boot响应jsp的简单demo

为jsp文件构建路径并新建一个简单的jsp文件

Eclipse中Spring Boot响应jsp的简单demo

jsp文件的内容如下

<html>
<body>
    Message is ${message}
</body>
</html>

接下来需要按照构建的路径在application.properties文件中添加相关的配置

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

注意,如果是老版本的spring boot,可能需要将.mvc去掉,也就是像这样

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

接下来可以开始构建controller层了

Eclipse中Spring Boot响应jsp的简单demo

DemoController类的代码如下,其功能主要是接收/test的请求并将jsp文件中的message对象做一个填充

package com.jspdemo.controller;

import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class DemoController {
    @RequestMapping("/test")
    public String index(Map<String, Object> map){
        map.put("message", "Controller");
        return "index";
    }
}

一切准备完毕,测试一下,OK啦

Eclipse中Spring Boot响应jsp的简单demo