重写dispatcherservlet获取springmvc 所有requestmapping的url -凯发k8国际

`
hbxflihua
  • 浏览: 653436 次
  • 性别:
  • 来自: 杭州
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 社区版块
    • ( 0)
    • ( 0)
    • ( 1)
    存档分类
    最新评论

    重写dispatcherservlet获取springmvc 所有requestmapping的url

     

    1、重写dispatcherservlet

    import java.util.hashset;
    import java.util.map;
    import java.util.set;
    import org.springframework.beans.factory.beanfactoryutils;
    import org.springframework.context.applicationcontext;
    import org.springframework.web.method.handlermethod;
    import org.springframework.web.servlet.dispatcherservlet;
    import org.springframework.web.servlet.handlermapping;
    import org.springframework.web.servlet.mvc.condition.patternsrequestcondition;
    import org.springframework.web.servlet.mvc.method.requestmappinginfo;
    import org.springframework.web.servlet.mvc.method.annotation.requestmappinghandlermapping;
    @suppresswarnings("serial")
    public class mydispatcherservlet extends dispatcherservlet {
    	
    	public static final set mapping_urls = new hashset<>();
    	
    	@override
    	protected void initstrategies(applicationcontext context) {
    		super.initstrategies(context);
    		
    		map matchingbeans =
    				beanfactoryutils.beansoftypeincludingancestors(context, handlermapping.class, true, false);
    		for(handlermapping handlermapping : matchingbeans.values()) {  
    	        if(handlermapping instanceof requestmappinghandlermapping) {  
    	            requestmappinghandlermapping rmhm = (requestmappinghandlermapping) handlermapping;  
    	            map handlermethods = rmhm.gethandlermethods();  
    	            for(requestmappinginfo rmi : handlermethods.keyset()) {  
    	                patternsrequestcondition prc = rmi.getpatternscondition();  
    	                mapping_urls.addall(prc.getpatterns());
    	            }  
    	        }  
    	    }  
    		system.out.println(">>>>>>>>>>>>>>>>");
    		for (string string : mapping_urls) {
    			system.out.println(string);
    		}
    		system.out.println(">>>>>>>>>>>>>>>>");
    		
    	}
    	
    }
    

     

    2、在web.xml中配置重写的mydispatcherservlet

    	
    	
    		springservlet
    		com.huatech.web.listener.mydispatcherservlet
    		
    			contextconfiglocation
    			classpath:/spring-mvc.xml
    		
    		1
    	
    	
    		springservlet
    		*.html
    	

     

    分享到:
    |
    评论
    1 楼 ckxlnd 2018-09-14  
    挺好的  有借鉴意义

    相关推荐

      通过重写dispatcherservlet的一个doservice方法把springmvc的url对应方法打印出来。 所需要做的是: 1,使用本文件作为原先springmvc的xml文件的dispatcherservlet。 2,启动项目,随意发送一个请求,可以在控制台...

      springmvc dispatcherservlet重写、自定义拦截器拦截器源码

      springmvc servlet dispatcherservlet modelandview controller @requestmapping springmvc-servlet.xml

      null 博文链接:https://whitesmith.iteye.com/blog/730918

      在springmvc中 所有的请求都由dispatcherservlet处理(url-pattern配置的是/),当配置文件中有对静态资源的处理  时候 ,先匹配 welcome-file-list 中的文件,依次查找,找到了就 返回,如果没有找到就继续匹配到...

      本篇文章主要介绍了浅谈springmvc的dispatcherservlet分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

      主要介绍了springmvc dispatcherservlet组件实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

      springboot 2.4.4 网上搜到的配置多个dispatcherservlet 都有坑,自己避坑写的一个demo,处理.do .htm请求,controller分离不会出现一个controller可以处理.do也处理.htm可自己扩展.action .json等,适合分离前台...

      spring的源码分析 在分析springmvc源码之前我想先回顾一下javaweb的知识.javaweb的核心是servlet,一个servlet对应一...springmvc通过一个dispatcherservlet拦截所有请求,也就是url为 /** 。 通过拦截所有请求,在内部通

      springmvc流程 1、 用户发送请求至前端控制器dispatcherservlet。 2、 dispatcherservlet收到请求调用handlermapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成...

      springmvc流程 1、 用户发送请求至前端控制器dispatcherservlet。 2、 dispatcherservlet收到请求调用handlermapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成...

      springmvc常用注解标签详解,@controller控制器controller 负责处理由dispatcherservlet 分发的请求,@requestmappingrequestmapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有...

      四、spring mvc dispatcherservlet说明 五、spring mvc 双亲上下文的说明 六、springmvc-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的...

      spring框架系列(13) - springmvc实现原理之dispatcherservlet的初始化过程.doc

      springmvc是一个模型 - 视图 - 控制器(mvc)的web框架建立在中央前端控制器servlet(dispatcherservlet),它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果的概念。spring mvc 是 spring 产品组合...

      1、用户向服务器发送请求,请求被springmvc的前端控制器dispatcherservlet截获 2、dispatcherservlet对请求的url(统一

      前端控制器是dispatcherservlet;应用控制器其实拆为处理器映射器(handler mapping)进行处理器管理和视图解析器(view resolver)进行视图管理;页面控制器/动作/处理器为controller接口(仅包含modelandview ...

      springmvc流程 1、 用户发送请求至前端控制器dispatcherservlet。 2、 dispatcherservlet收到请求调用handlermapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器...

      如果说将spring上下关联到servlet容器中,是springmvc框架的第个亮点,那么在请求转发流程中,springmvc对各种处理环节编程元素的抽象,就

      非常棒的springmvc教程, 简明 透彻 涵盖了基本工作中都会接触到的知识 每一章都是一个pdf,效果非常清楚 即有spring2.5的 controller接口的老版本 也包含新版spring3.0,3.1 基于注解的mvc配置方法 总之绝对值得下载 ...

    global site tag (gtag.js) - google analytics
    网站地图