spring boot集成jsp

我们在使用spring boot进行web项目开发的时候,可能会选择页面用jsp。spring boot默认使用的html的,现在我们来看下如何集成jsp页面进行开发。

1.pom.xml文件引入所需依赖

我们要在pom.xml文件中引入jsp页面所需要的jar包,如下:


        
        <dependency>
            <groupId>org.apache.tomcat.embedgroupId>
            <artifactId>tomcat-embed-jasperartifactId>
        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
        dependency>
        
        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>jsp-apiartifactId>
            <version>2.2version>
        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>
        dependency>

2.配置文件设置前端视图展示为jsp

在application.properties文件中配置前端视图页面展示为jsp页面,

#前端视图展示jsp页面
#springmvc的前缀,页面的所在位置
spring.mvc.view.prefix=/
#springmvc的后缀
spring.mvc.view.suffix=.jsp

3.编写一个jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    首页



${msg}

我们写一个简单的jsp页面,里面body中打印了一个变量msg。

4.编写一个访问控制器

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class JspController {

    @GetMapping("/index")
    public String index(Model model){

        model.addAttribute("msg","spring boot集成jsp");
        return "index";
    }
}

在这里,应为需要返回页面,所以我们用的注解是@Controller。@RestController注解是返回json格式的字符串。相当于@Controller + @ResponseBody。然后启动项目,访问地址http://127.0.0.1:8088/demo/index,效果如下:

spring boot集成jsp_第1张图片

这里我们需要注意下,如果访问的时候,获取不到jsp页面,那么我们需要在pom.xml文件进行修改编译jsp页面后的位置。在build标签下增加resources部分,如下:

    <resources>
            
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.xmlinclude>
                includes>
            resource>
            <resource>
                <directory>src/main/resourcesdirectory>
                <includes>
                    <include>**/*.*include>
                includes>
            resource>

            
            <resource>
                <directory>src/main/webappdirectory>
                <targetPath>META-INF/resourcetargetPath>
                <includes>
                    <include>**/*.*include>
                includes>
            resource>
        resources>

你可能感兴趣的:(spring boot集成jsp)