使用工具: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文件里加上如下代码:

 <Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/sqlserver" auth="Container" type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433/yourDatabaseName"
username="username" password="password" maxActive="100" maxIdle="30"/>
</Context>

3、在你项目里的web.xml文件里加入如下内容:

     <!--配置数据源-->
<resource-ref>
<description>Sqlserver Datasource</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

4、在你的代码里引用数据源:

     private DataSource ds;

     public LoginBean() {

         try {
// 初始化查找命名空间
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver") ;
} catch (NamingException e) {
System.out.println("使用lookup找不到数据源.");
e.printStackTrace();
} }

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中配置数据源的更多相关文章

  1. 在Tomcat中配置连接池和数据源

    1.DataSource接口介绍 (1)DataSource 概述 JDBC1.0原来是用DriverManager类来产生一个对数据源的连接.JDBC2.0用一种替代的方法,使用DataSource ...

  2. Spring MVC 使用tomcat中配置的数据源

    Spring MVC 使用tomcat中配置的数据源 配置tomcat数据源 打开tomcat目录下的conf目录,编辑sever.xml目录.在<GlobalNamingResources&g ...

  3. JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作

    1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...

  4. tomcat中配置servlet.xml的JNDI或JDBC连接数据库【原】

    tomcat中配置servlet.xml的JNDI或JDBC连接数据库 一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\se ...

  5. Tomcat中配置MySQL数据库连接池

    Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...

  6. spring中配置数据源

    spring中配置数据源的几种常见方式: #mysql 数据库配置(jdbc.properties) jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.u ...

  7. tomcat中配置jndi数据库源

    tomcat添加依赖 lib目录下添加依赖mysql-connector-java-8.0.16 配置数据源 介绍两种方法:tomcat中配置或web应用中配置 tomcat/conf/context ...

  8. 在tomcat中配置jdk的不同版本

    在tomcat中配置jdk的不同版本---------------------------------------------------------------------------------- ...

  9. [转载]JavaEE学习篇之——网络传输数据中的密码学知识以及Tomcat中配置数字证书EE

    原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/21716557 今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一 ...

随机推荐

  1. cadence原理图绘制方法

    仅记录了绘制好原理图后的一些处理: 1 重写编写元件编号 1)Tool -> Annotate   在Packing选项卡中 的Action  选中 Reset part references ...

  2. Javascript Array.prototype.some()

    当我们使用数组时,查找数组中包含某个特殊的项是非常常见的动作.下面例子是一个简单的实现: 01 planets = [ 02     "mercury", 03     " ...

  3. 【Go】 格式处理

    格式化字符串 在golang里面获取时间戳并不难.只要加载time包.time.Now().Unix() fmt.Sprintf("%d",int64),自此,go语言的int转换 ...

  4. 网络笔记01-2 scoket

    scoket: 1.socket /** 第一个参数(domain): 表示用什么协议 AF_INET 为IPV4开发 第二个参数(type): 表示scoket为什么类型SOCK_STREAM为TC ...

  5. Feature Stapling in SharePoint 2010

    http://msdn.microsoft.com/en-us/library/bb861862(v=office.12).aspx http://gallery.technet.microsoft. ...

  6. 环信ipv6适配

    环信2.2.5及之后版本才适配了ipv6.可以自己搭配个ipv6环境,在ipv6环境下2.2.5以下版本无法登录.把整个sdk换成2.2.5版本项目需要改动的地方实在太多. 那么就部分换一下,适配ip ...

  7. 对于Oracle中分页排序查询语句执行效率的比较分析

    转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...

  8. SQL获取数据库名,表名,列名,说明等信息

    由于最近工作涉及SQL语句较多,对一些不常见的SQL函数.及存储过程下面进行整理和描述,供大家分享: /************************************************ ...

  9. 模仿开发H5游戏,看你有多色

    开发记录 前言 之前跟着慕课网学习开发H5小游戏开心鱼,勾起我的兴趣. 在写代码的过程中,不怎么会遇到问题.虽然代码是亲手敲出来的,但是由于并没有对游戏的整体思路,所以并不知道开发与优化的过程. 为了 ...

  10. poj 3625 Building Roads(最小生成树,二维坐标,基础)

    题目 //最小生成树,只是变成二维的了 #define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<stdio.h> ...