springmvc官網(wǎng)文檔怎么看 springmvc每個(gè)請(qǐng)求都是一個(gè)新的線程嗎?
springmvc每個(gè)請(qǐng)求都是一個(gè)新的線程嗎?是的,沒有錯(cuò),在每一次幫忙之后全是一個(gè)新的線程關(guān)于spring MVC有沒有什么經(jīng)典的著作可以推薦???最最經(jīng)典的只能Spring的源碼,當(dāng)然你是可以看sp
springmvc每個(gè)請(qǐng)求都是一個(gè)新的線程嗎?
是的,沒有錯(cuò),在每一次幫忙之后全是一個(gè)新的線程
關(guān)于spring MVC有沒有什么經(jīng)典的著作可以推薦啊?
最最經(jīng)典的只能Spring的源碼,當(dāng)然你是可以看spring上網(wǎng)下載包里的Docs文檔,再加一個(gè)API文檔就可以了。
知識(shí)是學(xué)不完的,只不過怎末用新知識(shí)的方法是可以能夠掌握的。
mvc操作流程?
SpringMVC工作流程具體描述:
1.用戶向服務(wù)器發(fā)送中各位,請(qǐng)求被Spring前端再控制Servelt DispatcherServlet能捕捉;
2.DispatcherServlet對(duì)各位URL參與解析,換取各位資源標(biāo)識(shí)符(URI)。然后再參照該URI,動(dòng)態(tài)鏈接庫HandlerMapping獲得該Handler配置的所有相關(guān)的對(duì)象(包括Handler對(duì)象在內(nèi)Handler對(duì)象不對(duì)應(yīng)的攔截器),結(jié)果以HandlerExecutionChain對(duì)象的形式趕往;
3.DispatcherServlet根據(jù)我得到的Handler,選擇一個(gè)適合的HandlerAdapter;
4.其他提取Request中的模型數(shù)據(jù),圖案填充Handler入?yún)ⅲ珠_始不能執(zhí)行Handler(Controller)。
在填充Handler的入?yún)⑦^程中,據(jù)你的配置,Spring將幫你做一些額外的工作:
HttpMessageConveter:將只是請(qǐng)求消息(如Json、xml等數(shù)據(jù))轉(zhuǎn)換的成一個(gè)對(duì)象,將對(duì)象可以轉(zhuǎn)換為指定的響應(yīng)信息。
數(shù)據(jù)轉(zhuǎn)換:對(duì)跪請(qǐng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)換。如String轉(zhuǎn)換的成Integer、slip等。
數(shù)據(jù)根式化:對(duì)只是請(qǐng)求消息參與數(shù)據(jù)格式化磁盤。如將字符串裝換成格式化數(shù)字或重新格式化日期等。
數(shù)據(jù)驗(yàn)證驗(yàn)證:不驗(yàn)證數(shù)據(jù)的有效性(長度、格式等),不驗(yàn)證結(jié)果存儲(chǔ)位置到BindingResult或Error中。
5.Handler執(zhí)行成功后,向DispatcherServlet前往一個(gè)ModelAndView對(duì)象;
6.參照回的ModelAndView,中,選擇一個(gè)更適合的ViewResolver(要是巳經(jīng)注冊(cè)到Spring容器中的ViewResolver)直接返回給DispatcherServlet;
結(jié)合Model和View,來渲出視圖;
8.將3d渲染結(jié)果趕往給客戶端。