springboot下创建运行jsp

在SpringBoot中,其实不建议我们使用jsp。因为SpringBoot自带的嵌入式servlet容器对jsp的解析有一些使用限制,再者jsp的本质也算是Servlet,每个页面都需要先进行编译,因此jsp的效率相对于html或thymeleaf都比较低。但如果你非要在Spring Boot中使用jsp,这篇文章或许就能帮到你。

工具:idea2021.3.1 maven3.6.3 jdk8

  1. 点击File --> New --> Project,选择 java,JDK版本,点击 Next:

在这里插入图片描述
2. 左侧选择 Spring initializr 右侧面板依次填入或者确认 1:Server URL(构建提供者),2:项目名,3:Group , 4:java版本,5,打包方式,然后点击 Next 进入下一步。
在这里插入图片描述

  1. 选择上一步下载源提供的开发包,jsp程序的话就先选择一个 Spring Web 好了,点击 Finish 由idea自动构建项目。

    在这里插入图片描述

  2. 构建好后项目结构大致如下:

    在这里插入图片描述

  3. 我们依次创建 jsp 的目录,webapp,jsps,WEB-INF 等:

    在这里插入图片描述

  4. 下面需要给spring boot 项目添加这个webapp模块,点击菜单栏 File --> Project Structure… 进入项目结构设置界面:

    在这里插入图片描述

  5. 在项目设置界面分别点击 1 Modules,2 Web(没有可以点击上方附近的"+“添加Web模块),3 选择 Web Resource Directories 中的”+"添加项目 Web Resource 目录,4 选择浏览至项目src/main/webapp目录,5 点击ok,6 点击ok 项目web资源添加完毕。

    在这里插入图片描述

  6. 接下来就可以在webapp中创建jsp的文件了。我们先修改一下 pom 文件,引入 jsp 需要的依赖,最后pom文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.schen</groupId>
        <artifactId>btjsp01</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>btjsp01</name>
        <description>btjsp01</description>
    
        <properties>
            <java.version>1.8</java.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <spring-boot.version>2.5.12</spring-boot.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <!-- 添加servlet依赖模块 -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
            </dependency>
            <!-- 添加jstl标签库依赖模块 -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
            </dependency>
            <!--添加tomcat依赖模块.-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </dependency>
            <!-- 使用jsp引擎,springboot内置tomcat没有此依赖 -->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
            </dependency>
    
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-dependencies</artifactId>
                    <version>${spring-boot.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>2.4.1</version>
                    <configuration>
                        <mainClass>com.schen.btjsp01.Btjsp01Application</mainClass>
                    </configuration>
                    <executions>
                        <execution>
                            <id>repackage</id>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
  7. 在webapp下创建jsps目录,创建一个First.jsp,将el和jstl都测试一下,并创建 controller 如 First.java 或 Second.java 测试MVC是否能跳转至 jsp :

    在这里插入图片描述

    First.java代码如下:

    package com.schen.btjsp01.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class First {
        @RequestMapping("/test")
        public String func01(){
            System.out.println("Controller测试");
            return "first";
        }
    }
    
    

    First.jsp代码如下:

    <%--
      Created by IntelliJ IDEA.
      User: hp
      Date: 2022/11/27
      Time: 20:23
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <c:set var="testName" value="ok测试会话" scope="session"/>
        测试el:${pageContext.request}<br/>
        测试jstl:${testName}
    </body>
    </html>
    
  8. 运行springboot项目,输入controller中的链接,测试成功效果如下;

在这里插入图片描述

以上就是如何在 springboot 中创建jsp页面并运行的过程,水平有限欢迎大家批判指正。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值