springmvc flow

男娘i 2022-04-14 03:19 345阅读 0赞
  1. protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {
  2. for (HandlerMapping hm : this.handlerMappings) {
  3. if (logger.isTraceEnabled()) {
  4. logger.trace(
  5. "Testing handler map [" + hm + "] in DispatcherServlet with name '" + getServletName() + "'");
  6. }
  7. HandlerExecutionChain handler = hm.getHandler(request);
  8. if (handler != null) {
  9. return handler;
  10. }
  11. }
  12. return null;
  13. }
  14. protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException {
  15. for (HandlerAdapter ha : this.handlerAdapters) {
  16. if (logger.isTraceEnabled()) {
  17. logger.trace("Testing handler adapter [" + ha + "]");
  18. }
  19. if (ha.supports(handler)) {
  20. return ha;
  21. }
  22. }
  23. throw new ServletException("No adapter for handler [" + handler +
  24. "]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler");
  25. }
  26. // get ModelAndView
  27. mv = ha.handle(processedRequest, response, mappedHandler.getHandler());
  28. if (mv.isReference()) {
  29. // We need to resolve the view name.
  30. view = resolveViewName(mv.getViewName(), mv.getModelInternal(), locale, request);
  31. }
  32. else {
  33. // No need to lookup: the ModelAndView object contains the actual View object.
  34. view = mv.getView();
  35. }
  36. view.render(mv.getModelInternal(), request, response);
  37. // resolveViewName
  38. for (ViewResolver viewResolver : this.viewResolvers) {
  39. View view = viewResolver.resolveViewName(viewName, locale);
  40. if (view != null) {
  41. return view;
  42. }
  43. }
  44. return null;

发表评论

表情:
评论列表 (有 0 条评论,345人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Git Flow

    一、引入背景         在使用Git的过程中如果没有清晰流程和规划,否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。Git版本管理同样需要

    相关 Spring Web Flow

    开始之前 关于本教程 本教程通过一个简化的购物车应用,介绍了如何使用 Spring Web Flow 2.0 来构建 Web 应用程序。本教程以讲解实例为主,为了读

    相关 认识 Flow

    [Flow][] 是 facebook 出品的 JavaScript 静态类型检查工具。Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅

    相关 git flow命令

    git flow是一个git的扩展集。Git flow 可以工作在 OSX, Linux 和 Windows之下。 本文主要列举一些常用的git flow命令。以及git