springmvc—handlermapping三種映射方式
springmvc—handlermapping三種映射
handlermapping負責映射中央處理器轉(zhuǎn)發(fā)給controller的映射策略,簡單說就是控制中央處理器的請求觸發(fā)哪一個controller。
handlermapping的配置也是在springmvc的配置文件中。
三種映射方式
1.BeanNameUrlHandlerMapping(默認)
按照controller的name來映射尋找controlller,它是默認存在的。
<!-- 配置controller --> <bean id="testController" name="/hello.do" class="com.roy.controller.TestController"/> <!-- 按照controller的name來映射尋找controlller,默認存在的 --> <beanclass="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
2.SimplerUrlHandlerMapping
使用簡單url映射,與默認的映射可以各自獨立存在,但是默認的不存在的時候,配置的controller不能使用。
可以使用此映射來分類配置controller和配置url的各自職責
<!-- 配置controller -->
<bean id="testController" class="com.roy.controller.TestController"/>
<!-- 按照url來映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">testController</prop>
</props>
</property>
</bean>
3.contraollerClassNameHandlerMapping
控制類的類名控制器,訪問時類名首字母需要小寫,需要加入.do,直接使用controller的首字母小寫類名訪問
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
controller中的代碼
package com.roy.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class TestController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println("hello controller");
return new ModelAndView("index");
}
}
三種hanlermapping的配置
- 第一種是直接默認存在的,可以不需要在配置文件中配置;
- 第二種可以使用此映射來分類配置controller和配置url 的各自職責;
- 第三種直接使用controller的首字母小寫類名訪問。
對handlermapping的理解
handlerMapping:DispatcherServlet通過handlerMapping,為請求的url指向?qū)腸ontroll,也就是在瀏覽器地址欄輸入url請求之后,servlet.xml的<bean>節(jié)點會把請求映射到到對應的controll
例如


用戶在輸入hehe之后,AbcControll就會被調(diào)用到
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
BeanUtils.copyProperties擴展--實現(xiàn)String轉(zhuǎn)Date
這篇文章主要介紹了BeanUtils.copyProperties擴展--實現(xiàn)String轉(zhuǎn)Date操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
關(guān)于ResponseEntity類和HttpEntity及跨平臺路徑問題
這篇文章主要介紹了關(guān)于ResponseEntity類和HttpEntity及跨平臺路徑問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
idea hibernate jpa 生成實體類的實現(xiàn)
這篇文章主要介紹了idea hibernate jpa 生成實體類的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Java 實現(xiàn)限流器處理Rest接口請求詳解流程
在工作中是否會碰到這樣的場景,高并發(fā)的請求但是無法全部執(zhí)行,需要一定的限流。如果你是使用的微服務框架,比如SpringCloud,可以使用Gateway增加限流策略來解決。本篇文章是在沒有框架的情況實現(xiàn)限流器2021-11-11
基于Spring實現(xiàn)零重啟自由編排任務的定時管理器
我們發(fā)現(xiàn),我們使用Spring自帶的定時任務如果要有修改,那么就要修改代碼,然后重啟項目,所以本文就帶大家實現(xiàn)一個零重啟自由編排任務的定時管理器吧2023-07-07

