level 1
斯柯云
楼主
问题描述:我在写一个上传文件的web项目,这段是后台的java处理代码:
public String execute() throws Exception {
// TODO Auto-generated method stub
String targetDirectory = context.getRealPath("/");
System.out.println(targetDirectory);
String lsTarget=targetDirectory+"upload";
File dirFile = new File(lsTarget);
if(!dirFile.exists()){
//file.createNewFile();
System.out.println("开始创建");
dirFile.mkdirs();
if(!dirFile.exists()){
System.out.println("没创建成功");
}
}else{
System.out.println("已经存在");
}
targetDirectory = lsTarget;
System.out.println(targetDirectory);
String targetFileName = ufileFileName;
File target = new File(targetDirectory, targetFileName);
FileUtils.copyFile(ufile, target);
return SUCCESS;
}
这个本来是成功的,第一次上传一个文件,成功了,但是第二次上传另外的文件会报错,报错的内容是:
六月 18, 2014 6:36:37 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Removing file ufile B:\TomCat\install-TomCat\work\Catalina\localhost\load\upload__41d8137_146acc42c9a__7fea_00000001.tmp
六月 18, 2014 6:36:53 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Could not find action or result
There is no Action mapped for namespace /upload and action name . - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)
感谢大神们解答啊,急死了
2014年06月18日 10点06分
1
public String execute() throws Exception {
// TODO Auto-generated method stub
String targetDirectory = context.getRealPath("/");
System.out.println(targetDirectory);
String lsTarget=targetDirectory+"upload";
File dirFile = new File(lsTarget);
if(!dirFile.exists()){
//file.createNewFile();
System.out.println("开始创建");
dirFile.mkdirs();
if(!dirFile.exists()){
System.out.println("没创建成功");
}
}else{
System.out.println("已经存在");
}
targetDirectory = lsTarget;
System.out.println(targetDirectory);
String targetFileName = ufileFileName;
File target = new File(targetDirectory, targetFileName);
FileUtils.copyFile(ufile, target);
return SUCCESS;
}
这个本来是成功的,第一次上传一个文件,成功了,但是第二次上传另外的文件会报错,报错的内容是:
六月 18, 2014 6:36:37 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Removing file ufile B:\TomCat\install-TomCat\work\Catalina\localhost\load\upload__41d8137_146acc42c9a__7fea_00000001.tmp
六月 18, 2014 6:36:53 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Could not find action or result
There is no Action mapped for namespace /upload and action name . - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)
感谢大神们解答啊,急死了