总有个类吧,如果是: public class Utils { ... public static ArrayList findOwner(String userid){ ...} ... }在jsp里 <% ... ArrayList al = Utils.findOwner("whatever"); ...%>
不好意思,没说清楚,上面那个函数是在一个class里,就是在jsp中 ArrayList al = Utils.findOwner("whatever");报错
我在class里写测试函数,可以查询出来结果,jsp报错NoSuchMethodError是在weblogic的服务器端,客户端显示Error 500--Internal Server Error From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 10.5.1 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request.
jsp文件没有错误信息,客户端只是显示 Error 500--Internal Server Error From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 10.5.1 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request. 服务器断显示: <Jul 20, 2004 11:54:01 AM CST> <Error> <HTTP> <101017> <[ServletContext(id=46027 53,name=billing,context-path=/billing)] Root cause of ServletException java.lang.NoSuchMethodError at com.wx.operate.CallingNums.findOwner(CallingNums.java:66) at jsp_servlet._customer.__ta_cdr_query_results._jspService(__ta_cdr_query_results.java:131) at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run (ServletStubImpl.java:1058) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:401) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:306) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio n.run(WebAppServletContext.java:5412) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic eManager.java:744) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe rvletContext.java:3086) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2544) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
注释掉这句 ArrayList al = Utils.findOwner("whatever"); 就可以正常运行; 你看错误提示: Root cause of ServletException java.lang.NoSuchMethodError at com.wx.operate.CallingNums.findOwner(CallingNums.java:66) 我得class名字叫做CallingNums,好像就是这个findOwner引起的错误
自己顶 我用try{ArrayList al = Utils.findOwner("whatever"); } catch(NoSuchMethodError nsme){ out.println(nsme.getMessage());}可以捕获到此错误,错误消息为null 在jbuilder中执行没有此错误
函数代码如下:
public static ArrayList findOwner(String userid){
ArrayList list = new ArrayList();
try{
TaCustBaseinfoBean taCustBaseinfoBean = new TaCustBaseinfoBean();
long ll_id = taCustBaseinfoBean.findkey(userid);
taCustBaseinfoBean = TaCustBaseinfoBean.findById(ll_id); if(taCustBaseinfoBean.getCustlevel()==1){
//代理
ArrayList list2 = TaCustBaseinfoBean.findByWhere(" where supercustid='"+userid+"'");
for(int i=0;i<list2.size();i++){
TaCustBaseinfoBean taCB = (TaCustBaseinfoBean)list2.get(i);
ArrayList list3 = findOwner(taCB.getCustid());
for(int j=0;j<list3.size();j++){
CallingNums callingNums = new CallingNums();
callingNums = (CallingNums)list3.get(j);
list.add(callingNums);
//System.out.println(callingNums.getnum());
}
}
return list;
}else{
//客户
ArrayList list1 = TaCustCallingnumBean.findByWhere(" where custserialno ="+ll_id);
for(int i=0;i<list1.size();i++){
TaCustCallingnumBean taCustCallingnumBean = (TaCustCallingnumBean)list1.get(i);
CallingNums callingNums = new CallingNums();
callingNums.setnum(taCustCallingnumBean.getCallingnum());
list.add(callingNums);
}
return list;
}
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return list;
}
jsp是weblogic7,jdk应该也是1.3
public class Utils {
...
public static ArrayList findOwner(String userid){
...}
...
}在jsp里
<%
...
ArrayList al = Utils.findOwner("whatever");
...%>
ArrayList al = Utils.findOwner("whatever");报错
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.
服务器断显示:
<Jul 20, 2004 11:54:01 AM CST> <Error> <HTTP> <101017> <[ServletContext(id=46027
53,name=billing,context-path=/billing)] Root cause of ServletException
java.lang.NoSuchMethodError at com.wx.operate.CallingNums.findOwner(CallingNums.java:66)
at jsp_servlet._customer.__ta_cdr_query_results._jspService(__ta_cdr_query_results.java:131)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5412) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:744)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3086)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2544)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
ArrayList al = Utils.findOwner("whatever");
就可以正常运行;
你看错误提示:
Root cause of ServletException
java.lang.NoSuchMethodError at com.wx.operate.CallingNums.findOwner(CallingNums.java:66)
我得class名字叫做CallingNums,好像就是这个findOwner引起的错误
我用try{ArrayList al = Utils.findOwner("whatever");
}
catch(NoSuchMethodError nsme){
out.println(nsme.getMessage());}可以捕获到此错误,错误消息为null
在jbuilder中执行没有此错误