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

wordpress更换域名后seo关键词推广怎么做

wordpress更换域名后,seo关键词推广怎么做,阳西住房和城乡规划建设局网站,什么网站可以推广广告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/39906.html

相关文章:

  • 兑换网站建设信息流广告是什么
  • 做安卓icon图标下载网站win10优化
  • 中国网站建设哪家公司好网络营销企业案例
  • 北京网站制作公司招聘净水器十大品牌
  • 做哪些网站可以赚钱的哪个平台可以接推广任务
  • wordpress+直接连接数据库宁波seo公司排名榜
  • 温州网站优化页面深圳网络公司推广公司
  • JSP高级动态网站开发期末试卷重庆做优化的网络公司
  • 巩固网站访客量游戏app拉新平台
  • 关于建设部门子网站的请示舆情分析网站免费
  • 邢台规划局网站建设网络整合营销案例
  • 如何检测做的网站的兼容性广告接单平台app
  • 如何以目录形式访问网站如何进行网络推广
  • 买空间的网站好全免费建立自己的网站
  • 用什么软件做网站原型重庆seo是什么
  • 个人网站免费空间申请不收费的小说网站排名
  • 为什么要创建网站百度网盟
  • 用数字做域名的网站口碑营销的优势
  • wordpress音乐网站主题看b站视频下载软件
  • 长沙3合1网站建设公司网络广告推广方式
  • wordpress数据库损坏网站十大广告公司
  • 建设网站的心得seo优化课程
  • 做民宿怎么登录网站百度提交入口网址截图
  • 中文网站做google广告好吗易思企业网站管理系统
  • 网站设计注意事项网站怎么优化
  • 玉石网站建设的定位电脑培训机构
  • 独立站和公司网站的区别网络培训学校
  • 网站找人做备案的价格新网站排名优化怎么做
  • 虚拟空间可以做视频网站么app推广刷量
  • 中山外贸网站开发价格电商培训心得体会