永发信息网

可不可以既用数据源方式连接数据库,又把这个动作独立出来呢?

答案:1  悬赏:0  手机版
解决时间 2021-06-09 02:22
  • 提问者网友:沦陷
  • 2021-06-08 18:59

我想用数据源的方式连接MySQL,server.xml 已配置好了,而且在这个项目的jsp页面可以获得connetion对象,但是如果这样的话,麻烦不说,代码重复,我就把获得连接的代码放到一个类中(含有main方法),我想测试是否可以把这个连接、释放动作独立出来,运行中对这句话: DataSource ds = (DataSource)con.lookup("java:comp/env/jdbc/mldn"); 报着个错:javax.naming.NoInitialContextException: 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

看到有人说这个要在jsp中运行才行,

对于我的困惑,你们是如何解决的呢?

最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-06-08 19:05
你用的是JNDI连接吧,这个是由于连接是由Tomcat等等Web容器创建的,因此只能在Web容器的环境中取得连接(获取连接的代码必需执行在Web容器下,如Servlet、Filter、JSP以及它们调用的类中取得连接)。而你直接使用这段代码:DataSource ds = (DataSource)con.lookup("java:comp/env/jdbc/mldn"); 其实该代码是在单独的一个进程执行的,与Web容器完全无关,也就取不到连接了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯