适配器模式
例如Controller的三种实现方式:
- @Controller注解
- 实现Controller接口 + xml配置文件:配置DemoController与URL的对应关系
- 实现Servlet接口 + xml配置文件:配置DemoController类与URL的对应关系
不同的Controller如何调用呢?可以通过适配器模式。
terface HandlerAdapter {
boolean supports(Object var1);
ModelAndView handle(HttpServletRequest var1, HttpServletResponse var2, Object var3) throws Exception;
long getLastModified(HttpServletRequest var1, Object var2);
}
// 对应实现Controller接口的Controller
public class SimpleControllerHandlerAdapter implements HandlerAdapter {
public SimpleControllerHandlerAdapter() {
}
public boolean supports(Object handler) {
return handler instanceof Controller;
}
public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
return ((Controller)handler).handleRequest(request, response);
}
public long getLastModified(