实战踩坑记-SpringBoot中使用jsp

今天这个坑踩我的很难受,为什么呢?
项目中需要用到jsp页面,但是SpringBoot之后的框架对jsp支持不是很好,认为jsp已经过时了!纳尼,好吧但是我还是要用,百度一番,写个小demo

1.先看一下最终项目的目录结构
在这里插入图片描述
src/mian下主要用三个文件夹

  • java 存放java代码
  • resources 存放项目资源文件夹
  • webapp 在当前项目中用于存放jsp页面

SpringBoot集成JSP的步骤:
1.搭建项目,怎么搭建项目我就不说了,详细步骤可以去下面地址看看
https://www.cnblogs.com/fangke/p/8552000.html

2.需要在pom.xml文件中额外引入依赖

<dependency>
     <groupId>org.apache.tomcat.embed</groupId>
     <artifactId>tomcat-embed-jasper</artifactId>
     <scope>provided</scope>
 </dependency>
 <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
 </dependency>

3.配置application.properties

# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp

4.jsp代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
</head>
<body>
<center>
    <h3> 欢迎 ${name },当前时间:${date } </h3>
</center>
</body>
</html>

在这里插入图片描述
4.编写java代码

 @Controller
    @RequestMapping("/api/v1")
    public class TestController {
    
        @RequestMapping("view")
        public String view(Map<String,Object> map){
            map.put("name","huawei");
            map.put("date",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
            return "index";
        }
    }

在这里插入图片描述
这里需要注意了:
控制层使用@Controller,不要使用@RestController,毕竟不是每一个方法都返回JSON的,有的需要跳转到界面
使用 @Controller 结果是这样的,和我们的期望结果一样!
在这里插入图片描述
但是使用 @RestController 结果就会变成这样!
在这里插入图片描述
真的就是返回一个index字符串,而不是去项目中寻找名称为index的jsp页面
是不是很惊喜!

最后双手奉上问题解决方法:
问题:新建jsp文件而找不到jsp文件模版
解决链接:https://www.cnblogs.com/sxdcgaq8080/p/7676294.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值