非注解的处理器适配器和处理器映射器

一、非注解的处理器映射器

1,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

该bean 按照名称配置url,如下:

<bean id="itemsController1" name="/queryItems_test.action" class="cn.itcast.ssm.controller.ItemsController1" />

2,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

如下方式配置url:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
	<property name="mappings">
		<props>
		      <prop key="/queryItem.action">itemsController1</prop>
			<prop key="/queryItem2.action">helloDemo</prop>				     </props>
	</property>
</bean>

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

1,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter

要求Handle实现Controller接口:

public class ItemsController1 implements Controller {

	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) 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;
	}

}

2,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter

要求编写的Handler实现 HttpRequestHandler接口。

public class ItemsController2 implements HttpRequestHandler {

	public void handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		//调用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);
		//设置模型数据
		request.setAttribute("itemsList", itemsList);
		//设置转发的视图
		request.getRequestDispatcher("/WEB-INF/jsp/items/itemsList.jsp").forward(request, response);

		//使用此方法可以通过修改response,设置响应的数据格式,比如响应json数据

/*
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json;charset=utf-8");
		response.getWriter().write("json串");*/

	}

}

注意:多个映射器和多个适配器可以共存

时间: 2024-10-24 06:48:50

非注解的处理器适配器和处理器映射器的相关文章

springmvc 前段控制器 处理器映射器 处理器适配器 视图视图解析器 配置

1. 前段控制器 新建项目在web.xml中配置前段控制器 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</pa

springmvc03 非注解和注解处理器映射器和适配器

1其它非注解处理器映射器和适配器 1.1BeanNameUrlHandlerMapping(映射器) 根据请求url(XXXX.action)匹配spring容器bean的 name 找到对应的bean(程序编写的Handler) 1.2SimpleUrlHandlerMapping(映射器) <!--简单url映射, 集中配置bean的id对应 的url --> <bean class="org.springframework.web.servlet.handler.Simp

springMVC学习笔记(二)-----注解和非注解入门小程序

最近一直在做一个电商的项目,周末加班,忙的都没有时间更新博客了.终于在上周五上线了,可以轻松几天了.闲话不扯淡了,继续谈谈springMvc的学习. 现在,用到SpringMvc的大部分使用全注解配置,但全注解配置也是由非注解发张而来的.所以,今天就谈谈springMvc最基础的注解和非注解的配置以及开发模式. 一:基础环境准备 1.功能需求:一个简单的商品列表查询 2.开发环境:eclipse,java1.7,springmvc版本:3.2 3.springMvc所需jar包(一定包括spri

springMVC非注解常用的&quot;处理器映射器&quot;、&quot;适配器&quot;、&quot;处理器&quot;

非注解处理器映射器1. org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping url 到bean name的映射2. org.springframework.web.servlet.handler.SimpleUrlHandlerMapping url 到bean id的映射 非注解适配器1. org.springframework.web.servlet.mvc.SimpleControllerHandlerAdap

非注解的处理器映射器和适配器

在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.mv

【SpringMVC笔记】第四课 注解的处理器映射器和处理器适配器使用

一.注意点: 版本问题 spring3.2以前的版本,注解的映射器和适配器使用以下两个类. org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping.class org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.class 在新版本的源码中可以看到以下注释: 在3.2 包含及以后的版本中使用如

注解的处理器映射器和适配器

1, 配置注解映射器和适配器. <!--注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!--注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMa

【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结

从上一篇的springmvc入门中已经看到,springmvc.xml中的配置了映射器和适配器,是使用非注解的方式来配置的,这是非注解方式的一种,这里再复习一下: 1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.即: SimpleControllerHandlerAdapter适配器能执行实现了Controller接口的Handler,所以我

Spring MVC——适配器与映射器(非注解方式)

<!-- 配置非注解处理器适配器:根据指定规则执行处理器 --> <!-- 1. SimpleControllerHandlerAdapter:适配所有实现org.springframework.web.servlet.mvc.Controller接口的处理器 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean&g