node-web-mvc
Version:
node spring mvc
41 lines (40 loc) • 1.65 kB
TypeScript
/**
* @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>;
}