1.正确配置sqlserver的JDBC驱动,本人使用sqlserver driver for jdbc SP3 , 拷贝文件 mssqlserver.jar , msutil.jar,msbase.jar 至文件夹 tomcat_home/ lib 后者 默认网站名/web-inf / lib 下,二者均可使用。
2. MS SQL server 的配置 (1)SQLserver远程安装必须成功安装(本人用SQLserver2000开发版,远程应用配置过程前文有述) (2)配置contex.xml + web.xml 在tomcat默认安装目录下查找tomcat_Home/conf/context.xml文件,注意tomcat_Home/conf/server.xml 此文件不用修改,只修改tomcat_Home/conf/context.xml 和 默认website名称/web-inf/web.xml 两个文件即可) A-修改contex.xml 在<Context> </Context>之间添加资源: <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="sa" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs" />
B-修改 web-inf/web.xml 在<web-app></web-app>之间添加引用: <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
添加完毕,写一index。jsp进行测试SQLSERVER的JNDI 设置是否正确。(另外,我的JDK版本为1.6)
3. 测试JNDI所用的index.jsp的编写(仅做测试,所以Java代码写在jsp页面中,不推荐此方法) index.jsp ___Programe: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="javax.naming.*"%> <HTML> <HEAD> <TITLE>JSP测试页面</TITLE> </HEAD> <BODY> <%out.println("<h1>Hello,test JNDI ! </h1>");%> <% Context ctx = new InitialContext(); Context envctx = (Context) ctx.lookup("java:comp/env"); DataSource ds = (DataSource) envctx.lookup("jdbc/TestDB"); Connection conn=ds.getConnection(); Statement st=conn.createStatement(); String sql="select * from jobs"; ResultSet rs=st.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <br> <%}%> <%out.print("使用jdbc驱动操作数据库操作成功,恭喜你");%> <%rs.close(); st.close(); conn.close(); %> </BODY> </HTML>
若页面正常显示,则说明配置正确!
4. Tomcat 6.0 官方文档 http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html |