springMVC外部执行流程简析

tomcat启动时自动加载web.xml配置文件 从而读取并初始化dispatchServlet

 

②在初始化dispatchServlet时就会通过param-value读取到spring-mvc.xml配置文件

< servlet> 
< servl e t —name) di spat cherServ1 et serv 
ervlet—cla org. springframework. web. servlet. l' 
(ini 
C! DispatcherServ1et FrameworkServ1et 
igLocati 
param—value>classpath: spring—mvc. 
ini t —param> 
< ! /J//Qspring—mvc. 
< 1 tartup>l

 

③通过读取spring-mvc.xml 创建了处理器映射器、适配器、视图解析器 初始化controller就是创建这些标签对象并放入spring容器

 

④当浏览器访问自定义的链接时,"/"开头的地址就被web.xml配置好的dispatchServlet拦截 经由dispatchServlet去找到controller

<servl di spat cherServ1 et G/ serv let—name 
servlet—mapping

 

⑤找到controller后就会执行其中的代码 最后将数据返回给dispatchServlet

public class MyContr011er implements Controller { 
COverride 
public ModelAndView handleRequest (HttpServ1etRequest httpServ1etRequest, 
Exception { 
HttpS 
view A/ß/ 
ModelAndView modelAndView = new ModelAndView() ; 
modelAndView. addObject ( attributeName: "msg', attributeValue: 
// success 'j jsp_k/fj/) 
modelAndView. setViewName 
success 
return modelAndView; 
'hello mvc-) ;

 

dispatchServlet将获取到的数据存到jsp中再返回到浏览器

 

⑦此时浏览器应当能从jsp中拿到ModelAndView中的数据,那么怎么去拿? 答案是${}

controller类中存入数据

modelAndView. add0bject( attributeName: "msg', attributeValue: 'hello mvc-) ;

 

jsp中读取数据

body) 
style="background: 
$ {msg) 
crimson" > 
spring WC !

 

浏览器显示

令 
0 
G) ] 0 上 0 ' 8088 n 
百 箋 上 网 导 航 0 网 上 凵 匦 
读 取 到 数 据

 

全流程一览:

 
springmvc.xml 
tomcat 
dispatchServlet 
3 ng 
controller 
web.xml 
S.localhost: 
1 
2. load-on-startup 
8080/1 
6/1in 
*fis 
4 *DEÆcontrolelr+ 
7. n tro
posted @ 2021-08-31 21:25  夏·舍  阅读(34)  评论(0编辑  收藏  举报