springmvc注解开发handler
来源:互联网 发布:美国非农数据最新消息 编辑:程序博客网 时间:2024/05/27 08:13
在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、配置注解映射器
<!-- 注解映射器 --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
2、配置注解适配器
<!-- 注解适配器 --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
注意:该适配器不要求实现任何接口,但它需要与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 * */@Controllerpublic class ItemController03 {/** * @RequestMapping中的url我们建议和方法名一致,但这不是强制要求 * @param request * @param response * @return */@RequestMapping("/query")public ModelAndView queryItem(){//使用静态数据把商品列表显示在jsp页面List<Items> itemsList = new ArrayList<Items>();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:
<bean class="com.js.springmvc01.ItemController03"/>
虽然在handler中配置的RequestMapping中路径为“/query”,但是由于我在web.xml中DispatcherServlet配置如下:
<servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 可以配置/,此工程所有的请求全部由springmvc解析,此种方式可以实现RESTful 方式,需要特殊处理静态文件的解析,不能由springmvc解析 可以配置*.do或*.action,所有请求的扩展名为.do或.action时,由springmvc来解析,此种方法常用 不可以配置/*,如果配置/*,返回jsp也由springmvc解析,会再次经过springmvc处理,这是不对的 --> <url-pattern>*.action</url-pattern> </servlet-mapping>
所以在浏览器中访问/query.action方可访问到结果。
另外,当大量使用注解方式开发handler时,建议使用如下的spring组件扫描来代替繁琐的手动配置handler:
<context:component-scan base-package="com.js.springmvc01"></context:component-scan>
阅读全文
0 0
- springmvc注解开发handler
- SpringMVC - 注解的Handler
- springmvc注解开发
- springmvc注解开发
- SpringMVC注解开发
- springMVC----使用注解开发
- SpringMVC的注解开发
- SpringMVC之注解开发
- springmvc之注解开发
- SpringMVC开发常见注解
- SpringMVC 注解开发
- springmvc注解开发
- springmvc注解开发入门
- 基于注解开发SpringMVC
- SpringMVC 注解开发
- 注解开发SPringMVC
- SpringMVC(四)注解开发
- springMVC注解开发入门程序
- discuz文章列表页调用查看数和回复数
- 学习MongoDB 二:MongoDB添加、删除、修改
- Java多线程--syncornized原理与应用
- None of the configured nodes are availableException错误解决
- 层次聚类
- springmvc注解开发handler
- 存储类、链接
- Spring详解(一)------概述
- linux notes
- 《麦肯锡工作法》读后感
- Mongodb与Msyql的对应关系
- 【bzoj2005】[Noi2010]能量采集
- python一行sql太长折成多行并且有多个参数
- 查看python中关键字