原来有个项目,用jsp + tomvat5.5 + jdk1.5 + jdbc做的,字符集是gb2312,没有用什么框架,只是用jspsmart做文件上传。上传文件的jsp代码如下
Alter.jsp:
<form method="post" name="form1" action="AlterEnd.jsp" ENCTYPE="multipart/form-data">
<input type="file" name="file1" style="width:100%">AlterEnd.jsp:
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
mySmartUpload.initialize(pageContext);
//mySmartUpload.setTotalMaxFileSize(5000000);
mySmartUpload.setMaxFileSize(500*1024*1024);
// Upload
mySmartUpload.upload();
Files file; //注意这里,后面在这里报错了
com.jspsmart.upload.File f;
file=mySmartUpload.getFiles();
f=file.getFile(0);
%>最近要增加新功能,就加入struts2、spring、heibernate框架,在web.xml中加入s2sh的配置。结果s2sh 可用了,原来的程序中jsp访问数据库啥的都没问题。唯独涉及文件上传时系统报错:java.lang.IllegalArgumentException: Files' name is invalid or does not exist (1205).在网上搜索一下,有人说页面缺少enctype="multipart/form-data",可我的jsp里已经加入这句话了。有人说在input file中加入name属性,我也有:<input type="file" name="file1" style="width:100%">以前程序运行都是好的,说明代码没问题,就是加入s2sh框架后出错了。现在原来程序中所有涉及文件上传的部分都不能用了。为什么?难道S2SH与jspsmart冲突?如果那样,除了重写所有上传文件的代码,还有什么办法吗?很着急!!分不多了,抱歉!
Alter.jsp:
<form method="post" name="form1" action="AlterEnd.jsp" ENCTYPE="multipart/form-data">
<input type="file" name="file1" style="width:100%">AlterEnd.jsp:
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
mySmartUpload.initialize(pageContext);
//mySmartUpload.setTotalMaxFileSize(5000000);
mySmartUpload.setMaxFileSize(500*1024*1024);
// Upload
mySmartUpload.upload();
Files file; //注意这里,后面在这里报错了
com.jspsmart.upload.File f;
file=mySmartUpload.getFiles();
f=file.getFile(0);
%>最近要增加新功能,就加入struts2、spring、heibernate框架,在web.xml中加入s2sh的配置。结果s2sh 可用了,原来的程序中jsp访问数据库啥的都没问题。唯独涉及文件上传时系统报错:java.lang.IllegalArgumentException: Files' name is invalid or does not exist (1205).在网上搜索一下,有人说页面缺少enctype="multipart/form-data",可我的jsp里已经加入这句话了。有人说在input file中加入name属性,我也有:<input type="file" name="file1" style="width:100%">以前程序运行都是好的,说明代码没问题,就是加入s2sh框架后出错了。现在原来程序中所有涉及文件上传的部分都不能用了。为什么?难道S2SH与jspsmart冲突?如果那样,除了重写所有上传文件的代码,还有什么办法吗?很着急!!分不多了,抱歉!
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!--定义核心Filter FilterDispatcher -->
<filter>
<!-- 定义核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!--定义核心Filter的实现类 -->
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<!-- 初始编码配置 -->
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter> <filter-mapping>
<!--核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!--使用该核心Filter来接受所有的Web请求 -->
<url-pattern>/*</url-pattern>
</filter-mapping> <listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener> <servlet>
<servlet-name>debugjsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>jspCompilerPlugin</param-name>
<param-value>com.borland.jbuilder.webserverglue.tomcat.jsp.JasperSunJavaCompiler</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>debugjsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<filter-mapping>
<!--核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!--使用该核心Filter来接受所有的Web请求 -->
<url-pattern>*.action</url-pattern>
</filter-mapping>