2012-08-06 64 views
0

我有這個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) 

如何我應該正確寫入調用?

回答

4

的方法是私有的,你應該使用.getDeclaredMethod(..),然後用setAccessible(true)

.getMethod(..)只返回公共方法。但你也可以公開這種方法。