Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: ja

elocutionist02605 2008-10-24 10:03:53
请问各位大侠,Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
com.datang.exception.ApplicationException是什么原因呢?烦请高手指导指导。一下是出错的代码:
package com.datang.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.datang.dao.EmployeeDAO;
import com.datang.exception.ApplicationException;
import com.datang.po.Employee;
import com.datang.po.EmployeeList;
import com.datang.util.DBUtil;

public class EmployeeMySQLDAOImpl implements EmployeeDAO{

public static final String GET_EMPLOYEE_BY_ID="select id,name,sex,hire_date,position,birthday,degree,major,experience

from t_employee";


public EmployeeList getEmployeeById(String id)throws ApplicationException{
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
EmployeeList emp=new EmployeeList();

try{
conn=DBUtil.getConnection(); <-----从这一句就直接跳转的finally里边了。。
pstmt=conn.prepareStatement(GET_EMPLOYEE_BY_ID);
pstmt.setString(1, id);
rs=pstmt.executeQuery();
while(rs.next()){

emp.setId(rs.getString(1));
emp.setName(rs.getString(2));
emp.setSex(rs.getString(3).equals("0")?"男":"女");
emp.setHire_date(rs.getDate(4));
emp.setPosition(rs.getString(5));
emp.setBirthday(rs.getDate(6));
emp.setDegree(rs.getString(7));
emp.setMajor(rs.getString(8));
emp.setExperience(rs.getString(9));
}
return emp;
}catch(SQLException e){
e.printStackTrace();
return null;
}finally{
DBUtil.close(rs, pstmt, conn);
}
}

public static void main(String[] args){
try {
EmployeeList name=new EmployeeMySQLDAOImpl().getEmployeeById("1");
System.out.println(name);
} catch (ApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

抛出的异常是:2008-10-24 09:42:45:INFO main com.datang.util.DBUtil - 数据库发生异常Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
com.datang.exception.ApplicationException
at com.datang.util.DBUtil.getConnection(DBUtil.java:32)
at com.datang.dao.impl.EmployeeMySQLDAOImpl.getEmployeeById(EmployeeMySQLDAOImpl.java:166)
at com.datang.dao.impl.EmployeeMySQLDAOImpl.main(EmployeeMySQLDAOImpl.java:193)

经检查DBUtil.java ApplicationException.java 都没错,谢谢了!!
...全文
19329 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kurt17 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

晕哦,找到答案了,你是 用了数据库连接池吧,做测试的话你只能在web上面做测试,因为连接池是部署到tomcat服务器上,不能用application做测试的
[/Quote]

同解。没有服务器的参与,肯定run不起来的。
qqqwww198273 2011-11-23
  • 打赏
  • 举报
回复
晕哦,找到答案了,你是 用了数据库连接池吧,做测试的话你只能在web上面做测试,因为连接池是部署到tomcat服务器上,不能用application做测试的
qqqwww198273 2011-11-23
  • 打赏
  • 举报
回复
帮顶,我也是遇到同样的问题!!!
knsen 2011-11-15
  • 打赏
  • 举报
回复
DataSource datasource=(DataSource)context.lookup("java:comp/env/jdbc/ConnectionTest");
加啦 还是一样
邵鹏 2011-10-16
  • 打赏
  • 举报
回复
如果你用的是tomcat服务器那么在lookup的时候要加入java:comp/env/
DataSource datasource=(DataSource)context.lookup("java:comp/env/jdbc/ConnectionTest");
肖邦 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 soswm 的回复:]

在类里面和jsp里面不同!他们不再同一个线程里!想用的话在jsp页面吧类引进去,在jsp页面调用!
[/Quote]

大虾。。。能不能解释一下关于在类里面和jsp里面不在同一个线程的详细实现。我是菜鸟,我觉得终究都是要执行这个java类,有什么区别呢?为啥就不能直接测试一下?拜托详细点。。。thanks!!!
lpzsoft 2011-07-13
  • 打赏
  • 举报
回复
在类里面和jsp里面不同!他们不再同一个线程里!想用的话在jsp页面吧类引进去,在jsp页面调用!
yexun_2009 2010-03-02
  • 打赏
  • 举报
回复
你应该把你的DBUtil类给别人看
拿这个有什么用呢,错不在这
george674834080 2009-09-27
  • 打赏
  • 举报
回复
http://tech.ddvip.com/2009-06/1244864563123563.html

必须用jsp进行连接测试,
hb54335 2009-09-08
  • 打赏
  • 举报
回复
楼主 我也有这样的问题 你解决了吗? 告诉我怎么解决···谢谢·
gzchenbing 2009-09-06
  • 打赏
  • 举报
回复
连接池,怎么连接不上呢,之前好好的
kitajima-- 2009-04-15
  • 打赏
  • 举报
回复
连接池 see
zdf312 2009-04-12
  • 打赏
  • 举报
回复
pstmt.setString(1, id);
这一条语句应该拿掉吧。
thinkaboutit 2009-03-18
  • 打赏
  • 举报
回复
java.naming.factory.initial

那一句跳了,你就再跟进去呗,应该是Class.forName那里出错了,检查一下。
liguangwen86 2008-11-12
  • 打赏
  • 举报
回复
帮顶一下!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧