java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
在做项目的时候遇到过两次该错误
1 :在通过el表达式取值的时候属性和对象不匹配,找不到该对象的该属性。导致页面错误
2 :错误原因:通过mvc模式开发,我service层里面查询方法的名称和dao层查询方法名称一样,在service层调用dao层的查询方法时没有引用dao层的方法,直接调service的查询方法,也就是自己调用自己。导致页面错误。
dao层的实现层
public Object queryOBject(){
System.out.,println("opojijn");
return new Object();
}
service层
public Object queryObject(){
return queryObject();
}
我是这样写导致了异常。应该调用 new DaoImpl().queryObject();
3:将action层里面的连接设置了set和get方法,具体情况如下:
我在action层里面定义了一个私有连接对象,private Connection conn = SqlUtil.getConn();在设置属性get和set方法的时候点击了全部设置,所以把conn无意识的设置了getset方法。
4 将action层里面的service设置了getset方法,具体情况和第三种情况一样,无意识的设置了getset方法。在action层里面我设置了private AreaDao aDao = new AreaDaoImpl(),将aDao设置了getset方法。
第3.4中情况的解决办法是去掉getset方法。
本文详细解析了Java反射机制在项目开发中遇到的常见问题,包括通过EL表达式取值时属性和对象不匹配导致的错误,以及在MVC模式下service层调用自身方法引发的异常。同时提供了相应的解决策略,如正确引用DAO层方法和避免无意识设置getset方法,以确保代码逻辑的正确性和应用的稳定性。
1104

被折叠的 条评论
为什么被折叠?



