UNPKG

node-web-mvc

Version:
41 lines (40 loc) 1.65 kB
/** * @module DispatcherServlet * @description 处理http请求 */ import ServletContext from './http/ServletContext'; import HandlerAdapter from './method/HandlerAdapter'; import HandlerExecutionChain from './interceptor/HandlerExecutionChain'; import AbstractApplicationContext from './context/AbstractApplicationContext'; import HandlerMethod from './method/HandlerMethod'; import ModelAndView from './models/ModelAndView'; export default class DispatcherServlet { private handlerMappings; private handlerAdapters; private exceptionResolver; private readonly appContext; private viewResolverRegistry; private fallbackErrorHandler; constructor(appContext: AbstractApplicationContext); getHandler(servletContext: ServletContext): HandlerExecutionChain; private initHandlerMappings; private initHandlerAdapters; private initExceptionResolvers; private initErrorHandler; private initStrategies; private initViewResolvers; /** * 根据当前处理的handler获取对应的处理适配器 * @param handler */ getHandlerAdapter(handler: any): HandlerAdapter; doService(servletContext: ServletContext): Promise<void>; doDispatch(servletContext: ServletContext): Promise<void>; /** * 处理异常 * @param { Error } error 异常信息 * @param {ControllerContext} servletContext 请求上下文 */ handleException(error: Error, servletContext: ServletContext, handler: HandlerMethod): Promise<ModelAndView>; processDispatchResult(error: Error, mv: ModelAndView, servletContext: ServletContext, handler: HandlerMethod): Promise<void>; }