springmvc(3)controller配置匯總


1.通過url對應bean(通過ur直接找到對應的name或id的bean,此時url即為bean的name或id)

    <!--配置handlerMapping-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <bean id="/hello.do" class="com.app.controller.HelloController"/>

 

以上配置,訪問hello.do就會尋找ID為/hello.do的bean,此方式只適合小型的應用。

2.為url分配bean(通過url找到對應的beanName,再通過beanName找到對應的bean)

 <!--配置handlerMapping-->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <!--key對應url請求名 value對應處理器的id-->
                <prop key="/hello.do">helloController</prop>
            </props>
        </property>
    </bean>
    <bean id="helloController" class="com.app.controller.HelloController"/>

 

此類配置可以使用通配符,訪問/hello.do時,spring會把請求分配響應的處理器處理,如果將key值改為*.do(通配符),那么所有.do結尾的請求都將被helloController處理。

3.url配置bean

    <!--配置handlerMapping-->
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
    <bean id="helloController" class="com.app.controller.HelloController"/>

 

以上配置,訪問hello*.do會分配給helloController執行

<!--配置handlerMapping-->
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
    <bean id="helloController" class="com.app.controller.HelloControlleController"/>

 

以上配置,訪問hellocontroller*.do會分配給helloController執行

<!--配置handlerMapping-->
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
    <bean id="helloController" class="com.app.controller.HelloControlleControll"/>

 

以上配置,訪問hellocontrollercontroll*.do會分配給helloController執行

通過以上實驗可以肯定,這個鏈接是通過Controller的name即java文件名稱來確定,而不是bean的name來確定,如果java文件名稱中最后是一controller結尾的,那么鏈接將會是除去結尾的controller的剩余部分的小寫為開頭的,如果文件不是以controller結尾,那么將是全部名稱的小寫開頭的鏈接。

4.注解

springmvc.xml
 <context:component-scan base-package="com.app.web"/>

java代碼
@Controller
public class HelloController{
    @RequestMapping("/hello")
    public ModelAndView hello(HttpServletRequest request, HttpServletResponse response){
        ModelAndView modelAndView = new ModelAndView();
        //封裝要顯示到視圖中的數據
        modelAndView.addObject("msg","Hello SpringMvc");
        //試圖名稱
        modelAndView.setViewName("hello");  //   /WEB-INF/jsp/hello.jsp
        return modelAndView;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM