高手帮我解决下...愁死了
public class upForm extends ActionForm implements Serializable
private FormFile url;
public FormFile getUrl() {
return url;
}
public void setUrl(FormFile url) {
this.url = url;
}
public class upAction
upForm form =(upForm) actionForm;
if(form.getUrl().getFileSize()>= 200*1024){
System.out.println("文件太于200KB");
return null;
}
只要调用到FormFile就会出现无法序列化..
以下是关闭tomcat时报的错...开启也会出错
StandardHost[localhost]: Removing web application at context path /upjar
StandardManager[/upjar]: Cannot serialize session attribute upForm for session F22D3569B3542FCA428B7E1D41C3D6E2
java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1338)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:827)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:507)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:654)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1184)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3495)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:984)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:815)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:422)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:402)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:234)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1151)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1163)
at org.apache.catalina.core.StandardService.stop(StandardService.java:435)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:535)
at org.apache.catalina.startup.Catalina.start(Catalina.java:799)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
public class upForm extends ActionForm implements Serializable
private FormFile url;
public FormFile getUrl() {
return url;
}
public void setUrl(FormFile url) {
this.url = url;
}
public class upAction
upForm form =(upForm) actionForm;
if(form.getUrl().getFileSize()>= 200*1024){
System.out.println("文件太于200KB");
return null;
}
只要调用到FormFile就会出现无法序列化..
以下是关闭tomcat时报的错...开启也会出错
StandardHost[localhost]: Removing web application at context path /upjar
StandardManager[/upjar]: Cannot serialize session attribute upForm for session F22D3569B3542FCA428B7E1D41C3D6E2
java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1338)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:827)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:507)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:654)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1184)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3495)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:984)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:815)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:422)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:402)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:234)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1151)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1163)
at org.apache.catalina.core.StandardService.stop(StandardService.java:435)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:535)
at org.apache.catalina.startup.Catalina.start(Catalina.java:799)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
楼主【zhftxj】截止到2008-07-16 10:34:24的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:10 每贴平均分数:5
回帖的总数量:5 得分贴总数量:1 回帖的得分率:20%
结贴的总数量:2 结贴的总分数:10
无满意结贴数:1 无满意结贴分:20
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:50.00 % 无满意结分率:200.00%
敬礼!
StandardManager[/upjar]: Seeding random number generator class java.security.SecureRandom
StandardManager[/upjar]: Seeding of random number generator has been completed
StandardManager[/upjar]: IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1278)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1268)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:810)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:411)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:617)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1104)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3371)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
at org.apache.catalina.core.StandardService.start(StandardService.java:388)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
Caused by: java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1338)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:827)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:507)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:654)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1184)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3495)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:984)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:815)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:422)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:402)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:234)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1151)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1163)
at org.apache.catalina.core.StandardService.stop(StandardService.java:435)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:535)
at org.apache.catalina.startup.Catalina.start(Catalina.java:799)
... 7 more
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1278)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1268)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:810)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:411)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:617)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1104)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3371)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
at org.apache.catalina.core.StandardService.start(StandardService.java:388)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
Caused by: java.io.NotSerializableException: org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1338)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:827)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:507)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:654)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1184)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3495)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:984)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:815)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:422)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:402)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:234)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1151)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1163)
at org.apache.catalina.core.StandardService.stop(StandardService.java:435)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:535)
at org.apache.catalina.startup.Catalina.start(Catalina.java:799)
... 7 more
<input type="file" name="url" /><br />
<input type="submit" value="上传" />
</html:form>
我页面上写好了
用transient 关键字真的管用。。太强了感谢