struts中删除上传的文件

__威少__ 2011-09-17 09:24:17
先贴代码

package service;
import java.io.File;
import java.sql.*;
import org.apache.struts2.ServletActionContext;
public class Delet {
public String fileNamed;
public String getFilename(){
return fileNamed;
}
public void setFilename(String fileNamed){
this.fileNamed=fileNamed;
}
public String getDFilename(){
String fileNamed=ServletActionContext.getRequest().
getParameter("fileNamed");
String deletname=fileNamed;
try{
deletname=new String(deletname.getBytes(),"UTF-8");
}catch(Exception e){
e.printStackTrace();
}
return deletname;
}

public String excute() throws Exception{
String name=getDFilename();
String realPath= "/upload"+"\\"+name;
File fileName=new File(realPath+name);

Connection conn=Jdbc.getConnection();
Statement stam=conn.createStatement();
String sql="delet from file where filename=?";

System.out.println(realPath);
try{
fileName.delete();
stam.executeUpdate(sql);
}catch(SQLException e){
e.printStackTrace();
conn.rollback();
}finally{
conn.close();
stam.close();
}
return "success";
}
}


struts.xml
<action name="Delet" class="service.Delet">
<result name="success">/user/modifyfile.jsp</result>
</action>
问题:
java.lang.NoSuchMethodException: service.Delet.execute()
java.lang.Class.getMethod(Class.java:1605)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(······省略
删除文件的资料网上找到的不是很多
不知道怎么操作
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
__威少__ 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 licip 的回复:]
public String excute() throws Exception{
这个方法写错了。
public String execute() throws Exception{
少写了一个e
[/Quote]
改正以后,可以正常运行了。可是无论是sql语句还是删除文件的操作,都没执行,这是为什么啊
__威少__ 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liuyuhua0066 的回复:]
自己粗心 而且不好好看异常提示

引用 2 楼 s120922718 的回复:
引用 1 楼 liuyuhua0066 的回复:
别的先不说,先把你的Delet类的excute方法名改下,改成execute
就不会报java.lang.NoSuchMethodException: service.Delet.execute()错误了

ca,真无解了这错误
[/Quote]
嘿嘿
liuyuhua0066 2011-09-17
  • 打赏
  • 举报
回复
自己粗心 而且不好好看异常提示
[Quote=引用 2 楼 s120922718 的回复:]
引用 1 楼 liuyuhua0066 的回复:
别的先不说,先把你的Delet类的excute方法名改下,改成execute
就不会报java.lang.NoSuchMethodException: service.Delet.execute()错误了

ca,真无解了这错误
[/Quote]
licip 2011-09-17
  • 打赏
  • 举报
回复
public String excute() throws Exception{
这个方法写错了。
public String execute() throws Exception{
少写了一个e
__威少__ 2011-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuyuhua0066 的回复:]
别的先不说,先把你的Delet类的excute方法名改下,改成execute
就不会报java.lang.NoSuchMethodException: service.Delet.execute()错误了
[/Quote]
ca,真无解了这错误
liuyuhua0066 2011-09-17
  • 打赏
  • 举报
回复
别的先不说,先把你的Delet类的excute方法名改下,改成execute
就不会报java.lang.NoSuchMethodException: service.Delet.execute()错误了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧