问一个数据库连接的问题,请高手解答。。。
iodog 2005-10-08 02:41:32 为客户做的门户网站,点击顶部的链接时,总出现这种错误,但这种错误没有规律,很难定时发现,
今天上去看了一下,又发现这个问题,我把错误以及源代码贴出来,望高手解答。。。
Error 500--Internal Server Error
Error code:PRV_RES_015 Error level:warn Error model:null Error description:can't not get Connection of gimp
at com.gever.gimp.info.dao.impl.SortDAODB2Impl.countchildren(SortDAODB2Impl.java:892)
at jsp_servlet._gdca._homepage._gsjj.__gsjj._jspService(__gsjj.java:614)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:45)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:316)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1435)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:505)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:45)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6458)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Caused by: Error code:can't not get Connection of gimp Error level:warn Error model:null Error description:
at com.gever.gimp.util.Utility.getConnection(Utility.java:34)//下面是这个类
at com.gever.gimp.info.dao.impl.SortDAODB2Impl.countchildren//下面有这个类以及相关方法(SortDAODB2Impl.java:873)
... 31 more
public class Utility {
private static Utility instance = new Utility();
private Utility() {
}
public static Utility getInstance(){
return instance;
}
public Connection getConnection() throws DAOException{
Connection cn = null;
try{
ConnectionProvider cp = ConnectionProviderFactory.getConnectionProvider(
"gimp");
cn = cp.getConnection();
return cn;
} catch (Exception e){
e.printStackTrace();
throw new DAOException("can't not get Connection of gimp");
}
}
public long[] toLongArray(String[] strings){
long[] result = null;
if (strings == null){
return null;
}
result = new long[strings.length];
for(int i=0; i<strings.length; i++){
result[i] = Long.parseLong(strings[i]);
}
return result;
}
/**
* 把“2004-10-10”解析为java.sql.Timestamp类型
* @param date String
* @return Timestamp
*/
public static java.sql.Timestamp parseTimestamp(String date){
return null;
}
public static boolean isLogon(HttpServletRequest request){
boolean result = false;
if (request.getSession().getAttribute(Constant.USER_ID) != null){
result = true;
}
return result;
}
public static boolean isSuperAdministrator(HttpServletRequest request){
boolean checkuser=false;
try{ RoleDAO role=new DefaultRoleDAO();
Role mrole=new DefaultRole();
I_User iuer=new DefaultUser();
String userID =(String)request.getSession().getAttribute(com.gever.gimp.util.Constant.USER_ID);
mrole.setId(1);
iuer.setId(Integer.parseInt(userID));
if(mrole.getId()==iuer.getId())
checkuser=true;
else{
checkuser=false;
}
}catch(Exception e){e.printStackTrace();}
return checkuser;
}
public static boolean isHasUploadPermisssion(HttpServletRequest request){
return isHasPermission("GIMP-UPFB", "ALL", request);
}
public static boolean isHasDownPermisssion(HttpServletRequest request){
return isHasPermission("GIMP-DOFB", "ALL", request);
}
private static boolean isHasPermission(String resourceCode, String operationCode, HttpServletRequest request){
boolean result = false;
UserPermission userPermission = null;
Collection c = (Collection)request.getSession(true).getAttribute(com.gever.sysman.privilege.util.Constants.USER_PERMISSION);
if (c != null){
Iterator i = c.iterator();
while (i.hasNext()){
userPermission = (UserPermission)i.next();
if (resourceCode.equals(userPermission.getRes_code()) && operationCode.equals(userPermission.getOpt_code())){
result = true;
break;
}
}
}
return result;
}
}
//用于计算分类有多少个儿子
public List countchildren(long fid) throws DAOException {
Connection connect = null;
PreparedStatement ps = null;
PreparedStatement chinum = null;
List sortlist = new ArrayList();
int a = 0;
String sel = "SELECT * FROM GIMP_INFORMATION_SORT WHERE PARENT_ID =" +
fid +
" AND STATUS=1 ORDER BY ORDER2";
try {
connect = Utility.getInstance().getConnection();
ps = connect.prepareStatement(sel);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
SortVO show = new SortVO();
show.setId(rs.getLong("Id"));
show.setName(rs.getString("Name"));
show.setDescription(rs.getString("Description"));
show.setLev(rs.getInt("Lev"));
show.setStatus(rs.getInt("STATUS"));
show.setOrder2(rs.getInt("Order2"));
show.setParentId(rs.getLong("Parent_Id"));
show.setUrl(rs.getString("Url"));
show.setIs_home(rs.getInt("Is_home"));
sortlist.add(show);
}
return sortlist; /*返回一个数组*/
} catch (Exception e1) {
e1.printStackTrace();
throw new DAOException("PRV_RES_015", e1);
} finally {
super.release(connect, ps);
}
}