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

网络游戏网站网址大全/如何免费搭建自己的网站

网络游戏网站网址大全,如何免费搭建自己的网站,做外贸独立网站必须要有备案么,cms与wordpress核心架构的具体流程步骤如下: 1、 首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制; 2、 Dispatche…

核心架构的具体流程步骤如下:

1、  首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;

2、  DispatcherServlet——>HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,通过这种策略模式,很容易添加新的映射策略;

3、  DispatcherServlet——>HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;

4、  HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个ModelAndView对象(包含模型数据、逻辑视图名);

5、  ModelAndView的逻辑视图名——> ViewResolver, ViewResolver将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术;

6、  View——>渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术;

7、返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。

 

protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {HttpServletRequest processedRequest = request;HandlerExecutionChain mappedHandler = null;int interceptorIndex = -1;try {ModelAndView mv;boolean errorView = false;try {processedRequest = checkMultipart(request);// 根据请求得到Handler

mappedHandler = getHandler(processedRequest, false);if (mappedHandler == null || mappedHandler.getHandler() == null) {noHandlerFound(processedRequest, response);return;}// 把Handler保装成HandlerAdapter.HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());// Process last-modified header, if supported by the handler.String method = request.getMethod();boolean isGet = "GET".equals(method);if (isGet || "HEAD".equals(method)) {long lastModified = ha.getLastModified(request, mappedHandler.getHandler());if (logger.isDebugEnabled()) {String requestUri = urlPathHelper.getRequestUri(request);logger.debug("Last-Modified value for [" + requestUri + "] is: " + lastModified);}if (new ServletWebRequest(request, response).checkNotModified(lastModified) && isGet) {return;}}// 执行preHandler.HandlerInterceptor[] interceptors = mappedHandler.getInterceptors();if (interceptors != null) {for (int i = 0; i < interceptors.length; i++) {HandlerInterceptor interceptor = interceptors[i];if (!interceptor.preHandle(processedRequest, response, mappedHandler.getHandler())) {triggerAfterCompletion(mappedHandler, interceptorIndex, processedRequest, response, null);return;}interceptorIndex = i;}}// 处理控制器逻辑并返回MV.mv = ha.handle(processedRequest, response, mappedHandler.getHandler());// Do we need view name translation?if (mv != null && !mv.hasView()) {mv.setViewName(getDefaultViewName(request));}// 执行POSTHandler

if (interceptors != null) {for (int i = interceptors.length - 1; i >= 0; i--) {HandlerInterceptor interceptor = interceptors[i];interceptor.postHandle(processedRequest, response, mappedHandler.getHandler(), mv);}}}catch (ModelAndViewDefiningException ex) {logger.debug("ModelAndViewDefiningException encountered", ex);mv = ex.getModelAndView();}catch (Exception ex) {Object handler = (mappedHandler != null ? mappedHandler.getHandler() : null);mv = processHandlerException(processedRequest, response, handler, ex);errorView = (mv != null);}// ViewResolver根据使用 model和view来呈现if (mv != null && !mv.wasCleared()) {render(mv, processedRequest, response);if (errorView) {WebUtils.clearErrorRequestAttributes(request);}}else {if (logger.isDebugEnabled()) {logger.debug("Null ModelAndView returned to DispatcherServlet with name '" + getServletName() +"': assuming HandlerAdapter completed request handling");}}// Trigger after-completion for successful outcome.triggerAfterCompletion(mappedHandler, interceptorIndex, processedRequest, response, null);}catch (Exception ex) {// Trigger after-completion for thrown exception. triggerAfterCompletion(mappedHandler, interceptorIndex, processedRequest, response, ex);throw ex;}catch (Error err) {ServletException ex = new NestedServletException("Handler processing failed", err);// Trigger after-completion for thrown exception. triggerAfterCompletion(mappedHandler, interceptorIndex, processedRequest, response, ex);throw ex;}finally {// Clean up any resources used by a multipart request.if (processedRequest != request) {cleanupMultipart(processedRequest);}}}

 参考(照抄)http://jinnianshilongnian.iteye.com/blog/1594806

转载于:https://www.cnblogs.com/javabeginer/p/6674287.html

http://www.jmfq.cn/news/5085595.html

相关文章:

  • 网站建设 人性的弱点/游戏推广平台有哪些
  • 慈溪市建设厅网站/在线生成个人网站
  • 专业提供网站建设服务/网站怎么做优化排名
  • bc源码 网站 搭建/电话号码宣传广告
  • 北京做网站设计招聘/网络营销推广方式包括
  • 伊春seo公司/百度首页排名优化哪家专业
  • 中纪委网站两学一做征文/谷歌账号注册
  • 网站怎么做付款平台/汕头seo外包机构
  • 贵州专业网站建设/免费推广网址
  • 长春网站建设/seo网站优化服务
  • axure做网站效果图步骤/全球搜索引擎市场份额
  • 制作网站付费软件/网站策划是什么
  • 电商网站制作流程图/上海抖音seo公司
  • 昆明哪些做网站建设的公司/移动慧生活app下载
  • 西安行业网站建设/网络营销到底是个啥
  • html 与wordpress/重庆seo霸屏
  • 企业网站及公众号建设方案/俄罗斯搜索引擎yandex官网入口
  • hefei 网站制作/关注公众号推广2元一个
  • 企业名录搜索网站/广州seo网站
  • 建网站做站长怎么赚钱/软文一般发布在哪些平台
  • 商城网站建设方案/东莞seo推广机构帖子
  • wordpress nginx 404/关键词推广seo怎么优化
  • 网站电子签名怎么做/最新中国新闻
  • 现在标书都从哪个网站下载/网络优化的基本方法
  • 网站如何提升流量/bt种子万能搜索神器
  • 辅导班如何做网站/网络查询网站
  • 千锋教育西安校区/seo排名优化公司价格
  • 营销型网站建设大千建站/浙江网络推广公司
  • 网页使用怎么做/杭州seo顾问
  • 网站域名怎么免费获取/网络优化工程师需要学什么