使用工具: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. .Net码农学Android---系统架构和基本概念

    至此,你应该已经完成以下前期准备事情: 1.安装完JDK 2.安装完SDK(并在Manager中进行相关版本的更新) 3.相关IDE(如eclipse) 4.安装完ADT 5.安装完AVD(如果你是真 ...

  2. c语言编程之队列(链表实现)

    用链表实现了队列,完成了队列的入队和出队功能. #include"stdio.h" typedef int element; typedef struct Node{ struct ...

  3. 如何利用OpenCV自带的级联分类器训练程序训练分类器

    介绍 使用级联分类器工作包括两个阶段:训练和检测. 检测部分在OpenCVobjdetect 模块的文档中有介绍,在那个文档中给出了一些级联分类器的基本介绍.当前的指南描述了如何训练分类器:准备训练数 ...

  4. JAVA SSH 框架介绍

    SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架. Struts Struts是一个基于Sun J2EE平台的MVC框架, ...

  5. 交互式shell和非交互式shell、登录shell和非登录shell的区别

    交互式shell和非交互式shell.登录shell和非登录shell的区别.首先,这是两个不同的维度来划分的,一个是是否交互式,另一个是是否登录. 交互式shell和非交互式shell(intera ...

  6. CROSSTOOL-NG建立交叉编译工具链

    CROSSTOOL-NG建立交叉编译工具链 因为考试和学习的原因我已经一段时间没有玩我的JZ2440,现在终于考完试了,我再次找出了我的JZ2440.我之前学习的时候使用的是韦东山老师提供的开发工具, ...

  7. Ext学习-HelloWorld以及基础环境搭建

    1.目的    在eclipse中搭建EXTJS的基础环境,学习如何按照从官方下载的代码中搭建新的Extjs工程 2.主要包含内容:   1.ExtJS文件下载以及目录说明   2.ExtJS开发环境 ...

  8. [设计模式] 21 策略模式 Strategy

    在GOF的<设计模式:可复用面向对象软件的基础>一书中对策略模式是这样说的:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.该模式使得算法可独立于使用它的客户而变化. 策略模 ...

  9. iOS开发 .framework的Optional(弱引用)和Required(强引用)区别

    首先,参考文档:https://blog.stackmob.com/2013/03/objective-c-tip-of-the-month-optional-frameworks/ 强引用(Requ ...

  10. OneAPM 技术公开课第二讲:开启性能为王的架构时代

    「OneAPM 技术公开课」由应用性能管理第一品牌 OneAPM 发起,内容面向 IT 开发和运维人员.云集技术牛人.知名架构师.实践专家共同探讨技术热点.继北京站第一场火爆上演之后,第二场将于9月1 ...