springmvc的handlermethodargumentresolver里面怎么跳转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springmvc的handlermethodargumentresolver里面怎么跳转相关的知识,希望对你有一定的参考价值。

参考技术A  在一次调试中我发现了这个问题,很明显,客户端的token已经过期,可是controller依然还会有值,说明这个值一直都在存在,因为客户端的token已经过期而没有被重写。
  于是乎就要找办法解决,把原先写到类实例的值改成放到方法执行时传入,这样的话,只要在interceptor中把相关的值写以request attributes中就可以了,然后在方法执行时注入到相应的参数中。而这样就要用到注解了,可是Spring里的注解没有关于Request Attribute的,只有@RequestParameter和@ModeAttribute这类的,这些并不合用。看来只能另想方法。
  自定义一个自己的Spring Annotation
  尽管没有@RequestAttribute这样的注解,那有没有办法自己弄一个出来呢?
  有的,强大的SpringFramework留给我们一个入口,我们只要实现一个HandlerMethodArgumentResolver接口,这样的话就可处理我们感兴趣的Annotation,把相关的值返回:本回答被提问者和网友采纳
参考技术B 在一次调试中我发现了这个问题,很明显,客户端的token已经过期,可是controller依然还会有值,说明这个值一直都在存在,因为客户端的token已经过期而没有被重写。
  于是乎就要找办法解决,把原先写到类实例的值改成放到方法执行时传入,这样的话,只要在interceptor中把相关的值写以request attributes中就可以了,然后在方法执行时注入到相应的参数中。而这样就要用到注解了,可是Spring里的注解没有关于Request Attribute的,只有@RequestParameter和@ModeAttribute这类的,这些并不合用。看来只能另想方法。
  自定义一个自己的Spring Annotation
  尽管没有@RequestAttribute这样的注解,那有没有办法自己弄一个出来呢?
  有的,强大的SpringFramework留给我们一个入口,我们只要实现一个HandlerMethodArgumentResolver接口,这样的话就可处理我们感兴趣的Annotation,把相关的值返回

springMVC1 springmvc的基础知识

springmvc第一天  springmvc的基础知识
springmvc课程安排:
第一天: 基础知识
    springmvc框架(重点)
        mvc在b/s系统中应用方式
        springmvc框架原理(DispatcherServlet前端控制器(类似于struts的过滤器)、处理器映射器、处理器适配器、视图解析器)
    springmvc入门程序
        需求:商品列表查询
        常用的处理器映射器,处理器适配器
        注解的处理器映射器,处理器适配器用于注解开发(重点)
    3
    注解开发基础
        常用的注解使用
        参数绑定
        自定义参数绑定
    springmvc和struts的区别
第二天: 高级知识
    使用springmvc上传图片
    集合参数的绑定
    validation校验器
    异常处理器使用(用于系统异常处理)
    RESTful支持
    拦截器    
    学生练习
1springmvc框架
1.1springmvc是什么?
springmvc是spring的一个模块,spring提供web层解决方案(基于mvc设计架构)

技术分享

1.1mvc在b/s系统的应用
mvc是一个设计模式,在b/s系统的应用(SSH):

技术分享

1.1springmvc的框架
框架讲究的是可扩展性,

技术分享

第一步:用户发起request请求,请求至DispatcherServlet前端控制器
第二步:DispatcherServlet前端控制器请求HandlerMapping处理器映射器查找Handler
        DispatcherServlet:前端控制器,相当于中央调度器,各各组件都和DispatcherServlet进行交互,降低了各各组件之间耦合度。
第三步:HandlerMapping处理器映射器,根据url及一些配置规则(xml配置、注解配置)查找Handler,将Handler返回给DispatcherServlet前端控制器
第四步:DispatcherServlet调用适配器HandlerAdapter执行Handler,有了适配器HandlerAdapter通过适配器去扩展对不同Handler执行方式(比如:原始servlet开发,注解开发)
第五步:适配器HandlerAdapter执行Handler
        Handler是后端控制器,当成模型。
第六步:Handler执行完成返回ModelAndView
        ModelAndView:springmvc的一个对象,对Model和view进行封装。
第七步:适配器将ModelAndView返回给DispatcherServlet
第八步:DispatcherServlet调用视图解析器ViewResolver进行视图解析,解析后生成view
        视图解析器根据逻辑视图名解析出真正的视图。
        View:springmvc视图封装对象,提供了很多view,jsp、freemarker、pdf、excel。。。
第九步:ViewResolver视图解析器给前端控制器返回view
第十步:DispatcherServlet调用view的渲染视图的方法,将模型数据填充到request域 。
第十一步:DispatcherServlet向用户响应结果(jsp页面、json数据。。。。)
DispatcherServlet:前端控制器,由springmvc提供
HandlerMappting:处理器映射器,由springmvc提供
HandlerAdapter:处理器适配器,由springmvc提供
Handler:处理器,需要程序员开发
ViewResolver:视图解析器,由springmvc提供
View:真正视图页面需要由程序编写

 

以上是关于springmvc的handlermethodargumentresolver里面怎么跳转的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记——SpringMVC简介;SpringMVC处理请求原理简图;SpringMVC搭建框架

springMVC1 springmvc的基础知识

SpringMVC框架详解(学习总结)

不得不看的SpringMVC篇!!!(概述+SpringMVC运行流程+SpringMVC搭建)

SpringMVC

SpringMVC源码剖析-SpringMVC执行流程