首页 > 代码库 > 在Tomcat中配置数据源
在Tomcat中配置数据源
使用工具:TOMCAT 7.0.52、IntelliJ IDEA 13.0.2、JSF 2.0+、SqlServer、jtds-1.2.5.jar
搞了好久都没成功,开始使用注解引入DataSource,可是一直不成功,后来使用lookup方式,写了一个本地主类(包含main方法)测试,也是不成功,艹,都快崩溃了,后来经过各种测试,终于搞定了,本地主类测试是无效的,必须通过web访问才能成功,真尼玛蛋疼。注解估计跟版本有关,没精力去弄了。
以下是配置步骤(相应的路径换成自己的):
1、把jtds-1.2.5.jar放到Tomcat目录里的lib目录下。如:D:\IntelliJ\tomcat7\lib
2、在D:\IntelliJ\tomcat7\conf目录里的context.xml文件里加上如下代码:
1 <Context>2 <WatchedResource>WEB-INF/web.xml</WatchedResource>3 <Resource name="jdbc/sqlserver" auth="Container" type="javax.sql.DataSource"4 driverClassName="net.sourceforge.jtds.jdbc.Driver"5 url="jdbc:jtds:sqlserver://localhost:1433/yourDatabaseName"6 username="username" password="password" maxActive="100" maxIdle="30"/>7 </Context>
3、在你项目里的web.xml文件里加入如下内容:
1 <!--配置数据源-->2 <resource-ref>3 <description>Sqlserver Datasource</description>4 <res-ref-name>jdbc/sqlserver</res-ref-name>5 <res-type>javax.sql.DataSource</res-type>6 <res-auth>Container</res-auth>7 </resource-ref>
4、在你的代码里引用数据源:
1 private DataSource ds; 2 3 public LoginBean() { 4 5 try { 6 // 初始化查找命名空间 7 Context ctx = new InitialContext(); 8 ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver") ; 9 } catch (NamingException e) {10 System.out.println("使用lookup找不到数据源.");11 e.printStackTrace();12 }13 14 }
5、测试test.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %><%@ page import="java.sql.*"%><%@ page import="javax.sql.*"%><%@ page import="javax.naming.*"%><%! final String JNDINAME = "java:comp/env/jdbc/sqlserver" ;%><% Connection conn = null ; try { // 初始化查找命名空间 Context ctx = new InitialContext() ; // 找到DataSource DataSource ds = (DataSource)ctx.lookup(JNDINAME) ; conn = ds.getConnection() ; String sql="select passwd,logincount from credential where username=?"; PreparedStatement pwdQuery=conn.prepareStatement(sql); pwdQuery.setString(1,"admin"); ResultSet result= pwdQuery.executeQuery(); if(!result.next()){ return; } System.out.println(result.getString("passwd")) ; } catch(Exception e) { System.out.println(e) ; }%><%=conn%><% // 将连接重新放回到池中 conn.close() ;%>
只要能输出数据库的连接信息就没问题了。
如果注解不能使用,就不要纠结了,换种方式。
在Tomcat中配置数据源
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。