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

中国优秀网站建设官网网络营销的实现方式

中国优秀网站建设官网,网络营销的实现方式,如何制作微信小程序商城,公司网站还有用吗Spring MVC请求处理流程分析一 Spring MVC 请求处理流程二 Spring MVC 请求处理流程源码分析2.1架构图解2.2 重要时机点分析2.3核心步骤分析2.3.1 getHandler⽅法剖析2.3.2 getHandlerAdapter⽅法剖析2.3.3 ha.handle⽅法剖析2.3.4 processDispatchResult⽅法剖析三 Spring MVC… Spring MVC请求处理流程分析一 Spring MVC 请求处理流程二 Spring MVC 请求处理流程源码分析2.1架构图解2.2 重要时机点分析2.3核心步骤分析2.3.1 getHandler⽅法剖析2.3.2 getHandlerAdapter⽅法剖析2.3.3 ha.handle⽅法剖析2.3.4 processDispatchResult⽅法剖析三 Spring MVC 九⼤组件一 Spring MVC 请求处理流程 流程说明 第⼀步⽤户发送请求⾄前端控制器DispatcherServlet 第⼆步DispatcherServlet收到请求调⽤HandlerMapping处理器映射器 第三步处理器映射器根据请求Url找到具体的Handler后端控制器⽣成处理 器对象及处理器拦截器(如果 有则⽣成)⼀并返回DispatcherServlet 第四步DispatcherServlet调⽤HandlerAdapter处理器适配器去调⽤Handler 第五步处理器适配器执⾏Handler 第六步Handler执⾏完成给处理器适配器返回ModelAndView 第七步处理器适配器向前端控制器返回 ModelAndViewModelAndView 是SpringMVC 框架的⼀个底层对 象包括 Model 和 View 第⼋步前端控制器请求视图解析器去进⾏视图解析根据逻辑视图名来解析真正的视图。 第九步视图解析器向前端控制器返回View 第⼗步前端控制器进⾏视图渲染就是将模型数据在 ModelAndView 对象中填充到 request 域 第⼗⼀步前端控制器向⽤户响应结果 二 Spring MVC 请求处理流程源码分析 2.1架构图解 2.2 重要时机点分析 SpringMVC处理请求的流程即为 org.springframework.web.servlet.DispatcherServlet#doDispatch⽅法的执⾏过程 1调⽤getHandler()获取到能够处理当前请求的执⾏链 HandlerExecutionChainHandler拦截器 2调⽤getHandlerAdapter()获取能够执⾏1中Handler的适配器 3适配器调⽤Handler执⾏ha.handle总会返回⼀个ModelAndView对象 4调⽤processDispatchResult()⽅法完成视图渲染跳转 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {....//这里检测是否是文件上传内容processedRequest checkMultipart(request);multipartRequestParsed (processedRequest ! request);// 获取的处理器映射器// 这里返回的不是一个具体的controller而是HandlerExecutionChain// 他封装了handler及拦截器mappedHandler getHandler(processedRequest);if (mappedHandler null) {//如果handler为空则返回404noHandlerFound(processedRequest, response);return;}// 获取处理请求的处理器适配器HandlerAdapter ha getHandlerAdapter(mappedHandler.getHandler());......// 实际处理器适配器执行方法返回视图mv ha.handle(processedRequest, response, mappedHandler.getHandler());.....// 渲染结果processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);...... }2.3核心步骤分析 2.3.1 getHandler⽅法剖析 遍历两个HandlerMapping试图获取能够处理当前请求的执⾏链 2.3.2 getHandlerAdapter⽅法剖析 遍历各个HandlerAdapter看哪个Adapter⽀持处理当前Handler 2.3.3 ha.handle⽅法剖析 入口 流程 2.3.4 processDispatchResult⽅法剖析 render⽅法完成渲染 视图解析器解析出View视图对象 2.1 在解析出View视图对象的过程中会判断是否重定向、是否转发等不同的情况封装的是不同的View实现 2.2解析出View视图对象的过程中要将逻辑视图名解析为物理视图名 封装View视图对象之后调⽤了view对象的render⽅法 3.1 渲染数据 3.2 把modelMap中的数据暴露到request域中这也是为什么后台model.add之后在jsp中可以从请求域取出来的根本原因 3.3 将数据设置到请求域中 3.4跳转页面 三 Spring MVC 九⼤组件 HandlerMapping处理器映射器 HandlerMapping 是⽤来查找 Handler 的也就是处理器具体的表现形式可以是类也可以是⽅法。⽐如标注了RequestMapping的每个⽅法都可以看成是⼀个Handler。Handler负责具体实际的请求处理在请求到达后HandlerMapping 的作⽤便是找到请求相应的处理器Handler 和 Interceptor.HandlerAdapter处理器适配器HandlerMapping存储了url和handle之间的关系。 HandlerAdapter处理器适配器 HandlerAdapter 是⼀个适配器。因为 Spring MVC 中 Handler 可以是任意形式的只要能处理请求即可。但是把请求交给 Servlet 的时候由于 Servlet 的⽅法结构都是doService(HttpServletRequest req,HttpServletResponse resp)形式的要让固定的 Servlet 处理⽅法调⽤ Handler 来进⾏处理便是HandlerAdapter 的职责。 HandlerExceptionResolver HandlerExceptionResolver ⽤于处理 Handler 产⽣的异常情况。它的作⽤是根据异常设置ModelAndView之后交给渲染⽅法进⾏渲染渲染⽅法会将 ModelAndView 渲染成⻚⾯。 ViewResolver ViewResolver即视图解析器⽤于将String类型的视图名和Locale解析为View类型的视图只有⼀ 个resolveViewName()⽅法。从⽅法的定义可以看出Controller层返回的String类型视图名 viewName 最终会在这⾥被解析成为View。View是⽤来渲染⻚⾯的也就是说它会将程序返回的参数和数据填⼊模板中⽣成html⽂件。ViewResolver 在这个过程主要完成两件事情 ViewResolver 找到渲染所⽤的模板第⼀件⼤事和所⽤的技术第⼆件⼤事其实也就是找到视图的类型如JSP并填⼊参数。 默认情况下Spring MVC会⾃动为我们配置⼀个InternalResourceViewResolver,是针对 JSP 类型视图的。 RequestToViewNameTranslator RequestToViewNameTranslator 组件的作⽤是从请求中获取 ViewName.因为 ViewResolver 根据ViewName 查找 View但有的 Handler 处理完成之后,没有设置 View也没有设置 ViewName便要通过这个组件从请求中查找 ViewName。 LocaleResolver ViewResolver 组件的 resolveViewName ⽅法需要两个参数⼀个是视图名⼀个是 Locale。 LocaleResolver ⽤于从请求中解析出 Locale⽐如中国 Locale 是 zh-CN⽤来表示⼀个区域。这个组件也是 i18n 的基础。 ThemeResolver ThemeResolver 组件是⽤来解析主题的。主题是样式、图⽚及它们所形成的显示效果的集合。 Spring MVC 中⼀套主题对应⼀个 properties⽂件⾥⾯存放着与当前主题相关的所有资源如图⽚、CSS样式等。创建主题⾮常简单只需准备好资源然后新建⼀个“主题名.properties”并将资源设置进去放在classpath下之后便可以在⻚⾯中使⽤了。SpringMVC中与主题相关的类有 ThemeResolver、ThemeSource和Theme。ThemeResolver负责从请求中解析出主题名 ThemeSource根据主题名找到具体的主题其抽象也就是Theme可以通过Theme来获取主题和具体的资源。 MultipartResolver MultipartResolver ⽤于上传请求通过将普通的请求包装成 MultipartHttpServletRequest 来实现。MultipartHttpServletRequest 可以通过 getFile() ⽅法 直接获得⽂件。如果上传多个⽂件还可以调⽤ getFileMap()⽅法得到MapFileNameFile这样的结构MultipartResolver 的作⽤就是封装普通的请求使其拥有⽂件上传的功能。 FlashMapManager FlashMap ⽤于重定向时的参数传递⽐如在处理⽤户订单时候为了避免重复提交可以处理完post请求之后重定向到⼀个get请求这个get请求可以⽤来显示订单详情之类的信息。这样做虽然可以规避⽤户重新提交订单的问题但是在这个⻚⾯上要显示订单的信息这些数据从哪⾥来获得呢因为重定向时么有传递参数这⼀功能的如果不想把参数写进URL不推荐那么就可以通过FlashMap来传递。只需要在重定向之前将要传递的数据写⼊请求可以通过ServletRequestAttributes.getRequest()⽅法获得的属性OUTPUT_FLASH_MAP_ATTRIBUTE 中这样在重定向之后的Handler中Spring就会⾃动将其设置到Model中在显示订单信息的⻚⾯上就可以直接从Model中获取数据。FlashMapManager 就是⽤来管理 FalshMap 的。
http://www.w-s-a.com/news/891061/

相关文章:

  • 宁夏网站开发设计说明书源码下载脚本之家
  • 邱县做网站百度搜索排名机制
  • 运城个人网站建设智慧团建系统官方网站登录
  • 公司营业执照可以做几个网站一家专门做母婴的网站
  • 网站建设商标属于哪个类别搜狗seo快速排名公司
  • 织梦做商城网站企业网络建站
  • 网站后期维护都有什么wordpress首页加图片
  • 展会网站怎么做网页设计与制作教程版徐洪亮课后答案
  • 石景山网站建设设计公司建设网站怎么建立服务器
  • 本地生活服务平台app网站关键词优化原理
  • 建网站的公司叫什么重庆论坛建站模板
  • 湖北网站制作公司银川网站建设哪家不错
  • 网站后台演示地址服装网站建设公司推荐
  • 湖北钟祥建设局网站旅游哪个网站最好
  • 浙江建设工程信息网站辽宁建设工程信息网场内业绩什么意思
  • 郑州做网站公司 汉狮网络专业图片搜集网站怎么做
  • 网站托管是什么品牌推广营销平台
  • 制作网站的难度贵州省兴义市建设局网站
  • 永春建设局网站室内设计师培训班学费多少
  • 做仿站如何获取网站源码windows2012做网站
  • 网站建设最好的公司东莞外贸网站
  • 普兰店网站建设一般做网站什么价格
  • 网站建设的发展目标甘肃网站设计公司
  • 常州西站建设规划室内装修设计学校哪里好
  • 大连网站制作选择ls15227如何编辑网站
  • 网站发稿平台迪士尼网站是谁做的
  • 常州有哪些好的网站建设案例wordpress 360 插件
  • 模板网站有后台么柳城网站建设
  • 地方门户网站制作一级做c爱片的网站
  • 自己上传图片做动漫图网站北京福田汽车