1.通过URL对应bean
<!-- 配置handlerMapper 映射器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 配置Controller 自定义控制器 -->
<bean name="/hello.do" class="cn.sxt.controller.HelloController"/>
以上配置,访问hello.do就会访问id为hello.do的bean,此类方法适用小型系统。
如果加上HandlerAdapter配置就无需.do
<!-- 配置handerAdapter 适配器 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
2.为URL分配bean
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">helloController</prop>
</props>
</property>
</bean> <bean id="helloController" class="cn.sxt.controller.HelloController"></bean>
此类配置还可以使用通配符,访问hello.do时,Spring会把请求分配给helloController处理
3.URL匹配bean
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
<!-- 请求为hello*.do的都会被匹配 -->
<bean name="helloController" class="cn.sxt.controller.HelloController"></bean>
4.注解
<!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->
<context:component-scan base-package="cn.sxt.controller"/>
//使用注解开发 spring mvc
//使用该注解 spring容器将会根据注解创建一个bean对象 该对象的id为类名(首字母小写)
//<bean id="helloController" class="cn.sxt.controller.HelloController"/>
@Controller
public class HelloController {
//通过使用@RequestMapping 注解 可以指定请求的url被 映射到该方法上
@RequestMapping(value="/hi.do")
public ModelAndView hello(){
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("msg", "annotation ------");
return mv;
}
}