lovechenxue 发表于 2013-1-25 22:20:44

JSTL使用<sql:setDataSource>时的问题,老是提示找不到合适的驱动

今天在使用JSTL标签查询数据库时一翻风顺,心里高兴着呢.想着以后再也不用在页面上写那些什么ResultSet,getString什么的了,程序写好后在Tomcat下面测试顺利通过.但是移植到WSAD上后,老是提示找不到合适的驱动,我把DB2的驱动放到class_path,甚至扔到JRE的包目录下,提示错误还是死活不改,搞了半天搞不出来,想死的心都有了,晚上又想解决办法,觉得应该是实现类本身就有问题,想到既然实现类本身有问题,我何不自己生成一个DataSource放到attribut中.结果完美解决了这个问题
<sql:setDataSource>
 
部份源码
<%@ page import="java.sql.*, javax.sql.DataSource, javax.naming.InitialContext" %>
<%
Context JNDI_Context = new InitialContext();
//JNDI查找数据源
DataSource dataSource = (DataSource) JNDI_Context.lookup("jdbc/DB2_EDW");
%>
<c:set var="dataSource " value="<%=dataSource %>" scope="application"/>
这里要注意.其实没必要写上dataSource .getConnection();我查看了源代码,这一步操作是在<sql:query>标签中实现的.
 
学习呀,要知其然,还要知其所以然,java学习之其所以然,研究源码就是一个很好的方法!我将会继续对JSTL标签的实现进行研究.Hot pursuit,Go,Go,go~
页: [1]
查看完整版本: JSTL使用<sql:setDataSource>时的问题,老是提示找不到合适的驱动