1、非注解的处理器,映射器,和适配器
非注解处理器映射器
< bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!--简单url映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- 对itemsController1进行url映射,url是/queryItems1.action -->
<prop key="/queryItems1.action">itemsController1</prop>
<prop key="/queryItems2.action">itemsController1</prop>
<prop key="/queryItems3.action">itemsController2</prop>
</props>
</property>
</bean>
<!-- 对itemsController1进行url映射,url是/queryItems1.action -->
一个bean可以拥有多个URL
访问第一个原有的Url
访问第二个Url
多个映射器可以并存,前端控制器会判断URL能让那些映射器处理就让那些处理
非注解的处理适配器
<!-- 处理器适配器所有的处理器适配器都实现HandlerAdapter接口-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
**编写的Handler实现Controller接口**
<!-- 另一个非注解的适配器 -->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
**编写的Handler实现HttpRequestHandler接口**
项目启动访问
总结
映射器就是根据URL来找Handler,适配器就是根据要求执行Handler
2、注解的处理器映射器和适配器
在spring 3.1之前使用的是
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping 注解适配器
在spring 3.1之后使用的是
org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping 注解适配器
配置注解的映射器和适配器
mvc:annotation-driven
编写注解Handler
//使用Controller标识他是一个控制器
@Controller
public class ItemsController3 {
//商品查询列表
//@RequestMapping的核心功能主要实现对queryItems方法和url进行映射,一个方法对应一个Url
//一般建议将url与方法名相同便于维护
@RequestMapping("/queryItems")
public ModelAndView queryItems()throws Exception{
// 调用service查找数据库,查询商品列表,使用静态数据模拟
List<Items> itemsList = new ArrayList<Items>();
//向list中填充静态数据
Items items_1 = new Items();
items_1.setName("小米手机");
items_1.setPrice(7000f);
items_1.setDetail("这是一部小米手机");
itemsList.add(items_1);
//返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
//相当于request的setAttribut,在jsp页面中通过itemsList来取数据
modelAndView.addObject("itemsList",itemsList);
//指定视图
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
return modelAndView;
}
}
在Spring 容器中加载Handler
通过控制器中的Url进行访问
启动Tomcat进行访问
本篇主要介绍了spring-Mvc下注解和非注解,映射器以及适配的配置和使用方式。