使用sPRing MVC框架進行文件上傳,步驟如下:
1:配置web.xml文件。定義DispatcherServlet,DispatcherServlet處理的請求(.htm)也在同一個web.xml文件里使用url-mapping定義映射。
<servlet>
<servlet-name>upload</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>upload</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
2:定義upload-servlet.xml文件。
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- set the max upload size100MB -->
<property name="maxUploadSize">
<value>104857600</value>
</property>
<property name="maxInMemorySize">
<value>4096</value>
</property>
</bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/upload.htm">uploadController</prop>
</props>
</property>
</bean>
<bean id="uploadController" class="FileUploadController">
<property name="commandClass"><value>FileUploadBean</value></property>
<property name="uploadDir"><value>E:/</value></property>
<property name="formView"><value>fail</value></property>
<property name="sUCcessView"><value>confirmation</value></property>
</bean>
3:定義控制類,commandClass及方法。控制類中最重要的方法是initBinder()它給spring注冊了一個編輯器對
request中的multipart實體進行處理,假如沒有這個方法,上傳將不能進行。
<--------------------------控制類------------------->
public class FileUploadController extends SimpleFormController {
private static Log log =
LogFactory.getLog(FileUploadController.class);
private String uploadDir;//上傳文件路徑
|
新聞熱點
疑難解答