spring servlet 扩展undertow

官方地址:http://undertow.io/documentation/servlet/servlet-extensions.html  留待学习中,mark一下

源码地址:https://github.com/undertow-io/undertow/tree/c3b8a88db6999c231b4def84437d8c32cf1e2efe

Servlet Extensions
Servlet extensions allow you to hook into the Servlet deployment process, and modify aspect of a Servlet deployment. In some ways they are similar to ServletContainerInitializer or ServletContextListener, however they provides much more flexibility over what can be modified.

In order to create a ServletExtension it is necessary to implement io.undertow.servlet.ServletExtension, and then add the name of your implementation class to META-INF/services/io.undertow.servlet.ServletExtension. When Undertow is deploying a Servlet deployment it will load all such services from the deployments class loader, and then invoke their handleDeployment method.

This method is passed an Undertow DeploymentInfo structure, which contains a complete and mutable description of the deployment, my modifying this structure it is possible to change any aspect of the deployment.

The DeploymentInfo structure is the same structure that is used by the embedded API, so in effect a ServletExtension has the same amount of flexibility that you have when using Undertow in embedded mode.

There are many possible use cases for this, a common one would be to add additional authentication mechanisms to a deployment, or to use native Undertow handlers as part of a Servlet deployment.
时间: 2024-10-29 09:12:56

spring servlet 扩展undertow的相关文章

beetl-spring Beetl的Spring整合扩展(2):Beetl与Spring MVC整合

二.Beetl与Spring MVC整合 本章主要介绍通过beetl-spring完成Beetl与Spring MVC整合的功能.和Beetl自带的BeetlSpringViewResolver及BeetlSpringView相比,本项目提供的BeetlViewResolver增强了视图解析器的功能,使多视图解析器各自使用各自的GroupTemplate以使用不同的Beetl配置成为可能. 2.1 BeetlViewResolver BeetlViewResolver是一个Spring MVC视

Spring可扩展Schema标签

基于Spring可扩展Schema提供自定义配置支持 http://blog.csdn.net/cutesource/article/details/5864562 WARN : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Ignored XML validation warning org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 66; s

Spring8:一些常用的Spring Bean扩展接口

前言 Spring是一款非常强大的框架,可以说是几乎所有的企业级Java项目使用了Spring,而Bean又是Spring框架的核心. Spring框架运用了非常多的设计模式,从整体上看,它的设计严格遵循了OCP----开闭原则,即: 1.保证对修改关闭,即外部无法修改Spring整个运作的流程 2.提供对扩展开放,即可以通过继承.实现Spring提供的众多抽象类与接口来改变类加载的行为 开卷有益,阅读Spring源码(无需每个类都看得很细,大体流程能梳理出来即可)对于个人水平的提升是帮助非常大

基于Spring可扩展Schema自定义配置(2)

本章主要实现配置支持,注解扫描等功能.为本次教程的核心 命名空间支持 要实现命名空间支持,需要继承自NamespaceHandlerSupport. package com.codestd.spring.cxf.config.schema; import org.springframework.beans.factory.xml.NamespaceHandlerSupport; import com.codestd.spring.cxf.config.EndpointBeanProcessor;

Dubbo源码分析(三):自定义Schema--基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)

在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙.一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担.Spring提供了可扩展Schema的支持,这是一个不错的折中方案,完成一个自定义配置一般需要以下步骤: 设计配置属性和JavaBean 编写XSD文件 编

如何进行高效的源码阅读:以Spring Cache扩展为例带你搞清楚

摘要 日常开发中,需要用到各种各样的框架来实现API.系统的构建.作为程序员,除了会使用框架还必须要了解框架工作的原理.这样可以便于我们排查问题,和自定义的扩展.那么如何去学习框架呢.通常我们通过阅读文档.查看源码,然后又很快忘记.始终不能融汇贯通.本文主要基于Spring Cache扩展为例,介绍如何进行高效的源码阅读. SpringCache的介绍 为什么以Spring Cache为例呢,原因有两个 Spring框架是web开发最常用的框架,值得开发者去阅读代码,吸收思想 缓存是企业级应用开

Spring Cache扩展:注解失效时间+主动刷新缓存

*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HEAD

webx中保留原spring servlet模块的配置

虽然很猥琐,但是业务需求要求在webx中保留原来的运行在spring模块上的servlet功能 .几经折腾,总算整合好了. 新建一个  webx项目,把webapp下的所有目录 copy到原来模块对应目录中. 除了web.xml,其它的邮webx生成的xml都copy到原工程相应目录下. 编程webx.xml 1.注释 < listener>        <listener-class>org.springframework.web.context.ContextLoaderLi

图解WildFly8之Servlet容器Undertow剖析

Undertow简介 Undertow 是RedHat(红帽公司)的开源产品,采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制. WildFly8的默认Servlet容器采用的不是Tomcat,也不是Jetty,而是JBoss自己开源的Undertow,Undertow是用Java编写的性能灵活的Servlet容器,底层基于高性能的NIO框架XNIO,XNIO也是JBoss开源的产品,JBoss开源的高性能NIO框架还有一个很有名:Netty.Unde