使用工具: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() ;
%>

只要能输出数据库的连接信息就没问题了。

如果注解不能使用,就不要纠结了,换种方式。

最新文章

  1. 本图片处理类功能非常之强大可以实现几乎所有WEB开发中对图像的处理功能都集成了,包括有缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等功能
  2. IOS 导航栏属性设置
  3. 向post请求中写入数据,最终保存在了HttpWebRequest.Params中
  4. html之ol标签
  5. O-C相关06:self和super关键字介绍——self关键字
  6. CSS3 Flexbox布局那些事
  7. MVC几个系统常用的Filter过滤器
  8. Sping Boot入门到实战之入门篇(三):Spring Boot属性配置
  9. 干货,一文带你超详细了解 Filter 的原理及应用
  10. UE导航系统详
  11. XMind思维导图使用笔记
  12. 第九节 JS运动应用
  13. LabVIEW(十六):多列列表框控件
  14. Eclipse集成Gradle 【Eclipse在线安装Gradle插件方法】
  15. 对以内部 git 仓库为 composer 依赖的 package,加上版本号
  16. hexo d 报错‘fatal: could not read Username for &#39;https://github.com&#39;: No error’
  17. 2018.08.12 bzoj5301: [Cqoi2018]异或序列(前缀和+莫队)
  18. IntelliJ IDEA 2017版 编译器使用学习笔记(三) (图文详尽版);IDE快捷键使用
  19. 关于EF中使用Migrations的一些小提示
  20. [转]数据库中Schema(模式)概念的理解

热门文章

  1. 1094. The Largest Generation (25)
  2. 安装percona-toolkit提示的报错
  3. 微软职位内部推荐-SDE2 (Windows - Audio)
  4. C#调用PowerShell的经历
  5. apache-tomcat-9安装以及与eclipse结合
  6. 第一个Nodejs程序
  7. 好项目烂架构的问题,四年coder的吐槽
  8. 《C++Primer》复习——with C++11 [2]
  9. 【BZOJ】【1877】【SDOI2009】晨跑
  10. could not open XXX permission denied