ExtDirectSpring嵌入在一個Spring MVC應用程序。 Spring MVC的dispatcher servlet需要在web.xml中該servlet。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/action/*</url-pattern>
</servlet-mapping>
和上面的配置相對應的spring配置文件action-servlet.xml必須跟web.xml在同一個目錄。另一種配置方式是指定contextConfigLocation初始化參數文件的名稱和位置。
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/META-INF/spring/controller/servlet-controller.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
無論哪種方式,Spring上下文文件看起來應該像這樣。
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>
<context:component-scan base-package="ch.ralscha.extdirectspring"/>
<mvc:annotation-driven />
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000"/>
</bean>
...
</beans>
組件掃描(component-scan)和註解驅動(annotation-driven)的配置是強制的對於ExtDirectSpring。multipartResolver Bean僅僅在文件上傳時需要,其它情況可以省略。
在Servlet 3.0服務器可以用StandardServletMultipartResolver替換CommonsMultipartResolver。
<bean id="multipartResolver"
class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
</bean>
如果用Servlet 3.0支持的multipart resolver,爲了能讓它正常工作需要開啓multipart支持在servlet。
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
....
</init-param>
<load-on-startup>1</load-on-startup>
<multipart-config />
</servlet>