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

wordpress博客 centtosseo全网营销的方式

wordpress博客 centtos,seo全网营销的方式,用.net做的网站,宁波企业网站建设SpringMVC的执行流程是一个基于前端控制器模式的请求处理机制,核心围绕DispatcherServlet展开,以下是详细步骤和关键组件的说明: 1. 用户发起请求 用户通过浏览器或其他客户端发送HTTP请求到服务器(例如:GET /user/li…

SpringMVC的执行流程是一个基于前端控制器模式的请求处理机制,核心围绕DispatcherServlet展开,以下是详细步骤和关键组件的说明:


1. 用户发起请求

  • 用户通过浏览器或其他客户端发送HTTP请求到服务器(例如:GET /user/list)。
  • 请求首先被Servlet容器(如Tomcat)接收,并转发给DispatcherServlet(前端控制器)。

2. DispatcherServlet接收请求

  • DispatcherServlet是SpringMVC的核心组件,所有请求首先到达这里。
  • 它不直接处理业务逻辑,而是作为协调者,调用其他组件完成请求处理。

3. 请求映射(HandlerMapping)

  • HandlerMapping(处理器映射器)根据请求的URL、HTTP方法等信息,找到匹配的处理器(Handler)
    • Handler通常是Controller类中的方法(通过@RequestMapping@GetMapping等注解定义)。
    • 示例:/user/list可能映射到UserControllerlistUsers()方法。
  • HandlerMapping返回一个HandlerExecutionChain对象,包含:
    • 目标处理器(Handler):具体的Controller方法。
    • 拦截器(Interceptor):配置的拦截器链(如登录校验、日志记录)。

4. 拦截器预处理(Interceptor preHandle)

  • 执行HandlerExecutionChain中所有拦截器的preHandle()方法。
    • 如果某个拦截器返回false,流程终止并直接返回响应(如未登录用户被拦截)。
    • 如果全部拦截器返回true,继续后续处理。

5. 处理器适配与执行(HandlerAdapter)

  • HandlerAdapter(处理器适配器)负责调用目标处理器(Controller方法),具体任务包括:
    • 参数绑定:将HTTP请求参数转换为方法参数(如@RequestParam@RequestBody@PathVariable)。
    • 数据转换/格式化:例如字符串转日期、数字类型。
    • 数据验证:通过@Valid触发校验(如Hibernate Validator)。
    • 执行处理器:调用Controller方法,执行业务逻辑(如查询数据库)。

6. 处理器返回结果

  • 传统MVC场景
    • Controller方法返回ModelAndView对象,包含:
      • Model:模型数据(如用户列表)。
      • View:视图名称(如userList)。
  • 前后端分离场景
    • Controller方法直接返回数据对象(如Java对象),配合@ResponseBody@RestController
    • HttpMessageConverter(如MappingJackson2HttpMessageConverter)将对象序列化为JSON/XML,直接写入响应。

7. 视图解析(ViewResolver)

  • 传统MVC场景
    • ViewResolver(视图解析器)根据ModelAndView中的视图名称(如userList),解析出具体的View对象(如JSP、Thymeleaf模板)。
    • 视图渲染View对象将模型数据填充到模板中,生成HTML响应内容。
  • 前后端分离场景
    • 跳过视图解析步骤,直接返回JSON/XML数据。

8. 拦截器后处理(Interceptor postHandle)

  • 执行拦截器的postHandle()方法(仅对传统MVC有效)。
    • 可以修改ModelAndView对象(如添加公共数据)。
    • 不影响前后端分离场景。

9. 最终响应与资源清理

  • 响应返回
    • 渲染后的HTML内容或JSON/XML数据通过DispatcherServlet返回给客户端。
  • 拦截器收尾
    • 无论请求成功或异常,执行拦截器的afterCompletion()方法,进行资源清理(如关闭数据库连接)。

10. 异常处理

  • 异常解析器(HandlerExceptionResolver)
    • 如果在流程中发生异常,HandlerExceptionResolver会捕获并处理异常。
    • 根据异常类型返回相应的错误页面或JSON响应(如@ExceptionHandler@ControllerAdvice)。

关键组件总结

组件作用
DispatcherServlet前端控制器,协调整个流程。
HandlerMapping根据URL映射到对应的Controller方法。
HandlerAdapter适配不同类型的Handler,执行Controller方法并处理参数/返回值。
ModelAndView传统MVC中包含模型数据和视图名称的对象。
ViewResolver解析视图名称,找到具体的视图实现(如JSP、Thymeleaf)。
Interceptor拦截请求,执行预处理、后处理和资源清理(如登录校验、日志记录)。
HttpMessageConverter前后端分离场景中,将Java对象序列化为JSON/XML并写入响应。

示例流程(传统MVC)

假设用户访问/user/list

  1. DispatcherServlet接收请求。
  2. HandlerMapping找到UserControllerlistUsers()方法。
  3. HandlerAdapter调用listUsers(),执行业务逻辑,返回包含用户列表和视图名userListModelAndView
  4. ViewResolver解析userList,找到对应的JSP页面。
  5. 视图渲染:将用户列表填充到JSP中,生成HTML响应。
  6. 响应返回:浏览器显示用户列表。

前后端分离差异

  • 直接返回JSON:Controller方法返回数据对象,HttpMessageConverter序列化为JSON。
  • 跳过视图解析:无需ViewResolver和视图渲染步骤。
  • 典型注解@RestController@ResponseBody

总结

SpringMVC的执行流程通过分层设计组件解耦实现了高度灵活性和可扩展性:

  • 前端控制器模式统一管理请求分发。
  • 拦截器支持通用逻辑的复用(如权限校验)。
  • 适配器模式兼容不同类型的Controller。
  • 前后端分离与传统MVC无缝切换,适应现代开发需求。

http://www.dtcms.com/wzjs/130745.html

相关文章:

  • 北京市建委官方网站网络营销技巧培训班
  • c net做的网站网络营销的策略有哪些
  • 网站建设jz518河南网站建设公司哪家好
  • 广州做网站信科网络友情链接推广平台
  • 黄石做网站公司微信朋友圈的广告怎么投放
  • 网站 关键词库 怎么做seo狂人
  • 网站收录做关键词排名站长工具服务器查询
  • 站长工具域名备案查询一年的百度指数
  • wordpress密码hello优化seo排名
  • ipv6域名解析 做网站搜索引擎优化的目的是对用户友好
  • 烟台建设银行网站搜索引擎优化的特点
  • 德阳城乡建设部网站首页优化是什么意思?
  • 网站开发优秀毕业论文深圳产品网络推广
  • asp网站建设代码个人网站规划书模板
  • 建设行业个人云网站谷歌paypal官网入口
  • 怎样能注册自己的网站java培训学费多少钱
  • 商城网站建设服务哪家好seo包年服务
  • 修改wordpress注册邮件贴吧aso优化贴吧
  • 汤原建设局网站谷歌推广代理公司
  • 网站图片怎样做seo优化专业网络推广公司
  • 做网站现在好弄么营销策略有哪些理论
  • 域名注册网站建设方案公司网络营销策划书
  • 汽车网站管理系统河北seo技术
  • 如何在阿里云建设网站阿里大数据分析平台
  • 免费个人网站注册重庆seo教程
  • 合肥网站建设套餐百度用户服务中心人工电话
  • 龙岗做网站公司icxun网络营销策划书的范文
  • 吉林网站建设费用品牌营销服务
  • 给企业做网站简述seo和sem的区别与联系
  • 类似一起做网站的网站搜索引擎推广方法