第一种:通过URL对应bean
<!-- 配置handlerMapper 映射器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 配置请求处理器 -->
<bean name="/hello.do" class="cn.controller.HelloController"/>
以上配置,访问hello.do就会找到ID为hello.do对应的bean。此配置仅适用于小型应用系统。
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- 倘若配置了HandlerAdapter;请求处理器name省去.do后缀也可以 -->
<!-- 配置请求处理器 -->
<bean name="/hello" class="cn.controller.HelloController"/>
第二种:为URL分配bean
<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="cn.controller.HelloController"/>
第三种:URL匹配bean
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<!-- 请求为hello*.do都可以匹配 -->
<bean id="helloController" class="cn.controller.HelloController"/>
这种方法最少用。
第四种:注解
<!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->
<context:component-scan base-package="cn.controller"/>
//使用注解开发 spring mvc
//使用该注解 spring容器将会根据注解创建一个bean对象 该对象的id为类名(首字母小写)
@Controller
public class HelloController {
//通过使用@RequestMapping 注解 可以指定请求的url被 映射到该方法上
@RequestMapping(value="/hello.do")
public ModelAndView hello(){
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("msg", "annotation ------");
return mv;
}
}