吉日的HANDBOOK
===========================================================
===========================================================

前提是把需要的msutil.jar mssqlserver.jar msbase.jar mssqlserver4v65.jar 放到tomcat/common/lib下

如果需要点这里下载

终于解决了困扰多天的连接池的问题,写下这编文章与大家一起分享。我是在tomcat5.5.9下配置的,tomcat5.5.X和以前的版本有一些差别,所以配置上也有差别。我就说一下在tomcat5.5.9配置的基本步骤:(确定你以安装好tomcat5.5.9、sql2000)
  
  1、把数据库JDBC驱动拷贝到%TOMCAT_HOME%/common/lib和%TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib下(我的web文件夹名字叫quickstart)
  

  这一步大家都知道,不然tomcat无法与数据库连接。
  
  2、修改%TOMCAT_HOME%/conf/server.xml文件,在 <GlobalNamingResources></GlobalNamingResources>之间
  

  添加以下内容:
  <Resource
  name="jdbc/quickstart"
  type="javax.sql.DataSource"
  password="123456"
  driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  maxIdle="2"
  maxWait="5000"
  username="sa"
  url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"   maxActive="4"/>
  
  以上内容根据大家的具体情况进行相应修改,比如:把name="jdbc/quickstart"中的quickstart改成和你web文件夹名称一样,把password="123456"中的“123456”改成你数据库的密码。
  
  3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是quickstart.xml)
  

  这一步非常重要,如果没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
  
  这样的错误,在文件中加入第2步的内容,如下:
  
  <?xml version="1.0" encoding="UTF-8"?><Context>
  <Resource
  name="jdbc/quickstart"
  type="javax.sql.DataSource"
  password="123456"
  driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  maxIdle="2"
  maxWait="5000"
  username="sa"
  url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
  maxActive="4"/> </Context>
  
  根据个人具体情况进行相应修改。
  
  4、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下内容
  

  <resource-ref>
  <description>sqlserverDB Connection</description>
  <res-ref-name>jdbc/quickstart</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>
  
  把<res-ref-name>jdbc/quickstart</res-ref-name>中的quickstart改成你的web文件夹名称。
  
  5、测试,在quickstart下新建一个index.jsp文件
  

  <%@ page contentType="text/html; charset=gb2312" %><%@ page import="javax.naming.*" %><%@ page import="javax.sql.*" %><%@ page import="java.sql.*" %><html><head><title>JDBC Test</title></head><body><%
  Connection conn=null;
  Statement stmt=null;
  ResultSet rs=null;
  ResultSetMetaData md=null;
  try
  {
  Context initCtx=new InitialContext();
  DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/quickstart");
  if(ds!=null)
  {
  out.println("已经获得DataSource");
  out.println(ds.toString());
  conn=ds.getConnection();
  stmt=conn.createStatement();
  out.println("aa");
  rs=stmt.executeQuery("select * from cat");
  md=rs.getMetaData();
  out.println("<table border=1>");
  out.println("<tr>");
  for(int i=0;i<md.getColumnCount();i++)
  {
  out.println("<td>"+md.getColumnName(i+1)+"</td>");
  }
  while(rs.next())
  {
  out.println("<tr>");
  out.println("<td>"+rs.getString(1)+"</td>");
  out.println("<td>"+rs.getString(2)+"</td>");
  out.println("<td>"+rs.getString(3)+"</td>");
  out.println("<td>"+rs.getString(4)+"</td>");
  out.println("</tr>");
  }
  out.println("</table>");
  conn.close();
  }
  }
  catch(Exception e)
  {
  out.println(e.toString());
  System.out.println(e.toString());
  }%></body></html>
  
  运行tomcat服务器,在浏览器中输入http://localhost:8080/quickstart/index.jsp看看成功了没有。


okone96 发表于:2006.12.05 13:12 ::分类: ( 中间件 ) ::阅读:(438次) :: 评论 (0)
===========================================================
===========================================================
2 Php如何操作LDAP
2.1 Php如何与LDAP连接和关闭
$ds=ldap_connect("ServerName")
ServerName是LDAP的服务器名,

例:
$ds=ldap_connect(“10.31.172.30:1000”)
返回值是:true 或 false

关闭连接
ldap_close($ds);

2.2 在php中如何搜索用户信息

$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
$justthese = array("cn","userpassword",”location”);
//搜索函数中的一个参数,要求返回哪些信息,
//以上传回cn,userpassword,location,这些都要求小写
$sr=ldap_search($ds,"o=jite", "cn=dom*",$justthese);
//第一个参数开启LDAP的代号
//第二个参数最基本的 dn 条件值 , 例:”o=jite,c=cn”
//第三个参数 filter 为布林条件,它的语法可以在 Netscape 站上找一份 dirsdkpg.pdf 档案.
// ’o’为组织名,’cn’ 为用户名,用户名可用通配符 ’*’
echo "domadmin姓氏有".ldap_count_entries($ds,$sr)." 个<p>";
//ldap_count_entries($ds,$sr)传回记录总数

$info = ldap_get_entries($ds, $sr);
//LDAP的全部传回资料
echo "资料传回 ".$info["count"]."笔:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn为:". $info[$i]["dn"] ."<br>";
echo "cn为:". $info[$i]["cn"][0] ."<br>"; //显示用户名
echo "email为:". $info[$i]["mail"][0] ."<p>"; //显示mail
echo "email为:". $info[$i][“userpassword"][0] ."<p>"; //显示加密后的密码
}
2.3 添加用户
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
$r=ldap_bind($ds,"cn=domadmin,o=jite","password");
//系住一个管理员,有写的权限
// cn=domadmin,o=jite顺序不能变
$info["cn"]="aaa"; //必填
$info["userpassword"]="aaa";
$info["location"]="shanghai";
$info["objectclass"] = "person"; //必填person为个人,还有server…
ldap_add($ds, "cn=".$info["cn"].",o=jite", $info);
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.4 删除用户
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
ldap_bind($ds,"cn=domadmin,o=jite","password");
//绑定管理员,有删除的权限
$dn="cn=dingxf,o=jite";
ldap_delete($ds, $dn);
//删除用户
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.5 修改用户资料
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
ldap_bind($ds,"cn=domadmin,o=jite","password");
//绑定管理员,有修改的权限
$dn="cn=dingxf,o=jite";
//用户dn
$info["userpassword"]="aaa"; //要修改的信息,放在数组变量中
$info["location"]="shanghaisdaf";

ldap_modify($ds, $dn , $info);
//修改函数
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接
2.6 用户登录验证
$ds=ldap_connect("10.31.172.30:1000");
//首先连接上服务器
if (ldap_bind($ds,"cn=dingxf,o=jite","dingxf")){
echo "验证通过";
}else{
echo "验证不通过";
}
ldap_unbind($ds);
//取消绑定
ldap_close($ds);
//关闭连接




注:此方法比较简单,实用,它也有不足之处,如果不通过,ldap_bind()提示它自带的提示语:”Warning: LDAP: Unable to bind to server: Inappropriate authentication in /home/htdocs/jldl.net/ldap/test.php3 on line 16”

okone96 发表于:2006.11.21 15:42 ::分类: ( 中间件 ) ::阅读:(308次) :: 评论 (0)
===========================================================
===========================================================

http://support.microsoft.com/kb/218185/

Microsoft Windows 2000 Active Directory 使用 Internet 标准的轻量级目录访问协议 (LDAP) 来访问信息。在响应各种 LDAP 请求时,域控制器会返回包含域 LDAP 错误代码的响应,这些错误代码指示协议操作的状态。本文将介绍这些错误代码。

 查看全文
okone96 发表于:2006.11.20 16:38 ::分类: ( 中间件 ) ::阅读:(1068次) :: 评论 (0)
===========================================================
===========================================================
LDAP (Lightweight Directory Access Protocol) 是一种轻量的目录存取协议,提供客户从各个角落连接到目录服务器中。在 RFC 1777 及 RFC 1778 中对 LDAP 有较深入的描述,亦可参考 Netscape 站上有关 LDAP 方面的资料。

在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接着是部门 (organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名 (distinguished name, 简称 dn),dn 可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。

 查看全文
okone96 发表于:2006.11.17 16:02 ::分类: ( 中间件 ) ::阅读:(254次) :: 评论 (0)
===========================================================
===========================================================

http://thesauruswebsite.com/tass/3690.html

LDAP是什么 LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中 的地址本使用,不过根据组织者的需要,它可以做得更加强大。 LDAP最基本的形式是一个 连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。

 查看全文
okone96 发表于:2006.11.17 11:38 ::分类: ( 中间件 ) ::阅读:(1059次) :: 评论 (0)
===========================================================
===========================================================
什么是path

是你的JDK的工作路径

例如 你的jdk安装在C:/jdk/ 此时的你的path(如果原来没有PATH)设置为 PATH ;C:/jdk/ bin

什么是Classpath

Classpath是Java中的重要概念,它描述了Java虚拟机在运行一个Class时在哪些路径中加载要运行的类以及运行的类要用到的类。简单的说,当一个程序找不到他所需的其他类文件时,系统会自动到CLASSPATH环境变量所指明的路径中去查找第三方提供的类和用户定义的类,
 查看全文
okone96 发表于:2006.10.19 09:42 ::分类: ( 中间件 ) ::阅读:(285次) :: 评论 (0)
===========================================================
===========================================================

对很多初学者来说tomact的配置是非常头疼的事情,但是有了下面的文章你会易如反掌地配置tomcat了,赶快行动吧!

 查看全文
okone96 发表于:2006.08.04 14:41 ::分类: ( 中间件 ) ::阅读:(1125次) :: 评论 (1)
自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...