spring mvc 基本原理
在web.xml配置spring mvc入口servlet:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>*.mvc</url-pattern>
</servlet-mapping>
入口servlet类org.springframework.web.servlet.DispatcherServlet最终通过类 org.springframework.web.servlet.DispatcherServlet的doDispatch方法中完成请求处理和视图解析,包括以下两个过程:
1、通过HandlerAdapter的handle方法调用start.java中的start方法返回modelandview,比如返回”main_new”字符串。
2、调用processDispatchResult处理modelandview对象,最终通过org.springframework.web.servlet.view.JstlView(这里以jsp视图解析为例,实际情况可能是其他视图解析器)的render方法定位到main_new.jsp页面。
这两步的具体调用过程如下:
通过注解将start类的start方法映射到url /start.mvc
访问/start.mvc后第一步调用过程如下,对请求处理调用start.java中的start方法:
第二步调用过程:通过视图解析器解析 /start 定位到 main_new.jsp页面:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战