当前位置: 首页 > news >正文

电影网站怎么制作ip开源网站FPGA可以做点什么

电影网站怎么制作,ip开源网站FPGA可以做点什么,电子商务网站建设详细策划书,苏州网站建设科技DispatcherServlet概述DispatcherServlet是SpringMVC的前端控制器(Front Controller),它负责拦截所有进入应用的HTTP请求,分发请求给相应的处理器,并处理返回的响应。DispatcherServlet的主要职责包括:初始…

DispatcherServlet概述

DispatcherServlet是SpringMVC的前端控制器(Front Controller),它负责拦截所有进入应用的HTTP请求,分发请求给相应的处理器,并处理返回的响应。DispatcherServlet的主要职责包括:

  • 初始化WebApplicationContext
  • 加载各种组件(如HandlerMapping、HandlerAdapter等)
  • 分发请求
  • 视图解析和渲染

DispatcherServlet初始化

DispatcherServlet的初始化过程包括创建和配置Spring的WebApplicationContext以及加载各种必要的组件。下面是 DispatcherServlet初始化的主要步骤:

  1. 初始化WebApplicationContext
protected WebApplicationContext initWebApplicationContext() {// 获取现有的WebApplicationContextWebApplicationContext rootContext =WebApplicationContextUtils.getWebApplicationContext(getServletContext());WebApplicationContext wac = createWebApplicationContext(rootContext);// 配置WebApplicationContextconfigureAndRefreshWebApplicationContext(wac);return wac;
}
​
  1. 加载配置文件和初始化组件
protected void initStrategies(ApplicationContext context) {initMultipartResolver(context);initLocaleResolver(context);initThemeResolver(context);initHandlerMappings(context);initHandlerAdapters(context);initHandlerExceptionResolvers(context);initRequestToViewNameTranslator(context);initViewResolvers(context);initFlashMapManager(context);
}
​

请求处理流程

当一个HTTP请求到达时,DispatcherServlet将按以下步骤处理请求:

  1. 请求接收
protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {HttpServletRequest processedRequest = request;HandlerExecutionChain mappedHandler = null;ModelAndView mv = null;Exception dispatchException = null;try {// 检查并包装Multipart请求processedRequest = checkMultipart(request);// 获得处理器mappedHandler = getHandler(processedRequest);if (mappedHandler == null) {noHandlerFound(processedRequest, response);return;}// 获得处理器适配器HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());// 执行处理器mv = ha.handle(processedRequest, response, mappedHandler.getHandler());// 处理视图processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);}catch (Exception ex) {dispatchException = ex;processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);}
}
​
  1. 检查Multipart请求
protected HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartException {if (this.multipartResolver != null && this.multipartResolver.isMultipart(request)) {return this.multipartResolver.resolveMultipart(request);}return request;
}
​
  1. 获取处理器
protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {for (HandlerMapping hm : this.handlerMappings) {HandlerExecutionChain handler = hm.getHandler(request);if (handler != null) {return handler;}}return null;
}
​
  1. 获取处理器适配器
protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException {for (HandlerAdapter ha : this.handlerAdapters) {if (ha.supports(handler)) {return ha;}}throw new ServletException("No adapter for handler [" + handler + "]");
}
​
  1. 处理视图
protected void processDispatchResult(HttpServletRequest request, HttpServletResponse response,HandlerExecutionChain mappedHandler, ModelAndView mv, Exception exception) throws Exception {if (exception != null) {if (mv == null) {throw exception;}mv.addObject("exception", exception);}if (mv != null) {render(mv, request, response);}
}
​

处理器映射

处理器映射(Handler Mapping)负责将请求URL映射到相应的处理器。常用的处理器映射有:

  • RequestMappingHandlerMapping:基于注解的处理器映射。
  • BeanNameUrlHandlerMapping:基于Bean名称的处理器映射。
public HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {String lookupPath = getUrlPathHelper().getLookupPathForRequest(request);HandlerMethod handlerMethod = lookupHandlerMethod(lookupPath, request);return handlerMethod != null ? new HandlerExecutionChain(handlerMethod) : null;
}
​

处理器适配

处理器适配(Handler Adapter)负责调用处理器方法。常用的处理器适配有:

  • RequestMappingHandlerAdapter:适配使用@RequestMapping注解的方法。
  • HttpRequestHandlerAdapter:适配实现HttpRequestHandler接口的处理器。
public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return ((HandlerMethod) handler).invokeForRequest(request, response);
}
​

视图解析

视图解析(View Resolver)负责将逻辑视图名称解析为实际视图对象,并渲染视图。常用的视图解析器有:

  • InternalResourceViewResolver:解析JSP视图。
  • ThymeleafViewResolver:解析Thymeleaf视图。
public View resolveViewName(String viewName, Locale locale) throws Exception {return getView(viewName, locale);
}protected View getView(String viewName, Locale locale) throws Exception {return (viewName != null ? new InternalResourceView(viewName) : null);
}
​
http://www.dtcms.com/a/421096.html

相关文章:

  • 做网站需要解析吗制作网站哪里好
  • 徐州专业网站建设公司做ui设计用什么网站
  • 国内十大网站建设公司排名免费WordPress门户一号
  • 怎么用ps做简单网站移动路由器做网站服务器吗
  • 怎么做公司内部网站济南公司建设网站
  • 深圳手机端网站建设设计公司网站seo优化免费
  • 新公司做网站wordpress更换主题时
  • 入侵于防御当中的HTTP协议
  • 福州学做网站3d动画制作软件下载
  • 郑州h5网站建设价格网站怎样维护
  • 国外 设计网站延吉做网站
  • 编写网站 支付宝下载万能wifi钥匙免费连接无线网
  • 网站推广引流建设银行网站怎么不可登入
  • 织梦技术网站模版长春网站建设那家好
  • 友情链接网站凡科建站怎么绑定自己的域名
  • 营销型网站建设策划做网站备案是个人还是企业好
  • 广西灵山县住房和城乡建设局网站兰州装修公司位置
  • 兖州那有做网站的潮州网站搭建找谁
  • 信息发布网站建设宁波住房和城乡建设网
  • 虚拟电子商务网站建设前期规划方案北京的广告公司有哪些
  • 网站可以用中国二字做抬头吗建设医院网站ppt
  • 解决登录谷歌学术时显示“异常流量”的问题
  • 佛山专业做网站公司哪家好拖拽式建站平台
  • c 做网站设计网络专业的网站建设价格
  • 商城网站开发费用一般是多少WordPress加速优化方案
  • 网站下面 备案网站建设浅析
  • 行知智网站建设样式网站
  • MATLAB中Simulink.SimulationInput用法
  • python源码下载seo优化技术培训
  • 石家庄做网站的口碑好中国建设教育网官网是什么网站