10.3. 创建自定义处理程序
定义自定义处理程序的方法有两种:
使用 WEB-INF/jboss-web.xml 文件定义自定义处理程序
自定义处理程序可以在 WEB-INF/jboss-web.xml 文件中定义。
示例:在 WEB-INF/jboss-web.xml中定义自定义处理程序
<jboss-web>
<http-handler>
<class-name>org.jboss.example.MyHttpHandler</class-name>
</http-handler>
</jboss-web>
<jboss-web>
<http-handler>
<class-name>org.jboss.example.MyHttpHandler</class-name>
</http-handler>
</jboss-web>
示例: HttpHandler Class
也可以使用 WEB-INF/jboss-web.xml 文件为自定义处理程序设置参数。
示例:在 WEB-INF/jboss-web.xml 中定义参数
要使这些参数发挥作用,处理程序类需要具有对应的集合器。
示例:在 Handler 中定义设置方法
在 WEB-INF/undertow-handlers.conf 文件中定义自定义处理程序
除了使用 WEB-INF/jboss-web.xml 定义处理程序外,也可以在 WEB-INF/undertow-handlers.conf 文件中定义。
myHttpHandler(myParam='foobar')
myHttpHandler(myParam='foobar')
要让 WEB-INF/undertow-handlers.conf 中定义的处理器正常工作,需要创建两个因素:
HandlerBuilder实施,它为undertow-handlers.conf定义对应的语法位,并负责创建HttpHandler(封装在HandlerWrapper中)。示例:
HandlerBuilder类Copy to Clipboard Copied! Toggle word wrap Toggle overflow 文件中的条目。
META-INF/services/io.undertow.server.handlers.builder.HandlerBuilder.此文件必须位于类路径上,例如,在WEB-INF/classes中。org.jboss.example.MyHandlerBuilder
org.jboss.example.MyHandlerBuilderCopy to Clipboard Copied! Toggle word wrap Toggle overflow