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>

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐