【SSM-SpringMVC框架】非注解的处理器适配器和映射器
2016-04-14 10:50
477 查看
1.非注解的处理器映射器:
1.处理器映射器:(HandlerMapping)
处理器映射器负责根据request请求找到对应Handler处理器及Intercepter拦截器,将他们封装在HandlerExecutionChain对象中给前端控制器中返回。1. org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping:
BeanNameUrlHandlerMapping处理器映射器,根据请求的url与spring容器中定义的bean的name进行匹配,从而从spring容器中找到bean的实例。
<!—beanName Url映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
另一个处理器适配器:
2. org.springframework.web.servlet.handler.SimpleUrlHandlerMapping:
SimpleUrlHandlerMapping处理器适配器,他可以将url和处理器bean的id进行统一配置。
<!—简单url映射 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/items1.action">controller的bean id</prop> <prop key="/items2.action">controller的bean id</prop> </props> </property> </bean>
2.非注解的处理器适配器:
2.处理器适配器(HandlerAdapter):
HandlerAdapter会根据适配器接口对后端控制器进行包装(适配),包装后即可对处理器进行执行,通过扩展处理器适配器可执行多种类型的处理器。这里使用了适配器设计模式。1.org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter:
简单的处理器适配器,所有实现了org.springframework.web.servlet.mvc.Controller接口的bean,都通过此适配器进行适配执行:
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
2.org.springframework.web.HttpRequestHandlerAdapter:
HttpRequestHandlerAdapter,http请求处理器适配器,所有实现了org.springframework.web.HttpRequestHandler接口的bean,通过此适配器进行适配,执行。
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
handler开发:
public class ItemList2 implements HttpRequestHandler { @Override public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 商品列表 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("iphone5 苹果手机!"); itemsList.add(items_1); itemsList.add(items_2); // 填充数据 request.setAttribute("itemsList", itemsList); // 视图 request.getRequestDispatcher("/WEB-INF/jsp/order/itemsList.jsp").forward(request, response); } }从上边里可以看出,此适配器的handlerRequest方法没有返回ModelAndView,可通过response修改响应内容,比如json,
相关文章推荐
- JAVA抽象类与接口
- Spring单例与线程安全小结
- 转spring aop实现业务层mysql 读写分离
- Spring AOP
- Eclipse 调试时,出现错误闪退,但是控制台没有打印错误信息
- java多线程之Condition实现更高效线程通信
- myeclipse个人遇到的乱码问题
- java 正则表达式查找某段字符串中所有小写字母开头的单词并统计次数,按出现次数排序
- trang.jar转换xml到Javabean
- struts2+ajax+json的使用
- Spring <context:annotation-config/>详解
- eclipse最有用快捷键整理
- (转自系统信息)Java中Integer类的方法
- JavaWeb企业实训(一)servlet检测输入为空
- Java处理正则表达式特殊字符转义
- MyBatis-Spring-SqlSession
- 用java开发编译器之:代码实现Thompson构造1,输入文本预处理
- java RMI
- Springboot文件下载
- springmvc 静态资源处理