SpringBoot整合JSP及打包

SpringBoot整合JSP及打包

1.代码地址

https://gitee.com/zhouchaomeng/spring-boot-jsp-demo.git

2.开发环境

Java版本:1.8

开发工具:idea 2021.2.2

打包工具:maven

3.初始化SpringBoot项目

使用Spring Initializr工具新建项目,项目名为:spring-boot-jsp-demo,过程如下:
初始化项目

初始化spring project

初始化后,根据需要去除不需要的目录和文件后,项目结构如下图(根据自己的需求调整):

项目初始化后的结构

目前的SpringBoot项目可以正式启动了,可根据自己的需求调整项目内容。

4.整合JSP

4.1 引入JSP需要的依赖

在项目的pom.xml文件的dependencies标签下,加入以下依赖:

<!-- 添加Servlet依赖模块 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>

<!-- 添加JSTL标签库依赖模块 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

<!--添加Tomcat依赖模块.-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

<!-- 使用JSP引擎,SpringBoot内置Tomcat没有此依赖 -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

4.2 构建webapp目录

在项目中的src/main/目录下创建名为webapp的目录,该目录与javaresource同级;并在webapp目录下创建WEB-INF目录,在WEB-INF创建page目录,完整的目录结构见:目录结构

4.3 创建web.xml文件

WEB-INF目录下创建web.xml文件,文件内容如下:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
 
</web-app>

4.4 向application.properties文件添加配置

application.properties文件添加配置,配置内容如下:

#Spring boot视图配置
spring.mvc.view.prefix=/WEB-INF/page/
spring.mvc.view.suffix=.jsp

4.5 创建jsp页面

webapp/WEB-INF/page目录中创建index.jsp文件,文件内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>首页</title>
    <meta name="author" content="zhouchaomeng">
</head>
<body>
<h3>使用JSP表达式:</h3>
用户姓名:<%= request.getAttribute("name") %><br/>
博客地址:<%= request.getAttribute("blog") %><br/>
备注信息:<%= request.getAttribute("remark") %><br/>

<h3>使用EL表达式语言:</h3>
用户姓名:${requestScope.name}<br/>
博客地址:${requestScope.blog}<br/>
备注信息:${requestScope.remark}<br/>

<h3>使用JSTL标签库:</h3>
用户姓名:<c:out value="${requestScope.name}" /><br/>
博客地址:<c:out value="${requestScope.blog}" /><br/>
备注信息:<c:out value="${requestScope.remark}" /><br/>
</body>
</html>

4.6 创建Controller控制器

com.personal.zhouchaomeng包下创建controller包,并在controller包下创建IndexController类,该类内容如下:

package com.personal.zhouchaomeng.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
import javax.servlet.http.HttpServletRequest;
 
/**
 * 首页控制器
 * @author zhouchaomeng
 **/
@Controller
public class IndexController{
    /**
     * 首页
     */
    @RequestMapping("/index")
    public String index(HttpServletRequest request){
        //将用户信息保存到Request对象中
        request.setAttribute("name","SpringBootJspDemo");
        request.setAttribute("blog","https://blog.csdn.net/m0_37939639/article/details/128652485");
        request.setAttribute("remark","您好,欢迎访问SpringBootJspDemo");
 
        //返回首页
        return "index";
    }
}

4.7 运行测试

在idea中运行SpringBoot项目,运行成功后,在浏览器中输入地址:http://127.0.0.1:8080/index

5.打包

在打包的时候,我们需要把jsp文件打到jar包中,我们应该怎么做呢?请接着往下看。

5.1 修改pom.xml文件

修改pom.xml文件中的build标签,修改后如下:

<build>
    <plugins>
        <!-- 一定要注意mvn的插件一定是1.4.2.RELEASE,否则jsp访问不到 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>1.4.2.RELEASE</version>
        </plugin>
    </plugins>

    <resources>
        <!-- 打包时将jsp文件拷贝到META-INF目录下-->
        <resource>
            <!-- 指定resources插件处理哪个目录下的资源文件 -->
            <directory>src/main/webapp</directory>
            <!-- 注意必须要放在此目录下才能被访问到 -->
            <targetPath>META-INF/resources</targetPath>
            <includes>
                <include>**/**</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/**</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

5.2 把项目打成jar

使用命令mvn clean package或者使用idea自带package工具打包,该工具一般在idea右侧工具栏,详细位置如下:

在这里插入图片描述

打包好之后,jar包位于项目的target目录下,进入该目录后,打开控制台,使用命令 java -jar spring-boot-jsp-demo-0.0.1-SNAPSHOT.jar 启动该jar包,启动成功后,调用:http://127.0.0.1:8080/index测试,能够正常访问表示打包成功,否则,失败。

附录:完整项目结构

完整目录结构

引用

整合jsp:https://blog.csdn.net/pan_junbiao/article/details/105600172
打包:https://blog.csdn.net/bbxylqf126com/article/details/121069449

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值