今天遇到了java.lang.NoSuchMethodException Error 500--Internal Server Error错误,原因是DispatchAction找不到action中对应的method,我的错误是将方法定义成private,索引DispatchAction是找不到对应方法的。希望能够帮助遇到该错误的同学。DispatchAction

解决方案 »

  1.   

    struts是通过反射技术区找的,private访问不到。
      

  2.   

    人家只是打错了个字,“struts是通过反射技术去找的”
    反射技术就是将类本身(字节码)作为一种对象,通过类名、方法名、字段名等字符串来找到对应的类、方法、字段。
    比如有Class A里面有静态方法Method B,在别的很多语言里,只能写死成A.B(),想通过字符串"A"和"B"来找到并调用几乎是天方夜谭,但是java能
      

  3.   


    很多别的语言可以很轻松的实现动态,但是Java做不到,所以才需要你学习反射。很多别的语言可以很轻松的实现Java的模式,但是Java做不到,所以才需要你学习设计模式。
      

  4.   


    很多别的语言可以很轻松的实现动态,但是Java做不到,所以才需要你学习反射。很多别的语言可以很轻松的实现Java的模式,但是Java做不到,所以才需要你学习设计模式。
    很抱歉,如果你想挑起语言之争的话,我不奉陪。我只是就事论事的探讨一下关于反射的问题,各种语言都有各种语言的优点。我从来都不局限于哪种语言,实现目标才最重要。
    无论是vbs、hta、bat这些脚本语言,还是c、c++、java、autoit3、c#这些应用程序语言,还是asp、asp.net、php、jsp这些网页语言,都应该有适当的了解。我从来都不认为哪种语言是世界上最好的语言,也不鄙视任何一种语言。
      

  5.   


    药店碧莲吧。请你注意你的言行,这里是讨论技术的地方,不是市井流氓撒泼的地方,你可以不喜欢java语言,不要来这个板块就是了,何必人身攻击呢?