首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Spring MVC的请求映射中,我如何总是返回用户所在的当前页面?

在Spring MVC的请求映射中,可以使用RedirectAttributes来实现总是返回用户所在的当前页面。

RedirectAttributes是Spring MVC中的一个特殊类型的参数,它可以帮助我们在重定向时携带一些数据。通过使用addFlashAttribute方法,我们可以将用户所在的当前页面的URL作为一个Flash属性添加到RedirectAttributes中。Flash属性会在重定向完成后立即删除,这样可以确保只有在重定向的目标页面中可以访问到它。

下面是一种实现方式的示例代码:

代码语言:txt
复制
@Controller
public class MyController {
    
    @GetMapping("/somePage")
    public String somePage(HttpServletRequest request) {
        // 获取当前页面的URL
        String currentUrl = request.getRequestURL().toString();
        
        // 重定向到另一个请求,并携带当前页面的URL作为Flash属性
        return "redirect:/anotherPage";
    }
    
    @GetMapping("/anotherPage")
    public String anotherPage(Model model, RedirectAttributes redirectAttributes) {
        // 从Flash属性中获取当前页面的URL
        String currentUrl = redirectAttributes.getFlashAttributes().get("currentUrl").toString();
        
        // 将当前页面的URL添加到Model中,以便在目标页面中使用
        model.addAttribute("currentUrl", currentUrl);
        
        return "anotherPage";
    }
}

在上述示例代码中,somePage方法处理用户访问的当前页面,通过HttpServletRequest获取当前页面的URL,并将它添加到RedirectAttributes中作为Flash属性。然后,通过重定向到anotherPage方法,将Flash属性中的URL取出并添加到Model中,以便在目标页面中使用。

当用户访问somePage方法后,会被重定向到anotherPage方法,并且anotherPage方法可以通过Model获取到当前页面的URL,从而实现了总是返回用户所在的当前页面的功能。

在腾讯云中,与Spring MVC相对应的产品是腾讯云云服务器(CVM)。腾讯云云服务器提供了稳定可靠的云计算基础设施,可以为您提供高性能的虚拟服务器,支持多种操作系统,并且具备灵活的扩展能力和数据安全保障。您可以通过以下链接了解更多关于腾讯云云服务器的信息:腾讯云云服务器

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java架构之路-(SpringMVC篇)SpringMVC主要流程源码解析(上)源码执行流程

讲一下这段代码是如何执行的,上面图我们也看到了,请求过来优先去找我们的dispatchServlet,也就是我们Spring-MVC.xml配置文件,通过name属性来找的。...找到我们对应的类,我们的继承我们的Controller接口来处理我们的请求,也就是图中的3,4,5步骤。然后再把结果塞回给dispatchServlet。返回页面,走起。...在面试中要回答好上述问题,就必须得弄清楚spring mvc 的体系组成。 spring mvc 的体系组成   只是举了几个例子的实现,SpringMVC还有很多的实现方法。...,看一下是否需要做请求前处理,然后得到我们的Handler。...选择对应的ViewResolver解析我们的ModelAndView得我到我们的view进行返回。 说到这一个请求的流程就算是大致结束了。我们来看两段核心的代码。

73240

spring boot框架学习8-【干货】spring boot的web开发(4)-自定义拦截器处理权限

怎么自定义spring mvc的配置呢?这些我们在公司都需要用的。这些怎么解决呢?在接下来的小节详细讲解这些。...1.2: 如何增加一个拦截器 需要增加拦截器,这个时候就得通过继承webmvcconfigureadapter然后重写父类中的方法进行扩展。 如下图: ? ? 查看运行结果: 用户没有登录: ?...Object handler) 从上图用户已经登录了,但是凯哥上图截图红色选中部分中可以看出,该preHandle方法将在执行controller处理前调用的。...大致意思就是,当返回true接着执行chain后面的。如果返回false的时候,就直接结束请求。 下图是个人理解: ? 所以,如果我们想要权限处理: ?...本节主要讲解自定义的拦截器,来处理一些请求。 在下一节中,我们将讲解跳转到jsp页面返回404错误码怎么解决以及登录后继续跳转的当前浏览页面的功能。欢迎大家继续学习。

36020
  • 深入浅出SpringMVC系列~

    path,当运行成功后,直接跳转到sccess页面;如何跳转呢?...配置视图解析器,其实就是在上面的Spring配置文件里面,我们可以确定正确的返回路径; 那来看看跳转成功之后的页面success; 用户请求到达前端控制器,它就相当于mvc 模式中的c,dispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性...Handler:处理器 它就是我们开发中要编写的具体业务控制器。由 DispatcherServlet 把用户请求转发到 Handler。由 Handler对具体的用户请求进行处理。...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。

    32620

    SpringMVC01之入门

    如何在项目中添加springmvc      5.1 添加相关依赖      5.2 SSM集成        5.2.1 在WEB-INF下添加springmvc-servlet.xml(spring-mvc.xml...请求处理方法的参数及返回值 8. 页面跳转          8.1 转发:"forward:path"          8.2 重定向:"redirect:path" 9....Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。 2. SpringMVC处理请求的流程 2.1 工作原理:  1....):进行视图解析,根据逻辑视图名解析成真正的视图(view) 4.5 处理器或页面控制器(Controller):执行具体的用户请求  4.6 验证器(Validator)  4.7 ...6.4.2 可用@ModelAttribute标注一个非请求处理方法,此方法会在每次调用请求处理方法前被调用(作用:数据初始化)     6.4.3 可用@ModelAttribute标注方法,方法返回值会被添加到

    1.3K20

    初识SpringMVC

    是⼀个实现了 MVC 模式,并继承了 Servlet API 的 Web 框架,当⽤户在浏览器中输⼊了 url 之后,我们的 Spring MVC 项目就可以感知到用户的请求。...获取参数的功能:用户访问的时候会带⼀些参数,在程序中要想办法获取到参数。 输出数据的功能:执行了业务逻辑之后,要把程序执行的结果返回给用户。...(只有加载的类,别人才能使用[访问]) @ResponseBody//告诉程序我返回的是一个数据而非页面*/ @RestController//@Controller+@ResponseBody /*@....*; /*@Controller//让框架启动的时候加载当前类(只有加载的类,别人才能使用[访问]) @ResponseBody//告诉程序我返回的是一个数据而非页面*/ @RestController...这是因为在Spring的路径映射中使用了占位符(即{})来表示可变的路径段。

    19220

    自己写一个mvc框架吧(一)

    自己写一个mvc框架吧(一) 写之前的一些废话 废话 1 (总是要先随便说点啥) 写了好几年的java程序,基本上每个项目都有用到mvc的框架,可能是spring mvc也可能是struts。...现在咱们开始写一个mvc框架吧。 因为2年前自己写过一个mvc的框架,比较烂,但是也能用。所以大致需要的知识点我写在下面,再写一个应该也还是这些东西。...这一步我们不需要先直接处理http的请求,先用一些String类型的数据做一些测试即可。处理http请求的地方可以在后面再写。 第四步 使用反射执行方法 这里没什么好说的,反射中的知识点。...第五步 写一个http请求的入口,并加一些配置 这里开始写一个请求的入口了,spring使用的入口是一个 servlet,struts用的是一个filter,我在这里也用一个servlet。...这个就要看公司里忙不忙了,但是基本上能保证这个是能写完的。 博客的话一般我是自己先写一部分代码,然后在根据写代码的思路写一点博客,可能写着写着就和之前的不太一样了。不过我尽量吧我自己的思路说清楚。

    48110

    Spring Boot 中的静态资源到底要放在哪里?

    当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:“松哥,我的HTML页面好像没有样式?”...,例如我在 classpath:/static/ 目录下放了一张名为1.png 的图片,那么我的访问路径是: http://localhost:8080/1.png 这里大家注意,请求地址中并不需要 static...:/public/",然后在getResourceLocations方法中,又添加了“/”,因此这里返回值一共有5个。...这样大伙就知道了为什么Spring Boot 中支持5个静态资源位置,同时也明白了为什么静态资源请求路径中不需要 /static,因为在路径映射中已经自动的添加上了 /static了。...application.properties 在配置文件中定义的方式比较简单,如下: spring.resources.static-locations=classpath:/ spring.mvc.static-path-pattern

    2K10

    Spring Boot2 系列教程(十一)Spring Boot 中的静态资源配置

    当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥 Spring Boot 中的静态资源加载问题:“松哥,我的 HTML 页面好像没有样式?”...,例如我在 classpath:/static/ 目录下放了一张名为 1.png 的图片,那么我的访问路径是: http://localhost:8080/1.png 这里大家注意,请求地址中并不需要...public/ 然后在 getResourceLocations 方法中,又添加了 / ,因此这里返回值一共有 5 个。...这样大伙就知道了为什么 Spring Boot 中支持 5 个静态资源位置,同时也明白了为什么静态资源请求路径中不需要 /static ,因为在路径映射中已经自动的添加上了 /static 了。...2.3.1 application.properties 在配置文件中定义的方式比较简单,如下: spring.resources.static-locations=classpath:/ spring.mvc.static-path-pattern

    1.5K10

    从零学习Spring MVC框架「运行流程及静态资源处理」

    运行流程 第一篇文章「从零学习Spring MVC框架「环境搭建和MVC架构」」中我们初步进行了环境搭建,对Spring MVC框架的运行原理有个大体了解,为了帮助大家理解相关概念及原理,第一篇教程中使用的方式是在控制台打印结果.../json, text/html; produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回; params,headers params:...在添加@controller注解的类中,根据@RequestMapping的值对请求的映射路径进行匹配,然后执行匹配的方法。方法中会对model进行赋值,同样确定了视图的名称,即跳转到哪个页面。...返回modelandview对象后调用试图解析器,添加前缀和后缀得到了跳转页面的地址。 跳转之后的地址,可以利用el表达式进行接值,即model的添加的对象,至此整个流程讲述完毕。...如果您觉得我写的入门教程不错的话,欢迎分享和点赞,您的转发是我最大的动力!

    56810

    Spring MVC 到底是如何工作的?

    示例项目 为了理解Spring Web MVC是如何工作的,我们将通过一个登录页面实现一个简单的应用程序。...然而,在Spring MVC的抽象级别,方法类型只是可以用来映射请求到其处理程序的参数之一。...渲染视图 到目前为止,Spring已经处理了HTTP请求并接收了ModelAndView对象,所以它必须呈现用户将在浏览器中看到的HTML页面。...该解析器知道在哪里搜索视图,并提供相应的视图实例。 在调用视图的render()方法后,Spring最终通过发送HTML页面到用户的浏览器来完成请求处理。...; } } 结论 在这篇文章中,我们详细了介绍在Spring MVC框架中请求的处理过程。了解框架的不同扩展是如何协同工作来提供所有魔法的,可以让你能够事倍功半地处理HTTP协议难题。

    1.4K30

    Spring全家通之SpringMVC如何传递参数以及返回值的类型

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。...使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。 1....所谓校正请求参数名,是指若请求 URL 所携带的参数名称与处理方法中指定的参数名 不相同时,则需在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),指定请 求 URL 所携带参数的名称...在使用时,若该处理器方法只是进行跳转而不传递数据,或只是传递数据而并不向任何 资源跳转(如对页面的 Ajax 异步响应),此时若返回 ModelAndView,则将总是有一部分多 余:要么 Model...第一步:修改处理器 第二步:修改页面、 今天关于SpringMVC的笔记就先分享到这里啦,明天给大家分享如何整个Spring、SpringMVC、MyBatis(SSM)

    4.6K00

    Java|Spring+SpringMVC+MyBatis框架科普

    2.Spring MVC 我再来问大家一个问题: 如果我没有柳岩(假设她是我公司的一位设计师)的任何联系方式。我怎么样才能知道她心里是不是喜欢我?以及在这个过程中,Spring MVC能帮我做什么?...要回答这个问题,我们先简单介绍下Spring MVC在处理一个请求的主要流程是怎么样的? 如图2-3 ?...具体执行步骤如下: 1、  首先用户发送请求到前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它(图2-3中的1、2步骤); 2、  页面控制器接收到请求后...4、  如何页面控制器如何使用业务对象? 5、  页面控制器如何返回模型数据? 6、  前端控制器如何根据页面控制器返回的逻辑视图名选择具体的视图进行渲染?...我们理解清楚Spring MVC的核心架构之后,我们再来回顾一下我们前边提出的问题: 1、请求如何给前端控制器?我们在web.xml中配置了view分发器。 ?

    1.2K60

    Java Web技术经验总结(九)

    这个handler将会把所有请求引导到默认的Servlet,因此,我们配置时,要让默认handler在所有的URL处理器映射中位于最低优先级;尤其是当你在使用mvc:annotation-driven...XML代码实现: mvc:default-servlet-handler/> mvc:interceptors>,在请求由DispatchServlet传递到具体的业务逻辑控制器之前,Spring...根据用户填写的生日,自动计算出星座。...重点:VALUES函数用于提取对应的列值,如果没有则返回NULL; Spring Boot + Thymeleaf + BootStrap结合使用的一个例子:Spring MVC with Bootstrap...答:Runtime类,如下是我在JDK 1.8中查到的Runtime类的主要代码,可以看出,它是通过构造函数私有化实现的单例模式。参考JDK设计模式应用——单例模式(Singleton)。

    33030

    『互联网架构』软件架构-spring源码之spring MVC(下)(13)

    有老铁联系我,想好好学习一个框架,从底层看源码,从头跟到尾,每个都写上注释。我的建议老铁别傻了,别人写一个框架多少个人的团队,多少个日日夜夜你还要养家糊口,其实有三个阶段,我来说下具体哪三个阶段。...千万不要,看一个框架的源码,从头跟到尾,例如spring MVC的功能,mvc到底是怎么实现的,从它定义到它的实现,到所有的子类的实现,一个纵向的学习很容易就绕晕了。...一个spring mvc可能有上千个方法被调用。你能受得了吗?老铁! mvc的基础理论与spring mvc设计思想 回顾serlvet与jsp执行 记得刚毕业的时候面试,经常问servlet是什么?...springmvc只是在serlvet的基础上完成了一些功能,其实没没啥开拓的功能,只是serlvet的提升,封装。 spring mvc的流程 ?...至request 7.2 异常:遍历handlerExceptionResolvers 调用resolveException(),返回mv,最后跳转至异常 PS:spring mvc 源码这块就说到这里

    60020

    美团面试:什么是Spring MVC?如鲠在喉,答不上来?看我这一篇就搞懂了!

    不要想当然的认为这种架构就是Spring MVC。 到底什么是Spring MVC?我想我们要先介绍什么是MVC。...控制器:控制器在 Spring MVC 中充当用户的请求处理器,它通过注解与特定的 URL 模式绑定,拦截请求并根据请求类型调用相应的业务逻辑处理方法。...它根据请求的 URL 将请求路由到相应的控制器,执行拦截器链,调用控制器方法,处理数据绑定和验证,然后根据控制器返回的逻辑视图名解析为具体的视图,进行渲染并返回响应。...我们可以用一张图来描述Spring MVC是如何工作的: 讲到这里相信你已经了解什么是“Spring MVC”了,所谓的Spring MVC 其实就是基于Spring 去实现MVC这个设计模式。...至于Spring 在代码层面是如何实现mvc这种设计模式的,国内的视频网站上有很多Spring MVC源码解读,感兴趣的同学可以自行搜索学习,在这里我就不做赘述了。

    8110

    Spring 框架学习(七)Spring MVC 的初识

    MVC 的设计模式: 视图(view):视图是用户看到并与之交互的界面 模型(Model):企业数据和业务规则 控制器(controller):接受用户输入,并调用模型和视图去完成用户的需求。 2....Spring MVC 的工作流程 Spring MVC 的工作流程: 浏览器将请求信息发送给 DIspatcherServlet。...DispatcherServlet 查询一个或多个处理器映射,并将请求发送给相应的控制器 控制器处理用户请求信息,将生成的数据和视图打包成 ModelAndView 对象返回给 DispatcherServlet...前缀指定 JSP 文件的位置(都默认放在 WebContent 文件夹下)。后缀指定文件的格式为 jsp 页面。例如控制器传来 在 Spring 的 xml 配置文件中配置视图解析器 页面文件所在的文件夹的位置,一般是指在 WebContent 文件夹下的文件位置。。suffix 用于指定文件的后缀。 <?

    44410
    领券