spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter注解适配器
spring3.1之后使用
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping注解映射器org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter注解适配器
<!--注解映射器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<!--注解适配器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!--对于注解的Handler,可以单个配置
实际开发中建议使用组件扫描
-->
<bean class="....ItemController"/>
<!--可以扫描controller,service...-->
<!--xml文件需要添加context配置-->
<context:component-scan base-package="..."/>
<!--使用mvc:annotation-driven代替注解映射器以及注解适配器
默认加载了很多参数方法,比如json转换,实际开发使用此方法
-->
<mvc:annotation-driven></mvc:annotation-driven>
//表示控制器
@Controller
public class ItemController{
//注解的适配器与注解的映射器必须配合使用
//@RequestMapping对url进行映射
@RequestMapping("/queryItems")
public ModleAndView queryItems() throws Exception{
//调用service,这里模拟获取
List<Items> itemsLst = new ArrayList<Item>();
...
//返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
//相当于request的setAttribute,可以在jsp页面中通过itemsList获取数据
modelAndView.addObject("itemsList",itemsList);
//指定视图
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
return modelAndView;
}
}