spring mvc xml 注解(springmvc菜鳥教程)

大家好,今天小編來為大家解答以下的問題,關于spring mvc xml 注解,springmvc菜鳥教程這個很多人還不知道,現在讓我們一起來看看吧!spring mv...
大家好,今天小編來為大家解答以下的問題,關于spring mvc xml 注解,springmvc菜鳥教程這個很多人還不知道,現在讓我們一起來看看吧!
spring mvc request作用
1、@requestBody注解常用來處理content-type不是默認的application/x-www-form-urlcoded編碼的內容,比如說:application/json或者是application/xml等。一般情況下來說常用其來處理application/json類型。
2、通過@requestBody可以將請求體中的JSON字符串綁定到相應的bean上,當然也可以將其分別綁定到對應的字符串上。
例如說以下情況:
$.ajax({
url:"/login",
type:"POST",
data:'{"userName":"admin","pwd","admin123"}',
content-type:"application/jsoncharset=utf-8",
success:function(data)
{
alert("requestsuccess!");
}
});
@requestMapping("/login")
publicvoidlogin(@requestBodyStringuserName,@requestBodyStringpwd){
System.out.println(userName+":"+pwd);
}
這種情況是將JSON字符串中的兩個變量的值分別賦予了兩個字符串,但是呢假如我有一個User類,擁有如下字段:StringuserName;Stringpwd;那么上述參數可以改為以下形式:@requestBodyUseruser這種形式會將JSON字符串中的值賦予user中對應的屬性上需要注意的是,JSON字符串中的key必須對應user中的屬性名,否則是請求不過去的。
3、在一些特殊情況@requestBody也可以用來處理content-type類型為application/x-www-form-urlcoded的內容,只不過這種方式不是很常用,在處理這類請求的時候,@requestBody會將處理結果放到一個MultiValueMap<String,String>中,這種情況一般在特殊情況下才會使用,例如jQueryeasyUI的datagrid請求數據的時候需要使用到這種方式、小型項目只創建一個POJO類的話也可以使用這種接受方式。
作用:
i)該注解用于讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,然后把相應的數據綁定到要返回的對象上;
ii)再把HttpMessageConverter返回的對象數據綁定到controller中方法的參數上。
cs架構與springboot框架的區別
區別是概念不同,結構模式不同
SpringBoot框架:是一個快速開發框架,通過用MAVEN依賴的繼承方式,幫助我們快速整合第三方常用框架,完全采用注解化(使用注解方式啟動SpringMVC),簡化XML配置,內置HTTP服務器(Tomcat,Jetty),最終以Java應用程序進行執行。
cs架構,是一種分布式計算模型,其中客戶端和服務器之間通過網絡進行通信。在這種架構中,客戶端負責向服務器發送請求,并接收服務器返回的響應。服務器則負責處理客戶端的請求,并返回相應的結果。CS架構通常用于構建大型的網絡應用程序,如Web應用程序、電子郵件系統、數據庫管理系統等。
Spring MVC過時了嗎
SpringMVC當然沒有過時,目前很多企業的項目還都是基于SpringMVC構建的。
題主可能并沒有真正理解SpringMVC的精髓。最早的時候,我們使用SpringMVC的時候可能是前后端耦合在一起的。通過Controller的ModelAndView返回一個jsp的頁面。但是現在這種方式基本已經被淘汰。現在的SpringMVC框架都是以Rest風格編寫Controller層,也就是我們Controller層不再是返回Jsp的頁面,而是返回Json格式的數據。而前端可以選擇任何目前市面上流行的框架,例如:React、vue、小程序、H5等。所以,SpringMVC跟前后端分離沒有關系。如果說你還按照早期的ModeAndView開發,那你真的落伍了。
但是,隨著微服務框架SpringBoot的出現以及大規模流行,SpringMVC的使用程度在降低,這主要是SpringMVC的配置太復雜。SpringMVC中有大量的xml文件需要編寫,而且編寫起來很復雜。當然這些xml文件編寫是基本一次性的,只要第一次編寫完成,后續的業務開發基本不用再改變。而SpringBoot基本完全拋棄了xml文件的配置,所有的配置都是框架本身集成好的,只需要按照特定的約定去做就好。當然在集成有些中間件的時候,我們只需要編寫相應的Java代碼即可,所以,SpringBoot的使用越來越廣泛,企業的很多新項目都是基于SpringBoot去開發。
不管是SpringMVC還是SpringBoot,只要精通一種框架,剩下的框架自然而然的就懂了??蚣鼙旧砭褪菫榱藴p少程序員的工作而設計的,無需過多的糾結過不過時的問題,拿來即用是我們最終的目標。請教,如何springboot里動態讀取配置文件
這個跟springmvc一樣的啊,首先你看你的spring-mvc.xml有沒有配置defaultViewResolver,
然后你在action的方法中如果1.標注了@ResponseBody,返回字符串的話是通過write輸出到頁面。2.沒有標注這個,springmvc會到配置的目錄下找相應的jsp。比如返回"hello",它就在webpage/目錄下找hello.jsp。返回"user/login",它就會找webpage/user/login.jsp
springmvc的工作流程是什么
spring工作的流程
流程如下:
1、用戶發起請求到前端控制器(DispatcherServlet),該控制器會過濾出哪些請求可以訪問Servlet、哪些不能訪問。就是url-pattern的作用,并且會加載springmvc.xml配置文件。
2、前端控制器會找到處理器映射器(HandlerMapping),通過HandlerMapping完成url到controller映射的組件,簡單來說,就是將在springmvc.xml中配置的或者注解的url與對應的處理類找到并進行存儲,用map<url,handler>這樣的方式來存儲。
3、HandlerMapping有了映射關系,并且找到url對應的處理器,HandlerMapping就會將其處理器(Handler)返回,在返回前,會加上很多攔截器。
4、DispatcherServlet拿到Handler后,找到HandlerAdapter(處理器適配器),通過它來訪問處理器,并執行處理器。
5、執行處理器
6、處理器會返回一個ModelAndView對象給HandlerAdapter
7、通過HandlerAdapter將ModelAndView對象返回給前端控制器(DispatcherServlet)
8、前端控制器請求視圖解析器(ViewResolver)去進行視圖解析,根據邏輯視圖名解析成真正的視圖(jsp),其實就是將ModelAndView對象中存放視圖的名稱進行查找,找到對應的頁面形成視圖對象
9、返回視圖對象到前端控制器。
10、視圖渲染,就是將ModelAndView對象中的數據放到request域中,用來讓頁面加載數據的。
11、通過第8步,通過名稱找到了對應的頁面,通過第10步,request域中有了所需要的數據,那么就能夠進行視圖渲染了。最后將其返回即可。
applicationContext.xml和SpringMVC的區別
applicationContext.xml是文件,是Spring的配置文件SpringMVC是web架構方式,包含了Spring
文章到此結束,如果本次分享的spring mvc xml 注解和springmvc菜鳥教程的問題解決了您的問題,那么我們由衷的感到高興!
本文鏈接:http://xinin56.com/qianduan/540.html