这里用JDK1.5和tomcat6.0 MYSQL5.02做为例子来讲解 首先配置JDK:(装JDK1.6)
JAVA_HOME:C:\Program Files\Java\jdk1.5.0_04
CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path:.;JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
然后安装tomcat6.0
第一部:在apache-tomcat-6.0.14\conf\context.xml中添加:用于配置JNDI的名字
************************************************
type="javax.sql.DataSource" username="feng" password="feng1"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.1.88:3306/test"
maxActive="8" maxIdle="4"/>
这部说明下,我们需要把mysql JDBC的链接驱动加入你web项目web-inf/lib下面,另在mysql中
use 进入mysql 使用命令:
grant select,update,insert,delete on test.* to feng@192.168.1.88 identified by "feng1";
这是创建访问test数据库的用户,并赋予select,update,insert,delete 权限.
接下来:
use mysql;
select host,user from user;
能够看到在user表中已有刚才创建的feng用户。host字段表示登录的主机,其值能够用ip,也可用主机名,
将host字段的值改为%就表示在任何客户端机器上能以feng用户登录到mysql服务器,建议在研发时设为%。
update user set host = '%' where user = 'feng';
如果没有赋予远程登陆权限会报出:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory 异常,找了很久 才发现是这问题。。。
************************************************
第二部:在你的工程的WEB.xml中添加
************************************************
Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.
jdbc/EmployeeDB
javax.sql.DataSource
Container
***********************************************
第三部:将sqljdbc.jar包添加到apache-tomcat-6.0.14\lib的目录下!
测试代码:写一个JSP页面即可,然后启动tomcat服务,代码如下:
contentType="text/html; charset=GBK"%>
import="java.sql.*" %>
import="javax.naming.*" %>
import="javax.sql.DataSource" %>
JNDI测试
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/EmployeeDB");
conn = ds.getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from sysobjects");
while(rs.next()){
out.println(rs.getString(1) + "
");
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
分享到:
2008-03-02 19:00
浏览 7353
评论