使用工具: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. Thread线程初探

    using System; using System.Threading; class Example { static void Main() { TimeSpan interval = , , ) ...

  2. C#——中文转化成拼音

    在KS系统中用到了中文转化成拼音的功能.通过查阅资料为下面是代码. /// <summary> /// MyConvert 的摘要说明 /// </summary> publi ...

  3. mysql学习笔记之基础篇

    数据库学习之基础篇 ① 开放数据库互连(Open Database Connectivity,ODBC ② 结构化查询语言(Structured Query Language) ③ 进入mysql:M ...

  4. Eclipse中查看JDK类库的源代码

    在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 “window”-> "Preferences" -> "Java" -> & ...

  5. python之setattr,getattr,hasattr

    可以使用setattr(), getattr(), hasattr()动态对实例进行操作. 相当于Java中的反射机制, 或者更确切地, 像JavaScript中属性操作. 具体属性: __dict_ ...

  6. Serverless 架构:用服务代替服务器

    Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...

  7. Qt html 界面混合编程

    Qt部分 项目文件.pro Qt += webenginewidgets webchannel 创建WebEngineView #include <QtWebEngineWidgets> ...

  8. CentOS-6.5安装配置JDK-7和JDK-8

    安装说明 系统环境:centos-6.5 软件:jdk-7-linux-x64.rpm , jdk-8u5-linux-i586.tar.gz  下载地址:http://www.oracle.com/ ...

  9. C#在Winform中改变Textbox高度三种方法

    最近在做C# Winform项目,需要有一个能动态调整大小的Textbox,并且要是单行的.试了几次,单行模式的Textbox不能直接改高度.于是搜索了一下,整理出几个改变高度的方法. 1.将Text ...

  10. ffmpeg 错误码

    av_read_frame, av_write_frame等 经常会返回负值也即写数据包失败.不同的负值代表不同的含义,可以根据错误码定义,定位问题. #define EPERM 1 /* Opera ...