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 (二) [Springmvc 继承AbstractCommandController配合formbean]
最新推荐文章于 2022-09-20 21:19:58 发布