Spring mvc (二) [Springmvc 继承AbstractCommandController配合formbean]

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也是可以的。



你可能感兴趣的:(spring,mvc,command,Blog,Class,action)