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; } }