日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

jsp springmvc 视图解析器_SpringMVC学习笔记

發(fā)布時(shí)間:2024/4/17 javascript 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp springmvc 视图解析器_SpringMVC学习笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Springmvc

springmvc是spring框架的一個(gè)模塊,springmvc和spring無需通過中間整合層進(jìn)行整合。

springmvc是一個(gè)基于mvc的web框架。

基本概念和執(zhí)行過程

第一步:瀏覽器發(fā)起請(qǐng)求到前端(核心)控制器(DispatcherServlet)

前端控制器決定什么類型的請(qǐng)求會(huì)進(jìn)入springmvc框架。

第二步:前端控制器請(qǐng)求處理器映射器(HandlerMapping)查找處理器(Handler)

映射器作用:根據(jù)特定規(guī)則查找處理器,找不到報(bào)異常。

第三步:處理器映射器(HandlerMapping)向前端控制器返回找到的處理器(Handler)

第四步:前端控制器調(diào)用處理器適配器(HandlerAdapter)去執(zhí)行Handler

適配器作用:執(zhí)行某種特定的Handler

第五步:處理器適配器去執(zhí)行處理器(Handler)

第六步:處理器(Handler)執(zhí)行完成后給處理器適配器返回模型視圖(ModelAndView)

第七步:處理器適配器向前端控制器繼續(xù)返回ModelAndView

第八步:前端控制器請(qǐng)求視圖解析器(ViewReslover)去解析視圖

第九步:視圖解析器向前端控制器返回視圖View

第十步:前端控制器進(jìn)行視圖渲染

第十一步:前端控制器向用戶響應(yīng)結(jié)果

入門程序

l 準(zhǔn)備環(huán)境和jar包

Spring的4+1

Spring的Spring-web

Spring的Spring-webmvc

jstl

l 創(chuàng)建springmvc配置文件

在classpath下創(chuàng)建springmvc的配置文件,文件名習(xí)慣是:springmvc.xml

l 配置前端(核心)控制器

在web.xml文件中配置springmvc的前端控制器DispatcherServlet,且向contextConfigLocation屬性注入springmvc配置文件的路徑。如果不配置contextConfigLocation,默認(rèn)加載WEB-INF/servletname-servlet.xml

url-pattern的值:*.action、/ 。 /*報(bào)錯(cuò)

l 配置處理器適配器

在springmvc的配置文件中,配置處理器適配器類SimpleControllerHandlerAdapter。能執(zhí)行實(shí)現(xiàn)了Controller接口的Handler。

l 編寫和配置處理器

處理器類Handler,其實(shí)功能等價(jià)于strtus2的action動(dòng)作類。需實(shí)現(xiàn)controller接口。才能由SimpleControllerHandlerAdapter適配器執(zhí)行。

向模型視圖填充數(shù)據(jù),相當(dāng)于填充到request域。

在springmvc配置文件中配置處理器類。

<bean name="/hello.action" class="com.springmvc_01.handler.UserHandler"></bean>

l 編寫視圖

在WEB-INF下創(chuàng)建jsp目錄,在目錄中創(chuàng)建index.jsp頁面

l 配置處理器映射器

在springmvc配置文件中配置處理器映射器類BeanNameUrlHandlerMapping,能根據(jù)bean的name屬性作為url查找處理器。

l 配置視圖解析器

在springmvc配置文件中配置視圖解析器InternalResourceViewResolver,解析jsp視圖。

l 部署調(diào)試

http://ip:port/site/動(dòng)作名

映射器和適配器

非注解映射器和適配器(掌握)

l 非注解映射器:

org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

作用:根據(jù)bean的name屬性作為url查找。

org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

簡(jiǎn)單url映射,配置時(shí),注入mappings指定url和處理器類的映射關(guān)系。

注:多個(gè)映射器可以共存,前端控制器自動(dòng)判斷用哪個(gè)映射器。

l 非注解適配器:

org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter

要求編寫的Handler實(shí)現(xiàn)Controller接口。

org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter

要求編寫的Handler實(shí)現(xiàn)HttpRequestHandler接口。

此方法可以通過修改response,設(shè)置響應(yīng)的數(shù)據(jù)格式,比如響應(yīng)json等。

多個(gè)適配器可以共存

l DispatcherSerlvet.properties文件

位置在:/org/springframework/web/servlet/DispatcherServlet.properties,是框架的配置文件。

前端控制器默認(rèn)從DispatcherSerlvet.properties文件中加載映射器、適配器、視圖解析器等組件,如果不在配置文件中配置,使用默認(rèn)的加載。

注解映射器和適配器(掌握)

注解映射器:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping。

注解適配器:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter。

l 配置注解映射器適配器

配置主鍵映射器和適配器時(shí),可以用bean配置。

也可以使用<mvc:annotation-driven>配置,默認(rèn)加載參數(shù)綁定方法,json轉(zhuǎn)換解析器等功能。

開發(fā)中使用<mvc:annotation-driven>。

注:注解映射器和適配器必須配對(duì)使用。

l 開發(fā)注解Handler

n 編寫Handler類

使用@Controller標(biāo)識(shí)它是一個(gè)Handler動(dòng)作類

用@RequestMapping實(shí)現(xiàn)方法和url的映射,建議url和方法名一樣

n 配置Handler

可以使用bean單獨(dú)配置Handler

也可以使用<context:component-scan>標(biāo)簽指定掃描的包,自動(dòng)掃描Handler。

小結(jié)

理解springmvc的前端控制器、處理器映射器、處理器適配器、視圖解析器用法。

前端控制器url-pattern的配置:*.action、/

<mvc:annotation-driven>配置注解適配器和映射器

<context:component-scan>配置注解類掃描包

視圖解析器前綴和后綴

配置視圖解析器時(shí),可以注入prefix前綴,和suffix后綴。

用戶訪問的路徑=prefix+用戶url+suffix

Handler詳解

@RequestMapping

l url映射

將handler中的方法映射到url上。

l 窄化請(qǐng)求映射

在動(dòng)作類上用@RequestMapping指定訪問當(dāng)前動(dòng)作類中方法的父路徑。

l 限制請(qǐng)求方式

指定只接受get類型或post類型的請(qǐng)求。

handler方法返回值

l 返回ModelAndView

Handler中的方法可以返回ModelAndView

l 返回String

1. 返回邏輯視圖。

return "/jsp2";真正路徑=前綴+邏輯視圖+后綴

2. 重定向

return "redirect:/index.jsp";

3. 頁面轉(zhuǎn)發(fā)

return "forward:/index.jsp";

l 返回void

當(dāng)方法返回void時(shí),可以使用request轉(zhuǎn)發(fā)頁面,也可以使用response頁面重定向,也可以使用response指定響應(yīng)結(jié)果,例如響應(yīng)json數(shù)據(jù)。

參數(shù)綁定

客戶端發(fā)送的請(qǐng)求是key/value,經(jīng)過參數(shù)綁定,將請(qǐng)求參數(shù)綁定到handler方法的形參上。

l 默認(rèn)參數(shù)綁定

直接在controller方法形參上定義以下類型,可以直接使用。

n HttpServletRequest

n HttpServletResponse

n HttpSession

n Model/ModelMap:Model是一個(gè)接口,ModelMap是一個(gè)接口實(shí)現(xiàn)。

l 簡(jiǎn)單類型參數(shù)綁定

當(dāng)請(qǐng)求參數(shù)名和controller方法的形參名一致,參數(shù)會(huì)自動(dòng)綁定成功。

參數(shù)名和方法形參名可以不一致,可以通過@RequestParam對(duì)參數(shù)進(jìn)行綁定,。

l Pojo類型參數(shù)綁定

頁面中<input>的name屬性的值和handler中的方法的pojo形參中的屬性名一致,自動(dòng)將頁面中數(shù)據(jù)綁定到pojo。

l 包裝pojo類型參數(shù)綁定

Handler方法中形參類型是包裝pojo,pojo的屬性又是pojo。

讓<input>標(biāo)簽name屬性的值是handler中方法形參的pojo對(duì)象中的pojo屬性的屬性。會(huì)自動(dòng)參數(shù)綁定。

集合類型參數(shù)綁定

l 數(shù)組綁定

頁面發(fā)送多個(gè)相同key不同value的數(shù)據(jù)。在handler方法形參中定義數(shù)組接收。

l list綁定

在包裝pojo中定義list類型屬性

<input type="text" name="list[0]" value="b">

l map綁定

在包裝pojo中定義map類型屬性。

<input type="checkbox" name="map[key1]" value="c">

自定義converter

controller形參中的pojo對(duì)象,如果屬性中有日期類型,可能需要自定義參數(shù)綁定。

l 自定義類

自定義類實(shí)現(xiàn)Converter接口,重寫方法。

l 配置轉(zhuǎn)換器

配置自定義參數(shù)綁定bean,對(duì)應(yīng)的類是FormattingConversionServiceFactoryBean類,注入converters,指定轉(zhuǎn)換器類。

在注解配置中用conversion-service引用參數(shù)綁定類。

總結(jié)

以上是生活随笔為你收集整理的jsp springmvc 视图解析器_SpringMVC学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。