最近在看李刚写的那本Struts2权威教程,(简称S2得了,懒得打字),现在在学文件上传部分,这些只是我怕自己忘记了,所以就贴到博客里面来的,防止万一有一天我电脑的硬盘废了,我的学习笔记泡汤,因为自己穷,没钱买硬盘.
web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 定义Struts2的FilterDispathcer的Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- 方便S2与Sitemesh之间的整合,防止文件上传中出现的某些未知的异常 -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 定义拦截的URL,不会起到副作用,因为它自身也是一个拦截器 -->
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts.xml的部分配置:
<action name="upload" class="cwl.test.jstl.action.FileUploadAction1">
<param name="savaPath">/upload</param>
<result name="success">/uploadSuccess.jsp</result>
</action>
upload必须是已经存在的文件夹,且名为upload