标签:
(可以根据xml配置,注解进行查找)
ModelAndView是springmvc框架的一个底层对象,包括Model和View
作用接受请求,响应结果,相当于转发器,中央处理器
有了DispatcherServlet减少了其他组件的耦合度
作用:根据请求的url查找Handler
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
作用:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确的去执行Handler
作用:进行视图解析,根据逻辑视图名解析成真正的视图(View)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf)
需要spring3.2所有jar(一定包括spring-webmvc-3.2.0.RELEASE.jar)
在web.xml中配置前端控制器
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping>
在classpath下的springmvc.xml中配置处理器适配器
<!-- 处理器适配器 所有处理适配器都实现HandlerAdapter接口 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
需要实现Controller接口,
才能由org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter适配器执行
public class ItemsController1 implements Controller { @Override 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; } }
将编写Handler在spring容器中加载springmvc.xml
<!-- controller配置 --> <bean name="/items1.action" id="itemList1" class="cn.itcast.springmvc.controller.ItemsController1"/>
name="/items1.action":前边配置的处理器映射器为BeanNameUrlHandlerMapping,如果请求的URL 为“上下文/items1.action”将会成功映射到ItemList1控制器。
在classpath下的spring.xml中配置处理器映射器
<!-- 处理器映射器 --> <!-- 根据bean的name进行查找Handler 将action的url配置在bean的name中 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
需要配置解析jsp的视图解析器。
标签:
原文地址:http://www.cnblogs.com/liangshandada/p/5560438.html