首页
学习
活动
专区
工具
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进行返回。 说到这一个请求流程就算是大致结束了。我们来看两段核心代码。

72740

深入浅出SpringMVC系列~

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

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

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

    36020

    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.2K20

    初识SpringMVC

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

    18420

    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

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

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

    47810

    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添加对象,至此整个流程讲述完毕。...如果您觉得入门教程不错的话,欢迎分享和点赞,您转发是最大动力!

    56410

    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.1K60

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

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

    4.6K00

    Spring MVC 到底是如何工作

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

    1.4K30

    Java Web技术经验总结(九)

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

    32530

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

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

    44110

    『互联网架构』软件架构-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源码解读,感兴趣同学可以自行搜索学习,在这里就不做赘述了。

    7610
    领券