Springmvc 继承AbstractCommandController配合formbean 1、 在一个spring mvc项目中的顺序我想和上一篇BLOG是一样的,首先我们先把搭建spring mvc开发的环境和顺序再来复习一下: ü 添加Jar包支持(可以从上一篇blog中查看) ü 配置web.xml中的前置控制器为DispatcherServlet。过滤要拦截固定后缀的请求 ü 配置[servletName]-servlet.xml文件。配置一个handlerMapping和ViewResolver ü 编写Controller和Formbean还要配置在第三步的文件中配置这个Controlller ü 完成 2、 上面将spring mvc的开发基本环境的搭建和文件编写顺序基本又复习了一遍。在下面的叙述中。主要针对上一篇BLOG实现Controller接口之后的功能阐述。比如说传递特定的formbean那么我们就要继承 AbstractCommandController类。下面附上源代码: 1) web.xml文件中Dispatcher文件的配置: <!--配置spring mvc的前置控制器,拦截所有.do的请求,指定为DispatcherServlet--> <servlet> <servlet-name>servlettest</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>servlettest</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> 2) [servletName]-servlet.xml文件的配置: <?xml version="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd "> <!--配置一个映射器映射到不同的Action控制器--> <beanclass="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <propertyname="mappings"> <props> <propkey="/login.do">login</prop> </props> </property> </bean> <!--配置一个Action控制器--> <beanid="login" class="cn.zhang.mvc.LoginAction"> <!--这里应该是配置一个formbean,来指定formbean是什么--> <propertyname="commandClass"> <value>com.zhang.model.LoginInfo</value> </property> </bean> <!--配置一个viewResolver来处理返回的页面,配置前缀和后缀。来指定路径和文件类型--> <beanid="viewresolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <propertyname="prefix"> <value>/WEB-INF/pages/</value> </property> <propertyname="suffix"> <value>.jsp</value> </property> </bean> </beans> 3) 编写Controller和Formbean public class LoginAction extendsAbstractCommandController{ @Override protectedModelAndView handle(HttpServletRequest request, HttpServletResponseresponse, Object command, BindException be) throwsException { LoginInfologinInfo = (LoginInfo) command; Stringusername = loginInfo.getUsername(); Stringpassword = loginInfo.getPassword(); System.out.println("username"+username+"password"+password); returnnew ModelAndView("success"); } } Formbean public class LoginInfo { private Stringusername; private Stringpassword; 不提供set和get方法。为简化省略 } 这其中继承AbstractCommandController和spring 的配置文件中的commandClass的配置是重点。当然继承它的子类SimpleFormController也是可以的。