SpringBoot(4) 集成SpringMVC and JSP

1,新建SpringBoot 项目
在这里插入图片描述

2,导入所需依赖

		   <!--web场景支持-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
			<!-- jsp支持 -->
         <dependency>
             <groupId>org.apache.tomcat.embed</groupId>
             <artifactId>tomcat-embed-jasper</artifactId>
         </dependency>
		   <!-- jstl标签库 -->
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>jstl</artifactId>
         </dependency>

3,SpringMVC配置(application.properties)

#配置默认端口
server.post=8080
#配置错误页面
server.error.path=/error
# 配置session的过期时间
# m表示分钟 s表示秒
server.servlet.session.timeout=30m
#设置项目的访问路径
server.servlet.context-path=/
#设置字符编码
spring.http.encoding.charset=UTF-8
#上面这些配置不配置其实也行的,它都有默认值得。

#springboot 视图配置
#配置视图访问前缀
spring.mvc.view.prefix=/WEB-INF/jsp/
#配置视图访问后缀
spring.mvc.view.suffix=.jsp

4,web常用注解(简介)

@ Controller: 表示这是一个控制器(类似servlet)
@ RequestMapping: 路由,处理请求地址映射
@ GetMapping: 使用get方式处理请求地址映射
@ PostMapping: 使用post方式处理请求地址映射
@ ResponseBody: 异步请求返回JSON格式数据。
@ RequestBody: 接收前端传给后台的json格式数据
@PathVariable: 映射URL 绑定的占位符
@ RequestParam: 用于将指定的请求参数赋值给方法中的形参。

5,创建WebApp目录,创建hello.jsp
在这里插入图片描述

hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <%--给页面上的url填充地址(相对路径)--%>
    <base href="/helloworldjsp" />
    <title>HelloWorld_JSP</title>
    <link rel="stylesheet" href="/static/css/hello.css">
</head>
<body>
    <h3 align="center">你想了解我吗,
        <br/>&nbsp;&nbsp; --springboot</h3>
    <span class="hello-span">让我们进入spring的世界吧</span>
    <img src="/static/image/spring_boot.png" >
</body>
</html>

6,编写Controller类

    /**
     * 返回json数据
     * @return
     */
    @RequestMapping("/getJson")
    @ResponseBody
    private Map<String,String> getJson(){
        Map<String,String> modelMap = new HashMap<>();
        modelMap.put("value1","asdfghjkl");
        modelMap.put("value2","qwertyuiop");
        return modelMap;
    }

    /**
     * 返回jsp页面
     * @return
     */
    @GetMapping("/helloworldjsp")
    private String helloWorldJsp(){
        System.out.println("我即将前往神秘的JSP页面");
        return "hello";
    }

7,启动SpirngBoot启动类,测试结果。
在这里插入图片描述


过程中可能会遇到的问题:

  1. 404 访问不到 jsp 页面。

解决: 你要是用的model建的项目,那只需要把项目的 工作目录(working directory) 改为 Model working dir
但也就只能在工具内运行,要想打成 war 包发布到服务器,就不能用 model 建项目(用project建项目)或在 pom文件配打包路径
但我们springboot自带 Tomcat容器,所以我们还是打 jar 包会省很多工作,但是 打 jar 包就不把WebApp打包进去,所以官方推荐我们使用 前端模板引擎技术 (例如:Thymeleaf,FreeMarker,Velocity),使用模板引擎的好处是:前端页面不需要编译,能够直接在浏览器中打开并正确显示模板页面 ,和 jsp 对比就很好理解了。
使用模板引擎技术我们就能把页面打包进 jar包中(把页面理解成是一个静态文件)。所以SpringBoot推荐我们使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不像程序猿的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值