Spring mvc 学习, 记录学习笔记。
- DispatcherServlet.
<!--spring mvc servlet: DispatcherServlet -->
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 指明了配置文件的文件名,不使用默认配置文件名,而使用springMVC.xml配置文件。
其中<param-value>**.xml</param-value> 这里可以使用多种写法
1、不写,使用默认值:/WEB-INF/<servlet-name>-servlet.xml
2、<param-value>/WEB-INF/classes/springMVC.xml</param-value>
3、<param-value>classpath*:springMVC-mvc.xml</param-value>-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/com/dragonsoft/mvc/context-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>*.do,*.action</url-pattern>
</servlet-mapping>
配置spring DispatcherServlet.
Spring mvc 一个请求的生命周期:
Spring DispatcherServlet 可以定义 任何形式的URL. *.do,*.action, *.html.
- Spring mvc config
<!-- 把标记了@Controller注解的类转换为bean -->
<context:component-scan base-package="com.dragonsoft.controller"/>
<!-- Configures the @Controller programming model -->
<mvc:annotation-driven />
<!-- Forwards requests to the "/" resource to the "welcome" view -->
<!--<mvc:view-controller path="/" view-name="index"/>-->
<mvc:view-controller path="/index"/>
<!--import other spring config xml-->
<import resource="classpath:/com/dragonsoft/mvc/controllers.xml"/>
<!-- url mappings from spring mvc front dispatcher to flow and page controllers -->
<bean id="simpleUrlHandlerMappings" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/">homePageRedirectController</prop>
<prop key="/login.do">loginController</prop>
<prop key="/user/register">registerController</prop>
</props>
</property>
</bean>
<!--simple spring mvn config-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/view/jsp/"/>
<property name="suffix" value=".jspx"/>
</bean>
Spring提供很多简单的控制器父类:
1.Controller/AbstractController 简单的控制器,功能和java servlet差不多。
2.ThrowawayController 一次性控制器(类似Webwork's Actions).
3.MultiActionController 多动作控制器 有多个动作处理相似或相关逻辑。
4.BaseCommandController/AbstractCommandController 控制器接受一个或多个参数,绑定到一个对象中。
5.AbstractFormController/SimpleFormController 表单处理
6.AbstractWizardFormController 带领用户通过一个复杂,多页面输入的表单。
这些控制器在最新的spring中基本都被deprecation了,现在spring推荐用Annotation 的方式应用springmvc。