在Myeclipse连接Oracle中,我的JDBC驱动(Oracle自带的classes12.jar)添加上了。可是··
public class BatchJDBC {
public final static String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public final static String DBURL = "jdbc:oracle:thin:@localhost:1521:TANKUNOR";
public final static String DBUSER = "scott";
public final static String DBPASSWORD = "tiger";
public static void main(String args[]) throws Exception {
Connection conn = null;// 数据库的连接对象
Class.forName(DBDRIVER);// 使用class类加载驱动程序
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);中对数据库增删改查是成功的。
可是我在Servlet(如下)中连接却说java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriverpublic class AddMessageServlet extends HttpServlet {
public final static String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public final static String DBURL = "jdbc:oracle:thin:@localhost:1521:TANKUNOR";
public final static String DBUSER = "scott";// 数据库用户名
public final static String DBPASSWORD = "tiger";// 密码
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
却是失败的,这是为什么呢,同样的连接,只是一个是纯java一个是Servlet。希望高手指教,初学者很混沌···感谢!
public class BatchJDBC {
public final static String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public final static String DBURL = "jdbc:oracle:thin:@localhost:1521:TANKUNOR";
public final static String DBUSER = "scott";
public final static String DBPASSWORD = "tiger";
public static void main(String args[]) throws Exception {
Connection conn = null;// 数据库的连接对象
Class.forName(DBDRIVER);// 使用class类加载驱动程序
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);中对数据库增删改查是成功的。
可是我在Servlet(如下)中连接却说java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriverpublic class AddMessageServlet extends HttpServlet {
public final static String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public final static String DBURL = "jdbc:oracle:thin:@localhost:1521:TANKUNOR";
public final static String DBUSER = "scott";// 数据库用户名
public final static String DBPASSWORD = "tiger";// 密码
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
却是失败的,这是为什么呢,同样的连接,只是一个是纯java一个是Servlet。希望高手指教,初学者很混沌···感谢!
解决方案 »
- 请高手帮忙看看,404错误
- 请问 javax.naming 下的 directory 与 ldap 有什么区别啊?谢谢。
- struts2+spring整合登录问题
- hibernate取得数据库连接的问题,希望高手进来
- Hibernate3.2 定义PO的问题
- 关于ehcache 磁盘缓存问题。
- 在公司做的很郁闷
- jsp写入xml问题
- EJB与SSH是什么关系啊?
- 求问Eclispe的两个问题,谢谢啊
- 求助基于java的GIS开发环境搭建
- SSH整合时抛出异常:java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IIL
驱动是同一个驱动,上面那个就是成功的,下面那个Servlet的就是失败的,更换了也是一样的效果。
感谢大家的关注,谢谢的。嘿嘿
因为main 方法执行的时候, Class.forName(DBDRIVER); 驱动被加载了,所以OK但是在servlet中。这个要说下servlet的生命周期了。你看一下web.xml 中是否配置了该servlet。然后找到<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>当web容器启动的时候,servlet才会init。生命周期才开始!你的web项目,配置了tomcat或是其他服务器了嘛,服务启动了嘛?如果没有当然调不掉!因为你的servlet生命周期还没有开始