尝试使用管理控制台将 Spring 3.1.2 (servlet 3.0) WAR 安装到 WebSphere 8.5 beta 时,我收到以下错误:
[2012/11/08 10:19:32:585 CAT] 00000021 srt E com.ibm.ws.webcontainer.srt.SRTServletRequest parseParameters SRVE0133E: An error occurred while parsing parameters. {0}
java.lang.UnsupportedOperationException: SRVE8020E: Servlet does not accept multipart requests
我已经将我的 DispatcherServlet 配置为处理多部分请求(即使我不需要对此的支持,但 WebSphere 8.x 似乎需要这个,请参阅下面的 JIRA)。
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<multipart-config>
<max-file-size>10000000</max-file-size>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
不幸的是,Spring JIRA https://jira.springsource.org/browse/SPR-9191只是暗示这个 web.xml 配置或 Spring Java 配置注释 @MultipartConfig 应该可以工作。
WebSphere 7 (servlet 2.5) 或 WebSphere 8.0 (servlet 3.0) 上不会出现此问题。我可以使用 WebSphere 8,但是任何关于它为什么不能在 8.5 beta 中工作的信息都会很好。