springmvc注解开发handler

在springmvc3.1版本以前,

会默认加载一个注解映射器:org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping

和一个注解适配器:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

在3.1版本之后,它们已经不被建议使用了。现在建议使用如下的注解映射器和适配器来代替它们:

mapping:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping

adapter:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter

下面介绍下使用注解开发handler的步骤:

1、配置注解映射器


	

2、配置注解适配器


	

注意:该适配器不要求实现任何接口,但它需要与RequestMappingHandlerMapping注解映射器配对使用;

  在handler中使用@Controller标识此类是一个handler控制器

  使用@RequestMapping指定handler中的方法所对应的url

3、开发handler

package com.js.springmvc01;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.js.po.Items;

/**
 * 第3个controller
 * 适配:RequestMappingHandlerAdapter,注解方式开发
 * 该适配器不要求实现任何接口
 * 该适配器要求与RequestMappingHandlerMapping搭配使用
 * 入门程序:商品列表的查询
 * @author jiangs
 *
 */
@Controller
public class ItemController03 {
	/**
	 * @RequestMapping中的url我们建议和方法名一致,但这不是强制要求
	 * @param request
	 * @param response
	 * @return
	 */
	@RequestMapping("/query")
	public ModelAndView queryItem(){
		//使用静态数据把商品列表显示在jsp页面
		List itemsList = new ArrayList();
		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 = new ModelAndView();
		modelAndView.addObject("itemsList", itemsList);
		modelAndView.setViewName("/WEB-INF/jsp/itemsList.jsp");
		return modelAndView;
	}
}

4、配置handler:


虽然在handler中配置的RequestMapping中路径为“/query”,但是由于我在web.xml中DispatcherServlet配置如下:


  	springmvc
  	
  	*.action
  

所以在浏览器中访问/query.action方可访问到结果。


另外,当大量使用注解方式开发handler时,建议使用如下的spring组件扫描来代替繁琐的手动配置handler:



你可能感兴趣的:(SpringMVC)