2006年8月24日
#
摘要: 使用Apache的mod_authn_dbd和PostgreSQL实施HTTP Basic登录认证,同时做了到Tomcat的转发。这样,所有对Apache Http Server的请求都会转发给Tomcat,而Apache Http Server就作为一个前端认证的服务器使用。另外,在Tomcat的JSP中,使用request.getRemoteUser还可以取到登录的用户名。
阅读全文
摘要: 可以使用C标准库(Windows-Based & Unix-Based两方)的time函数取得精度为秒的时间,在Unix-Based系统中,使用gettimeofday函数取得更小精度的时间。
阅读全文
摘要: 最近尝试在Windows环境下安装了Hadoop,遇到一些困难,在此记录一下以备忘。
阅读全文
摘要: 美国国家标准及技术研究所信息技术实验室对云计算(Cloud Computing)的定义。
阅读全文
摘要: 本文章主要讨论了在Java web系统中乱码产生的内在原理, 是认识和解决乱码问题的基础. 如果您对乱码问题还没有一个清晰的概念, 请尝试阅读本文. 另外, 本文也讨论了最近流行的Ajax技术中的乱码问题, 如果您在使用Ajax技术中遇到了乱码, 本文对您也有一定的参考价值.
阅读全文
摘要: 新下载的插件PlugIn一定不要都放在原始的Eclipse目录下去,一大堆,累死你:(
阅读全文
摘要: 比较当前几种流行的开发语言的薪资水平
阅读全文
摘要: 测试并行程序尤其困难。这是因为并行测试程序本身就是并行程序,这种程序即难写而且比顺序执行程序更容易发生不确定的问题。
在这篇文章中将讨论一些关于测试并行类的话题,提供一些构建并行程序的技术,这些技术使并行程序更容易被测试。
阅读全文
摘要: 本方法适用于Oracle9i, 10g以及XE. 在10.2.0.1.0下测试无错. 需要注意的是, 使用此方法会破坏数据库中的原有双字节字符. 一种办法是先将数据库导出, 修改完字符集后再导入; 另一种办法就是不管他, 就那样使用. 一般如果是一个测试环境, 像方法二那样就可以了, 但是可能某些表无法读取, 需要注意.
阅读全文
摘要: 最近有一个需要支持unicode的项目在上传和下载文件时遇到文件名乱码问题. 项目背景, 这个项目关键之处在于需要支持unicode以及支持Micorosoft Internet Explorer和Netscape Navigator两种浏览器. 为了解决这个问题, 我对IE, NC另外加上Firefox进行上传和下载的文件名编码的测试.
阅读全文
摘要: Tom Ball, Sun Microsystems公司的技术主管说如何写出更好的代码.
阅读全文
BEA公司为weblogic server准备了petstore for weblogic供开发者安装, 因为最近测试Hyperic-HQ, 所以进行了petstore for weblogic的安装.
首先, 需要下载Sun的petstore和在bea.com下载petstore for weblogic. 对应weblogic 8.1服务器的petstore版本是1.3.2.
下载后, 按照下载包中的readme.txt文件的提示一步一步安装, 没有什么问题, readme上说得非常清楚. 但是到Step1的第12步和Step2的第7步却无法启动weblogic服务器. 现象为, 启动后抛出如下异常.
<2006/09/06 9時13分08秒 CST> <Critical> <WebLogicServer> <BEA-000364> <Server failed during initialization. Exception:weblogic.security.spi.ProviderInitializationException: [Security:090314]Entitlement Engine unable to connect to the embedded LDAP server
netscape.ldap.LDAPException: error result (50)
weblogic.security.spi.ProviderInitializationException: [Security:090314]Entitlement Engine unable to connect to the embedded LDAP server
netscape.ldap.LDAPException: error result (50)
at weblogic.security.providers.authorization.DefaultAuthorizationUtils.getEngine(DefaultAuthorizationUtils.java:130)
at weblogic.security.providers.authorization.DefaultRoleMapperProviderImpl.initialize(DefaultRoleMapperProviderImpl.java:104)
at weblogic.security.service.SecurityServiceManagerDelegateImpl.createSecurityProvider(SecurityServiceManagerDelegateImpl.java:242)
at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:957)
at weblogic.security.service.RoleManager.initialize(RoleManager.java:152)
at weblogic.security.service.RoleManager.<init>(RoleManager.java:98)
at weblogic.security.service.SecurityServiceManagerDelegateImpl.doRole(SecurityServiceManagerDelegateImpl.java:513)
at weblogic.security.service.SecurityServiceManagerDelegateImpl.initializeRealm(SecurityServiceManagerDelegateImpl.java:409)
at weblogic.security.service.SecurityServiceManagerDelegateImpl.loadRealm(SecurityServiceManagerDelegateImpl.java:700)
at weblogic.security.service.SecurityServiceManagerDelegateImpl.initializeRealms(SecurityServiceManagerDelegateImpl.java:733)
at weblogic.security.service.SecurityServiceManagerDelegateImpl.initialize(SecurityServiceManagerDelegateImpl.java:876)
at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:734)
at weblogic.t3.srvr.T3Srvr.initializeHere(T3Srvr.java:822)
这个问题的原因是petstore模板中的Critical密钥已经过期.
解决办法是找到weblogic的配置文件config.xml.
修改其中的如下这行
<EmbeddedLDAP Name="petstore" Credential="{3DES}78P9aVGmaIE="/>将其中的Credential属性删除即可. 再启动weblogic的时候, 服务器会重新自动生成一个Credential.
这个问题在petstore for weblogic的readme中并没有提到. 因此不少同志在安装的时候遇到这个问题. 在此进行一下memo, 以飨后来人.
摘要: 在Weblogic 8.1上, 我们通过JDBC log得到的Connection Pool的信息非常有限, 那么如何能更多的得到数据库连接的信息呢? 我们在网上发现了一个开源工具Hyperic-HQ协助我们很好地解决了这次问题.
阅读全文
摘要: 在 Sheryl Calish 撰写的“Linux 文件命令精通指南”这篇出色的文章中,您学习到了一些对于 Linux 新手尤为重要的常用 Linux 命令。既然您现在已经掌握了基础知识,下面我们将介绍一些更为复杂但却非常有用的命令。
阅读全文
摘要: 为刚接触 Linux 文件命令的初学者提供的速成教程
阅读全文
摘要: 一、简介
MTS(Multi-Threaded Server)是ORACLE SERVER的一个可选的配置选择,是相对DEDICATE方式而言,它最大的优点是在以不用增加物理资源(内存)的前提下支持更多的并发的连接。换句话说,如果你只有2G的物理内存,而你又想支持2000个连接,在获取最好性能的前提下,你就应该选择MTS了。
本文先说一说MTS的工作方式,然后与DEDICATE...
阅读全文
摘要: 最近有一个项目需要支持SSL的JavaMail收发邮件. 经过一些调查, 把使用SSL的JavaMail方法总结如下.
阅读全文
摘要: 作者:Andrei Cioroianu
了解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据。
2006 年 6 月发表
Ajax 核心 API(即所谓的 XMLHttpRequest)的唯一用途就是发送 HTTP 请求,在 Web 浏览器与服务器之间进行数据交换。...
阅读全文
一、范型(generic)的支持
支持generic的tiger属于较1.4及以前最大的变化之一。由于支持范型,所以以前的诸多集合类(譬如,list和map)的接口都做了比较大的变化。而Java developer们从理论上说则可以摆脱使用括号的强制转型;使用类型安全(type-safe)的各种集合类,甚至可以写自己的支持范型的类。
二、枚举(enumerated)类型的支持新加入了enum关键字,使Java developer们可以创建一种新的类型——枚举类型。并且,枚举类型支持switch分支以及行内(inline)的创建。和范型配合使用,我们可以创建枚举类型的map或者set。
三、Autoboxing和Unboxing的支持现在tiger可以自动的把primitive type变成与之对应的object类型。Java developer们再也不用使用诸如intValue()或者new Integer()这样的方法来把一个整型的变量变来变去了。
四、可变长参数(vararg)的支持
以前函数参数中带有“...”一直是C++ fans的专利,现在Java developer们也可以享受到其带来的好处。
五、Annotation的支持
这是tiger带给我们的又一伟大的功能。Java developer们现在可以撰写自己的annotation(当然,tiger自身带有annotation,一些先进的框架framework也用到annotation)来给class、method甚至package添加额外信息,这就昭示着可能单体(unit)试验会更加轻松并且那些习惯xdoclet的同学终于可以抛弃它了。
六、for/in语句的支持
这个特性使Java developer们的代码更小以及更酷。并且避免了不必要的类型转换。
七、静态import的支持
这个特性最主要的用途我想就是使Java developer们的代码更酷了。如果搭配枚举类型,以及printf功能可能让你写出类似的C风格的代码。
八、线程方面的改进在线程方面有各种各样的改进,最主要的有三个,添加了Excutor对象,从此Java developer们可以把线程作为一个task执行,另外,由此,线程的写法也有了彻底的改变;第二,添加了高等synchronizing的支持以及locking地加入;最后,就是原子(atomic)类型的加入。
九、其他
除了以上的主要改进以外,还有一些比较重要的修改和增强。譬如说,加入了printf方法,现在Java也拥有了C语言的经典函数;在Array中加入了大量的静态方法用来操作数组和集合;加入了Queue这种数据类型和Comparator这样一个排序接口;以及用一个StringBuilder这个类使得可以更好的处理Unicode。