先贴代码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(······省略
删除文件的资料网上找到的不是很多
不知道怎么操作

解决方案 »

  1.   

    别的先不说,先把你的Delet类的excute方法名改下,改成execute
    就不会报java.lang.NoSuchMethodException: service.Delet.execute()错误了
      

  2.   

    public String excute() throws Exception{
    这个方法写错了。
    public String execute() throws Exception{
    少写了一个e
      

  3.   

    改正以后,可以正常运行了。可是无论是sql语句还是删除文件的操作,都没执行,这是为什么啊