有没有教做韩餐的网站专业做网站开发费用

张小明 2026/1/2 16:43:44
有没有教做韩餐的网站,专业做网站开发费用,上海先进网站建设公司,虚拟主机与网站建设博主社群介绍#xff1a; ① 群内初中生、高中生、本科生、研究生、博士生遍布#xff0c;可互相学习#xff0c;交流困惑。 ② 热榜top10的常客也在群里#xff0c;也有数不清的万粉大佬#xff0c;可以交流写作技巧#xff0c;上榜经验#xff0c;涨粉秘籍。 ③ 群内也…博主社群介绍 ① 群内初中生、高中生、本科生、研究生、博士生遍布可互相学习交流困惑。 ② 热榜top10的常客也在群里也有数不清的万粉大佬可以交流写作技巧上榜经验涨粉秘籍。 ③ 群内也有职场精英大厂大佬跨国企业主管可交流技术、面试、找工作的经验。 进群免费赠送写作秘籍一份助你由写作小白晋升为创作大佬进群赠送CSDN评论防封脚本送真活跃粉丝助你提升文章热度。 群公告里还有全网大赛约稿汇总/博客提效工具集/CSDN自动化运营脚本 有兴趣的加文末联系方式备注自己的CSDN昵称拉你进群互相学习共同进步。文章目录Spring 机制六 MVC 全链路源码解析从 DispatcherServlet 到返回值解析超硬核源码深度目录1. Spring MVC 架构与整体链路总览2. DispatcherServlet 初始化流程源码解析DispatcherServlet#onRefreshinitStrategies 装配 MVC 全套组件3. 请求分发核心doDispatch4. HandlerMapping如何找到 ControllerRequestMappingHandlerMapping 工作流程5. HandlerAdapter如何调用 Controller 方法HandlerAdapter 调用链源码6. 参数解析器ArgumentResolver内部原理7. 返回值处理器ReturnValueHandler链路8. 拦截器执行顺序9. Controller 调用链全景图10. Spring MVC 与 AOP 如何协作11. 实战自定义参数解析器1定义注解2自定义解析器3注册解析器4Controller 使用12. 超级总图Spring MVC 全链路流程图13. 参考文档结束语Spring 机制六 MVC 全链路源码解析从 DispatcherServlet 到返回值解析超硬核源码深度目录Spring MVC 的整体架构与执行链路总览DispatcherServlet 初始化流程源码请求分发核心doDispatch 全链路解析HandlerMapping 的查找过程HandlerAdapter 的适配与调用参数解析器Argument Resolver内部原理返回值处理器ReturnValueHandler链路拦截器执行顺序Controller 方法调用链全景图Mermaid与 AOP 如何协同实战自定义参数解析器Mermaid 超级总图从请求进入到响应输出参考文档1. Spring MVC 架构与整体链路总览Spring MVC 的核心处理流程可以抽象为HTTP 输入 → DispatcherServlet → HandlerMapping → HandlerAdapter → 参数解析 → 调用 Controller 方法 → 返回值解析 → 视图解析 → HTTP 输出整体流程 Mermaid 展示找到 HandlerHTTP 请求DispatcherServletHandlerMappingHandlerMethodHandlerAdapter参数解析 ArgumentResolver调用目标方法返回结果ReturnValueHandlerViewResolver渲染视图HTTP Response2. DispatcherServlet 初始化流程源码解析DispatcherServlet 是 Spring MVC 核心入口点继承链FrameworkServlet → HttpServletBean → HttpServletDispatcherServlet#onRefreshOverrideprotectedvoidonRefresh(ApplicationContextcontext){initStrategies(context);}initStrategies 装配 MVC 全套组件protectedvoidinitStrategies(ApplicationContextcontext){initMultipartResolver(context);initLocaleResolver(context);initThemeResolver(context);initHandlerMappings(context);initHandlerAdapters(context);initHandlerExceptionResolvers(context);initRequestToViewNameTranslator(context);initViewResolvers(context);}重点HandlerMappingHandlerAdapterViewResolver都是在这里完成自动装配属于 MVC 的“预热阶段”。3. 请求分发核心doDispatch核心路径FrameworkServlet#doService → DispatcherServlet#doDispatch简化源码protectedvoiddoDispatch(HttpServletRequestrequest,HttpServletResponseresponse){HandlerExecutionChainmappedHandlergetHandler(request);HandlerAdapterhagetHandlerAdapter(mappedHandler.getHandler());if(!mappedHandler.applyPreHandle(request,response)){return;}ModelAndViewmvha.handle(request,response,mappedHandler.getHandler());mappedHandler.applyPostHandle(request,response,mv);processDispatchResult(request,response,mappedHandler,mv);}4. HandlerMapping如何找到 Controller职责根据 URL 找到对应 Controller 的 HandlerMethod常见 HandlerMapping类型用途RequestMappingHandlerMapping处理 RequestMapping 体系BeanNameUrlHandlerMappingBean 名称即 URLSimpleUrlHandlerMappingXML 配置 URLSpring Boot 默认使用 RequestMappingHandlerMapping。RequestMappingHandlerMapping 工作流程启动时扫描所有Controller/RestControllerRequestMapping方法构建MapRequestMappingInfo, HandlerMethod请求时执行publicHandlerExecutionChaingetHandler(HttpServletRequestrequest){returnthis.mappingRegistry.getMappings().entrySet().stream().filter(entry-entry.getKey().getPatternsCondition().match(request)).findFirst().map(entry-newHandlerExecutionChain(entry.getValue())).orElse(null);}5. HandlerAdapter如何调用 Controller 方法Spring MVC 支持多种 HandlerAdapterAdapter用途RequestMappingHandlerAdapter注解 Controller 方法调用HttpRequestHandlerAdapter支持 HttpRequestHandlerSimpleControllerHandlerAdapter早期 Controller 模式默认使用 RequestMappingHandlerAdapter负责参数绑定参数解析器链返回值解析器链调用 HandlerMethodHandlerAdapter 调用链源码publicModelAndViewhandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler){returninvokeHandlerMethod(request,response,(HandlerMethod)handler);}6. 参数解析器ArgumentResolver内部原理核心类HandlerMethodArgumentResolverComposite流程foreach parameter:1.找到 supportsParametertrue的 resolver2.调用 resolver.resolveArgument()常见解析器解析器用途RequestParamMethodArgumentResolverRequestParamPathVariableMethodArgumentResolverPathVariableRequestResponseBodyMethodProcessorRequestBodyServletRequestMethodArgumentResolverHttpServletRequest源码执行publicObjectresolveArgument(...){HandlerMethodArgumentResolverresolvergetResolver(parameter);returnresolver.resolveArgument(parameter,mavContainer,request,binderFactory);}7. 返回值处理器ReturnValueHandler链路控制器方法返回值交给 HandlerMethodReturnValueHandlerComposite常见解析器类型用途RequestResponseBodyMethodProcessorResponseBodyModelAndViewMethodReturnValueHandlerModelAndViewViewNameMethodReturnValueHandler视图名HttpEntityMethodProcessorResponseEntityCallableMethodReturnValueHandler异步 Callable源码流程HandlerMethodReturnValueHandlerhandlerselectHandler(returnType);handler.handleReturnValue(returnValue,returnType,mavContainer,request);8. 拦截器执行顺序HandlerExecutionChainpreHandle() → Controller → postHandle() → afterCompletion()源码示例if(!interceptor.preHandle())return;handler.invoke();interceptor.postHandle();interceptor.afterCompletion();preHandle 顺序执行afterCompletion 倒序执行类似异常栈。9. Controller 调用链全景图ClientDispatcherHandlerMappingHandlerAdapterArgumentResolversControllerReturnValueHandlersViewHTTP 请求getHandler()HandlerMethodgetHandlerAdapter()resolve arguments()参数集合调用方法返回数据handleReturnValue()ModelAndView渲染HTML/JSONClientDispatcherHandlerMappingHandlerAdapterArgumentResolversControllerReturnValueHandlersView10. Spring MVC 与 AOP 如何协作AOP 代理发生在 BeanPostProcessor 阶段Controller 本身是代理对象HandlerMapping 匹配的 HandlerMethod 是代理方法AOP 的 MethodInterceptor 包裹 Controller 调用请求链路HTTP → DispatcherServlet → HandlerAdapter → AOP Proxy → Controller11. 实战自定义参数解析器目标自动解析 HeaderX-User-Id1定义注解Target(ElementType.PARAMETER)Retention(RetentionPolicy.RUNTIME)publicinterfaceUserId{}2自定义解析器publicclassUserIdArgumentResolverimplementsHandlerMethodArgumentResolver{OverridepublicbooleansupportsParameter(MethodParameterparameter){returnparameter.hasParameterAnnotation(UserId.class);}OverridepublicObjectresolveArgument(MethodParameterparameter,ModelAndViewContainermavContainer,NativeWebRequestwebRequest,WebDataBinderFactorybinderFactory){returnwebRequest.getHeader(X-User-Id);}}3注册解析器ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{OverridepublicvoidaddArgumentResolvers(ListHandlerMethodArgumentResolverresolvers){resolvers.add(newUserIdArgumentResolver());}}4Controller 使用GetMapping(/me)publicStringme(UserIdStringuid){returnuiduid;}12. 超级总图Spring MVC 全链路流程图HTTP 请求进入DispatcherServlet#doDispatchHandlerMapping 匹配 HandlerMethodHandlerAdapter 选择解析器链 ArgumentResolversController 方法调用返回值处理器 ReturnValueHandlers视图解析 ViewResolver渲染 ViewHTTP Response 输出13. 参考文档Spring MVC 官方文档https://docs.spring.io/spring-framework/reference/web/webmvc.htmlSpring Framework GitHubhttps://github.com/spring-projects/spring-frameworkHandlerMethod 官方说明https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/method/HandlerMethod.html结束语‍ 关于我持续学习 | 追求真我如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的。想看更多 那就点个关注吧 我会尽力带来有趣的内容 。感谢订阅专栏 三连文章掘金点击访问Qiuner CSDN点击访问Qiuner GitHub点击访问Qiuner Gitee点击访问Qiuner专栏简介 一图读懂系列图文并茂轻松理解复杂概念 一文读懂系列深入浅出全面解析技术要点持续更新保持学习不断进步 人生经验经验分享共同成长你好,我是Qiuner.为帮助别人少走弯路而写博客如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 (^ ~ ^) 。想看更多 那就点个关注吧 我会尽力带来有趣的内容 。代码都在Github或Gitee上如有需要可以去上面自行下载。记得给我点星星哦如果你遇到了问题自己没法解决可以去我掘金评论区问。CSDN评论区和私信消息看不完 掘金消息少一点.上一篇推荐链接Java程序员快又扎实的学习路线点击该处自动跳转查看哦一文读懂 AI点击该处自动跳转查看哦一文读懂 服务器点击该处自动跳转查看哦2024年创作回顾点击该处自动跳转查看哦一文读懂 ESLint配置点击该处自动跳转查看哦老鸟如何追求快捷操作电脑点击该处自动跳转查看哦未来会写什么文章预告链接一文读懂 XX点击该处自动跳转查看哦2025年终总结点击该处自动跳转查看哦一图读懂 XX点击该处自动跳转查看哦
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

响应式品牌网站设计怎么做买东西的网站

OpenWrt Docker管理利器:luci-app-dockerman图形化容器管理实战指南 【免费下载链接】luci-app-dockerman Docker Manager interface for LuCI 项目地址: https://gitcode.com/gh_mirrors/lu/luci-app-dockerman 在OpenWrt设备上运行Docker容器已经成为许多用…

张小明 2026/1/1 3:33:42 网站建设

网站费用清单做调查网站的问卷哪个给的钱高

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Python脚本,使用scrcpy实现安卓设备投屏到电脑,并自动执行以下操作:1) 检测设备连接状态 2) 设置分辨率1080p 3) 开启60帧模式 4) 添加鼠…

张小明 2026/1/1 0:30:58 网站建设

如何用.net做网站西安网站制作工商

一、引言:从“能用”到“可信”,AI测试的关键拐点   在软件工程领域,AI正在从辅助工具迈向决策中枢。它可以生成测试用例、优化测试路径、自动修复脚本、分析缺陷趋势,甚至基于自然语言理解直接从需求文档生成完整的测试场景。然而,当AI开始影响测试决策时,一个更深层的…

张小明 2026/1/1 19:38:18 网站建设

江门网站建设兼职网站建设中间件收费

好的,我们来详细解释一下布隆过滤器。 布隆过滤器的作用 布隆过滤器(Bloom Filter)是一种概率型数据结构,主要用于高效地判断一个元素是否可能存在于某个集合中。其核心作用在于: 快速查询:能在常数时间内 $O(k)$(k为哈希函数个数)判断一个元素是否可能存在于集合。 空…

张小明 2026/1/2 5:17:00 网站建设

网站平台建设工作汇报安庆集团网站建设

在数字化笔记时代,微软OneNote凭借其强大的组织能力深受用户喜爱,但原生不支持Markdown语法却成为技术用户的痛点。NoteWidget插件应运而生,为OneNote注入现代文档编辑能力,让传统笔记焕发全新活力。这款开源工具基于微软推荐的Ma…

张小明 2026/1/2 0:13:38 网站建设

.tech 域名 网站外贸企业论坛网站建设

我几乎每天都在使用 Claude Code。在个人项目中,我每周会在虚拟机里运行它多次,经常配合 --dangerously-skip-permissions,以“随心编码(vibe code)”的方式快速把脑中的点子落地。工作中,我们团队的一部分…

张小明 2026/1/2 3:54:10 网站建设