我有这个servlet -
@WebServlet("/CreateNewPersonServlet")
public class CreateNewPersonServlet extends HttpServlet {
private void saveInDB() {
// here use the invoke ...
String methodName = "saveManager";
Method method = CreateNewPersonServlet.class.getMethod(
methodName, new Class[] {});
method.invoke(this);
}
private void saveManager() {
}
}
当跑步到达线 -
Method method = CreateNewPersonServlet.class.getMethod(
methodName, new Class[] {});
它抛出异常 -
java.lang.NoSuchMethodException: control.CreateNewPersonServlet.saveManager()
at java.lang.Class.getMethod(Unknown Source)
我应该如何正确编写调用?
答案 0 :(得分:4)
该方法是私有的,您应该使用.getDeclaredMethod(..)
,然后使用setAccessible(true)
.getMethod(..)
仅返回公共方法。但你也可以公开这个方法。