【SpringMVC3.X 总结】3. 处理器映射器、适配器

一、非注解的处理器映射器、适配器的配置

1、非注解的处理器映射器配置

上一篇文章中讲解了一个处理器映射器

org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

本文再讲一个

org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

 

SpringMVC.xml文件配置如下

【提示】上图的itemController1是处理对应url请求的bean的id。多个映射器可以并存,前端控制器判断url能让哪些映射器映射,就让正确的映射器处理。

 

2、非注解的处理器适配器

上一篇文章中讲解了一种

org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter

要求编写的Handler实现 Controller接口

 

本文再讲一个

org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter

要求编写的Handler实现 HttpRequestHandler接口

【提示】把写好的Handler类配置在springMVC.xml中。然后按照映射器的规则进行配置。流程的部分可以参照上一篇文章

 

提示

如果不做上述映射器、适配器配置的话也是可以的

前端控制器从上边的文件中加载处理映射器、适配器、视图解析器等组件,如果不在springmvc.xml中配置,使用默认加载的。

 

二、基于注解的处理器映射器、适配器的配置

在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器。

在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping注解映射器。

在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter注解适配器。

在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter注解适配器。

 

1. 配置注解映射器、适配器

2. 开发注解的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(6000f);
		items_1.setDetail("ThinkPad T430 联想笔记本电脑!");
		
		Items items_2 = new Items();
		items_2.setName("苹果手机");
		items_2.setPrice(5000f);
		items_2.setDetail("iphone6苹果手机!");
		
		itemsList.add(items_1);
		itemsList.add(items_2);
		
		//返回ModelAndView
		ModelAndView modelAndView =  new ModelAndView();
		//相当 于request的setAttribut,在jsp页面中通过itemsList取数据
		modelAndView.addObject("itemsList", itemsList);
		
		//指定视图
		modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
		
		return modelAndView;
		
	}

在springMVC.xml文件中配置

【提示】不需要配置id

实际开发中建议使用组件扫描

<context:component-scan base-package="cn.itcast.ssm.controller"></context:component-scan>

当然是用了组件扫描之后就不需要是用上面的单个配置了。

3. 部署测试

访问:http://localhost:8080/项目名/queryItems.action

猜你喜欢

转载自blog.csdn.net/FullStackDeveloper0/article/details/89211982