springboot2 cookie的token如何放入请求头_Spring MVC 到底是如何工作的

这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理。

f9ee7a7f92eec0f4c9e5baffc299d1d9.png

项目安装

在本文中,我们将使用最新、最好的Spring Framework 5。我们将重点介绍Spring的经典Web堆栈,该堆栈从框架的第一个版本中就崭露头角,并且现在依然是用Spring构建Web应用程序的主要方式。

对于初学者来说,为了安装测试项目,最好使用Spring Boot和一些初学者依赖项;还需要定义parent:

<parent><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-parentartifactId><version>2.0.0.M5version><relativePath/>parent><dependencies><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-webartifactId>dependency><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-thymeleafartifactId>dependency>dependencies>

请注意,为了使用Spring 5,我们还需要使用Spring Boot 2.x。截止到撰写本文之时,这依然是里程碑发布版,可在Spring Milestone Repository中找到。让我们把这个存储库添加到你的Maven项目中:

<repositories><repository><id>spring-milestonesid><name>Spring Milestonesname><url>https://repo.spring.io/milestoneurl><snapshots><enabled>falseenabled>snapshots>repository>repositories>

你可以在Maven Central上查看Spring Boot的当前版本。

示例项目

为了理解Spring Web MVC是如何工作的,我们将通过一个登录页面实现一个简单的应用程序。为了显示登录页面,我们需要为上下文根创建带有GET映射的@Controller注解类InternalController。

hello()方法是无参数的。它返回一个由Spring MVC解释为视图名称的String(在示例中是login.html模板):

import org.springframework.web.bind.annotation.GetMapping;@GetMapping("/")public String hello() {
    return "login";
}

为了处理用户登录,需要创建另一个用登录数据处理POST请求的方法。然后根据结果将用户重定向到成功或失败的页面。

请注意,login()方法接收域对象作为参数并返回ModelAndView对象:

import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.servlet.ModelAndView;@PostMapping("/login")public ModelAndView login(LoginData loginData) {
    if (LOGIN.equals(loginData.getLogin())
&& PASSWORD.equals(loginData.getPassword())) { return new ModelAndView("success",
Collections.singletonMap("login", loginData.getLogin()));
} else { return new ModelAndView("failure",
Collections.singletonMap("login", loginData.getLogin()));
}
}

ModelAndView是两个不同对象的持有者:

  • Model——渲染页面数据的键值映射

  • View——填充模型数据的页面模板

连接这些是为了方便,这样控制器方法可以一次返回它们。

要渲染HTML页面,使用Thymeleaf作为视图模板引擎,该引擎具有可靠和开箱即用的与Spring的集成。

Servlet作为Java Web应用程序的基础

那么,当在浏览器中输入http:// localhost:8080/时,按Enter键,然后请求到达Web

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值