springboot整合jsp

本人刚学习springboot不久,在整合springboot、jsp、mybatis的过程中,遇到点坎坷,本文章记录springboot和jsp的整合过程,项目只涉及springboot和jsp,用较少的代码体现二者整合后可以正常运行。

以下是该项目的搭建环境

maven  version: 3.5.2
springboot  version:2.0.4
java version: 1.8.0_181
编译器:IntelliJ IDEA 2017.3.2
启动方式:main方法

一、首先新建项目:

填写项目信息

选择依赖,这里只选web,其他都不选

之后下一步、完成。

项目搭建起来之后,整理一下文档,删除我认为没有用的文件,配置文件我使用application.yml

二、在resources添加配置文件

application.yml

#端口号与网页前缀
server:
  port: 8080
  servlet:
    context-path: /web
spring:
## jsp支持
  mvc:
    view:
        suffix: .jsp
        prefix: /WEB-INF/views/
##关闭默认模板引擎
  thymeleaf:
    cache: false
    enable-spring-el-compiler: false

 

三、添加controller ,先把项目跑一下

 

IndexController.java

package com.controller;

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

import java.util.ArrayList;
import java.util.List;

/**
 * 描述:
 *
 * @author hewm
 * 2018-08-21 14:18:51 14:18
 */
@Controller
@RequestMapping("")
public class IndexController {

    @RequestMapping("index")
    @ResponseBody
    public String index(){
        return "index";
    }

}

 

这里就不使用@RestController,因为主要目的是为了后面访问前端页面

 

然后启动

访问 http://localhost:8080/web/index

页面可以访问。

停止项目,接着开始整合jsp。

 

四、pom.xml添加依赖

 

需要加入的依赖只有

<dependencies>
<!-- 对jsp的支持的依赖-->
<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
<!--  不要加这个  <scope>provided</scope>     -->
</dependency>
<!-- jstl 支持 -->
<dependency>
   <groupId>javax.servlet</groupId>

   <artifactId>jstl</artifactId>

</dependency>
<dependencies>

 

完整的pom.xml

关于初始设置packing是jar还是war

在此处可以修改,这里的值是jar或者war我都试过都可以使用main启动

<packaging>jar</packaging>

 

五、添加webapp

 

在加webapp的时候,我自己失了智把webapp放在resources底下,导致出现404找不到webapp的路径

在main下新建一个文件webapp并加入static、WEB-INF、views

新建完成后的结构。

 

 

六、设置web,往配置中加入webapp

打开

选择Modules然后选中Web,如果没有Web点击绿色的加号添加。

先设置webapp

 

点击下图下面的绿色加号,将webapp路径设为刚刚添加的路径即可。然后点击apply,再配置web.xml

添加web.xml,点击上图中上面的绿色的加号,

直接点OK就可以了,如果web.xml文件在另一个文件里就复制到weapp的WEB-INF里面,再修改配置。

web.xml的内容不需要改动。

最终的配置如下图:

 

七、添加jsp

在views文件中右键新建jsp文件,如果前面没有设置webapp为web 文件,右键是不能直接建jsp。

 

加入c标签

和foreach循环

index.jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>index</title>
</head>
<body>

<c:forEach items="${names}" var="name">
    ${name} <hr>
</c:forEach>
</body>
</html>

 

八、修改controller

 

去掉@ResponseBody

 

IndexController.java

package com.controller;

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

import java.util.ArrayList;
import java.util.List;

/**
 * 描述:
 *
 * @author hewm
 * 2018-08-21 14:18:51 14:18
 */
@Controller
@RequestMapping("")
public class IndexController {

    @RequestMapping("index")
    public String index(Model model){
        List<String> names = new ArrayList<>();
        names.add("aa");
        names.add("bb");
        names.add("cc");
        model.addAttribute("names", names);
        return "index";
    }

}

 

启动项目,访问http://localhost:8080/web/index

可以正常访问jsp界面。

 

九、获取静态文件

往static中加入一张图片

在index.jsp头部加入

<c:set var="resourceRoot" value="${pageContext.servletContext.contextPath}"/>

在body中加入

<img src="${resourceRoot}/static/biaoqing.png">

加入重启项目,再次访问 http://localhost:8080/web/index

可以看到静态文件中的图片

 

 

先写到这里,关于springboot启用web.xml的配置:https://blog.csdn.net/songhaifengshuaige/article/details/54138023

以后再研究。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值