整个接口就一个方法,如下
public interface HttpRequestHandler {/** * Process the given request, generating a response. * @param request current HTTP request * @param response current HTTP response * @throws ServletException in case of general errors * @throws IOException in case of I/O errors */ void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException;
}
用官话的原话来说这个接口的作用:Plain handler interface for components that process HTTP requests,即一个专门用来处理Http请求,并生成对应的响应的处理器。
该接口类似于javaEE中的Servlet,目的都是处理请求,产生响应结果,spring之所以引入这么一个接口,无非是想把spirng-container更加的模拟成具有容器效果,并且有所加强,比如:
有时候我们发现某些请求属于某一类请求,比如都是基于Servlet的请求,比如都是基于Hessian的请求,这个时候,我们需要一个 “比较”特殊地方(或者程序段)来处理这些请求,对于这类请求
,我们的系统需要作出额外的支持,比如暴露Hessian的服务,比如处理某一类的Servlet,这个时候spring就非常需要HttpRequestHandler来做后续处理。
HttpRequestHandler主要有以下实现:
1.DefaultServletHttpRequestHandler 默认的servlet处理程序
2.HessianServiceExporter hessian服务处理程序
3.HttpInvokerServiceExporter 基于http的HTTP调用器
4.ResourceHttpRequestHandler 静态资源处理程序
关于上面的四种请求处理程序的详细内容,可以参考下面几篇博文:
静态资源处理器
http://jinnianshilongnian.iteye.com/blog/2108894
Http调用器
Spring中HttpInvoker远程方法调用总结 - Spring - 软件开发 - 深度开源
Spring HTTP Invoker使用介绍_力量来源于赤诚的爱!的技术博客_51CTO博客
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于