java - 为什么IDEA在我使用java反射时会出错,而eclipse却没有
问题描述
我试过用JAVA反射完成一个servlet Demo。但我得到了错误的提示。这个提示只出现在IDEA中,eclipse正常,没有任何提示。
提示: 在此处输入图片描述
像这样的代码:
package...
import...
public class ServletDemo02 extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String md=request.getParameter("method");
String path=null;
Class clazz = this.getClass();
try {
Method method=clazz.getMethod(md, HttpServletRequest.class,HttpServletResponse.class);
if(null!=method){
//
path=(String)method.invoke(this, request,response);
}
if(null!=path){
request.getRequestDispatcher(path).forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public String addStu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("add");
return "/test.html";
}
public String delStu...
public String delStu...
解决方案
getMethod
in的声明Class
是
Method getMethod(String name, Class<?>... parameterTypes)
这parameterTypes
是一个可变参数,至少需要 Java 5。仔细检查 Java 5 是否已在您的 IDE 中激活。