Springmvc Controller接口代碼示例
Spring MVC
Controller控制器,是MVC中的部分C,為什么是部分呢?因?yàn)榇颂幍目刂破髦饕?fù)責(zé)功能處理部分:
收集、驗(yàn)證請求參數(shù)并綁定到命令對象;
將命令對象交給業(yè)務(wù)對象,由業(yè)務(wù)對象處理并返回模型數(shù)據(jù);
返回ModelAndView(Model部分是業(yè)務(wù)對象返回的模型數(shù)據(jù),視圖部分為邏輯視圖名)。
1. 繼承該接口 Controller接口,重寫對應(yīng)方法,或者采用注解Controller,自定義映射文件
@Controller
@RequestMapping("/flight")
public class ControlFlight
/*implements Controller*/
{
}
需要注意的是:
SimpleUrlHandlerMapping決定使用哪一個控制器。
其中對于prexf-servlet-.xml文件中使重定向方式:
1.第一種ModelAndView方式。
<!--基于URL映射器-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="start1.do">ControlFlight</prop>
<prop key="buy.do">ControlFlight</prop>
<prop key="flight.do">ControlFlight</prop>
<prop key="result.do">ControlFlight</prop>
<!--<prop key="start.do">loginController</prop>-->
</props>
</property>
</bean>
<!-- <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="buy"/>
</bean>-->
<bean id="ControlFlight" class="com.qunar.flight.control.ControlFlight"/>
<!--ViewResolver映射-->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/flight/"/>
<property name="suffix" value=".jsp"/>
<property name="order" value="1"/>
</bean>
之后進(jìn)入Controller中進(jìn)行任務(wù)分派:
@RequestMapping(value = "/start.do", method = RequestMethod.GET)
public ModelAndView BuyAirTicket() {
return new ModelAndView("buy");
}
2 第二種采用
<!--基于URL映射器-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="start.do">loginController</prop>
</props>
</property>
</bean>
<bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="buy"/>
</bean>
然后和下面的部分代碼實(shí)現(xiàn)URL拼接
<!--ViewResolver映射-->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/flight/"/>
<property name="suffix" value=".jsp"/>
<property name="order" value="1"/>
</bean>
還有另一種方法:
就是直接使用這個命令,但是前提條件是,請求URI的前綴(過濾掉.vm,.htm等)和轉(zhuǎn)發(fā)的一樣,則直接可以使用
<bean id="loginController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
3 繼承AbstractControlle 接口,并實(shí)現(xiàn)相應(yīng)的方法,次方法和Controller相同,但是對于如果想封裝表單請求,可以直接使用CommandController,-->AbstractCommandController(3.0以上版本廢棄)
4. 注解@RequestMapping("/path") -->在類級別上定義注解時,那么再用此方法注解方法method時,那么method下的路徑是與類路徑相對。
@PathVariable 該注釋是用來指明URL路徑里面取參數(shù),這個注解可以多個使用,下面時使用一種的代碼片段
@RequestMapping("/flight/{name}")
public ModelAndView toAdd(@PathVariable("name") String name){
ModelAndView mav = new ModelAndView("buy");
return mav;
}
總結(jié)
以上就是本文關(guān)于Springmvc Controller接口代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
SpringMVC接收復(fù)雜集合對象(參數(shù))代碼示例
SpringMVC攔截器實(shí)現(xiàn)監(jiān)聽session是否過期詳解
SpringMVC開發(fā)restful API之用戶查詢代碼詳解
如有不足之處,歡迎留言指出。
相關(guān)文章
SpringMVC實(shí)現(xiàn)參數(shù)校驗(yàn)配置方法
這篇文章主要介紹了SpringMVC實(shí)現(xiàn)參數(shù)校驗(yàn)的配置方式,Spring MVC會拋出MethodArgumentNotValidException異常,并將錯誤信息綁定到相應(yīng)的字段上,感興趣的朋友跟隨小編一起看看吧2024-03-03
解析ConcurrentHashMap: transfer方法源碼分析(難點(diǎn))
ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問題---ConcurrentHashMap知識,一起看看吧2021-06-06
java Swing組件setBounds()簡單用法實(shí)例分析
這篇文章主要介紹了java Swing組件setBounds()簡單用法,結(jié)合實(shí)例形式分析了Swing組件setBounds()方法的功能與簡單使用方法,需要的朋友可以參考下2017-11-11
java 中設(shè)計(jì)模式(裝飾設(shè)計(jì)模式)的實(shí)例詳解
這篇文章主要介紹了java 中設(shè)計(jì)模式(裝飾設(shè)計(jì)模式)的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理功能
Liquibase 是一個強(qiáng)大的數(shù)據(jù)庫管理工具,它幫助你通過自動化管理數(shù)據(jù)庫的變更、版本控制、和回滾,簡化了開發(fā)中的數(shù)據(jù)庫遷移工作,這篇文章主要介紹了Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理,需要的朋友可以參考下2024-12-12
詳解使用Spring的BeanPostProcessor優(yōu)雅的實(shí)現(xiàn)工廠模式
這篇文章主要介紹了詳解使用Spring的BeanPostProcessor優(yōu)雅的實(shí)現(xiàn)工廠模式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

