第一步:导入springMVC的jar包:
第二步:创建一个动态web工程
第三步:在web.xml中配置springMVC的前端控制器,如下:
<!-- springmvc的前端控制器 -->
<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>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
第四步:在spring的配置文件springmvc.xml中配置处理器适配器
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
第五步:开发Handler
说明:因为处理器适配器用的是SimpleControllerAdapter,所以Handler要实现Controller接口,并覆盖它的handleRequest()方法
通过源码分析:
通过源码分析:
public boolean support(Object handler){
return (handler instanceof Controller);
}
所以只要实现了Controller接口的bean,SimpleControllerHandlerAdapter都可以执行.
Handler示例:
public class MyController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// 模拟静态数据查询商品信息
List<Items> list = new ArrayList<Items>();
Items item1 = new Items();
item1.setName("联想笔记本");
item1.setPrice(6000f);
item1.setDetail("ThinkPad T430 联想笔记本电脑");
Items item2 = new Items();
item2.setName("苹果手机");
item2.setPrice(5000f);
item2.setDetail("iphone6苹果手机!");
list.add(item1);
list.add(item2);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("list", list);
modelAndView.setViewName("itemsList");
return modelAndView;
}
}
第六步:将自己写的Handler配置在spring容器springmvc.xml中
< bean id="myController" class="cn.zx.springmvc.controller.MyController " />
第七步:配置处理器映射器:在springmvc.xml中配置
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
< bean id="myController" name="/list.action" class="cn.zx.springmvc.controller.MyController " />
第八步:配置视图解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>