12 2007 档案
摘要:CZTZ-JavaEE Web开发基础平台系列培训(一)数据库设计规范题外话:一个优秀的程序员和架构师,不应该只是一个学习机器,同样要有创造性思维和开阔的技术视野,独到的技术视角和哲学性思维。一、前言CZTZ-JavaEE Web开发平台包括基础开发平台、产品线开发平台、行业基础平台三部分组成。目前正在进行基础平台的开发工作,并在筹建产品线开发平台项目组。CZTZ-JavaEE Web开发平台的运作方式是基础平台由核心平台项目组研发,可以在此平台上集成第三方应用软件供应商的产品,在营销环节可作为统一的品牌进行市场推广,利润分配本着互惠互利,共同发展的原则,共同拓展庞大的中国应用软件市场。CZT
阅读全文
摘要:第二人生的基功能可以定义为网络游戏、社交网络和Web2.0。作为网络游戏,它可以让人扮演角色,也就是第二人生里的居民。居民只要买到地,或者租到地后就可以建造各种各样的自己想得到的东西。比如建造游乐园,或者建造电影院,又或者建造过山车。同时,还可以实现居民在虚拟世界里飞行。作为社交网络,第二人生里的居民可以相互结交朋友,随时可以聊天。还可以组成各种各样的组织,比如举行音乐会,可以一起跳舞交朋友等等。作为Web2.0的功能,就是实时地交互的功能,包括媒体播放,实时语音聊天,视频聊天等等。为了实现上面的功能,第二人生的架构是由服务器和客户端的来实现,服务器提供了保存人物对象,聊天,还不断地发送每个地
阅读全文
摘要:网上有很多资料介绍如何集成CAS单点登录产品。由于集成CAS需要预先在tomcat中配置SSL,而且还要在客户端导入证书,但是许多人按照网上介绍的操作操作却发现以下问题:尽管配置了SSL后可以访问https://localhost:8443,也能登录https://localhost:8443/cas/login,但是在地址栏输入自己的Web应用的连接,自动跳到Cas登录页面,登录成功后并没有跳回到受保护页面,而是报下面的异常:<javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated>javax.net.ss
阅读全文
摘要:第二人生是一款3D为界面的虚拟世界产品,下面先来感受一下这个界面带来巨大的真实性:通过个画面,可以看到太阳,树,人,椅是那么的逼真,这些都是通过3D技术实时显示出来的,因此对电脑的硬件需求比较高,特别对显示卡的需求更高,同时对网络的带宽也要求比较高,不过,随着技术的发展,已经具备这样的条件了。现在最流行的配置,比如3000元左右的电脑,就已经显示得不错了。在第二人生这个虚拟世界里,强调的就是跟现实世界差不多,但比现实的东西更多一些梦想。比如在这个虚拟世界里使用的货币,是跟现实世界里的货币(美元)是挂钩的,也就是它存在汇率制度,有了货币肯定就存在交易,有了交易就存在了市场,那么就是说它是现实世界
阅读全文
摘要:前面介绍了怎么样打开选择文件读取的对话框,当你设计的软件需要让用户选择保存时,就需要让用户去选择自己合适的文件名称来保存。那么就需要使用到保存文件对话框,也就是API函数GetSaveFileName。下面就来演示怎么样使用这个API函数。函数GetSaveFileName声明如下:WINCOMMDLGAPI BOOLAPIENTRY GetSaveFileNameA(LPOPENFILENAMEA);WINCOMMDLGAPI BOOLAPIENTRY GetSaveFileNameW(LPOPENFILENAMEW);#ifdef UNICODE#define GetSaveFileNam
阅读全文
摘要:CZTZ-JavaEE Web应用开发平台与CAS的单点登录产品进行了集成,CAS单点登录产品的默认的认证类是SimpleTestUsernamePasswordAuthenticationHandler,这个类的实现是当用户名和口令相等时认证通过,所以这个类肯定不能在生产环境使用的,现在需要将此类替换掉,实现一个基于数据库访问的认证方式.本文讲述如何实现这个类(数据源在tomcat中如何配置从略,我想大家都知道配置方式). 在CAS的WEB-INF目录下有个deployerConfigContext.xml文件,将<beanclass="org.jasig.cas.authe
阅读全文
摘要:当用户想选择打开以前保存的文件时,就需要使用到选择文件对话框。其实在Windows的API里已经有这样完美的对话,只需要简单的调用,就可以使用了,而不需要写一大堆其它的代码。下面就来演示一下怎么使用文件选择对话框。函数GetOpenFileName声明如下:WINCOMMDLGAPI BOOLAPIENTRY GetOpenFileNameA(LPOPENFILENAMEA);WINCOMMDLGAPI BOOLAPIENTRY GetOpenFileNameW(LPOPENFILENAMEW);#ifdef UNICODE#define GetOpenFileNameGetOpenFileN
阅读全文
摘要:CZTZ-JavaEE开源应用开发平台介绍(3)第二部分 平台开发示例(下)王保政QQ:29803446Msn:baozhengw999@hotmail.com上篇文章介绍了如何通过平台方便地搭建了一个列表页面,现在介绍如何为网站用户增加一个新增和修改的页面(新增和修改页面是同一个页面)。在module/platform目录下找到editEasMetaColumn.jsp,更名为editEasB2cuser.jsp(注意文件名是要区分大小写的)。更改前的JSP代码:<%@ include file="/common/head.jsp"%><%@ page
阅读全文
摘要:CZTZ-JavaEE开源应用开发平台介绍(2)第二部分 平台开发示例(上)王保政QQ:29803446Msn:baozhengw999@hotmail.com本文介绍如何利用应用开发平台实现一个后台增删改查的应用。以B2C网站的个人用户帐号为例。企业应用的用户有B2B类用户(如企业内网用户),也有B2C类用户,即通过公司的外网门户注册的个人帐号,例如公司的网上商城注册会员。本例的个人用户帐号表为eas_b2cuser,主要数据库字段有:obj_id varchar(40) 唯一ID字段(隐藏字段,不需要用户输入数据,系统自动生成ID)user_id varchar(30) 登录帐号user_
阅读全文
摘要:CZTZ-JavaEE开源应用开发平台介绍第一部分 平台特性介绍王保政QQ:29803446Msn:baozhengw999@hotmail.comCZTZ-JavaEE开源应用平台是国内首家基于Java开源框架Spring2.0.7、struts、webwork2.2.6、hibernate3.2.5、acegi1.0.5的开源的WEB应用开发平台。本平台从软件可重用性的角度考虑,将企业级应用所需要的基础功能抽取出来,使企业Web应用开发不再需要重复性地设计基础数据维护功能,如组织结构维护、权限管理、后台基础数据的增删改查、信息发布等功能。企业完全可以直接在此平台上根据业务需求搭建自己的企业
阅读全文
摘要:在网站应用中,为了提高页面的访问速度,经常需要将动态页面静态化以提高页面的访问速度,因为动态页面一般要从数据库检索信息,频繁访问动态页面会大大提高数据库的负载,并且访问速度也比静态页面慢.本文通过在程序里建立一个http请求,将返回的输出流存储为html文件的方式来生成静态页面.在CMS类的应用中,信息发布完可直接调用这段代码,给定一个动态连接地址如http://localhost:8080/cms/info.jsp?infoid=001,生成一个静态页面,代码如下:package org.apache.easframework.common;import java.io.BufferedRe
阅读全文
摘要:当大家打开Windows任务管理器时,就会看到每个进程使用内存的分布情况,往往会发现有一些进程占用大量的内存,在这种情况也是一种异常情况,可以作为是否恶意软件的标志之一。下面就来使用API函数GetProcessMemoryInfo来获取内存的使用情况。函数GetProcessMemoryInfo声明如下:BOOLWINAPIGetProcessMemoryInfo( HANDLE Process, PPROCESS_MEMORY_COUNTERS ppsmemCounters, DWORD cb );Process是获取内存使用情况的进程句柄。ppsmemCounters是返回内存使用情况的
阅读全文
摘要:中西文化的差异,导致在电子信息里处理也大不相同,在英文里只需要26个字母就可以显示所有文章了,而在中文里需要最基本的字符就有2000多个。对于一些在嵌入式软件里要显示的字符,那么就得手动去构造所有图形,这是一个比较大的工作量,如果让每个厂家都去完成这个任务,显然是不可能的。面对着大量嵌入式用户的需求,那么就需要解决中文字模的图形问题。毕竟大家经常使用Windows,最先想到的,肯定是怎么样把里面的字符提取图形出来,生成自己需要的几个字库。下面就来介绍怎么样用函数GetGlyphOutline获取显示字符的图形数据。函数GetGlyphOutline声明如下:WINGDIAPI DWORD WI
阅读全文
摘要:php.ini中文解释[PHP];PHP还是一个不断发展的工具,其功能还在不断地删减;而php.ini的设置更改可以反映出相当的变化,;在使用新的PHP版本前,研究一下php.ini会有好处的;;;;;;;;;;;;;;;;;;;;关于这个文件;;;;;;;;;;;;;;;;;;;;;这个文件控制了PHP许多方面的观点.为了让PHP读取这个文件,它必须被命名为;'php.ini'.PHP将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC;指明的路径;编译时指定的路径.;在windows下,编译时的路径是Windows安装目录.;在命令行模式下,php.ini的查找路径
阅读全文
摘要:<script language="JavaScript">function changejs(n){var str;str = '<script language="JavaScript" type="text/javascript" src="inc/listnews.asp?page_no=';str = str + n;str = str + '"></script>';document.getElementById("title
阅读全文
摘要:<SCRIPT language=JavaScript><!--var proMaxHeight = 150;var proMaxWidth = 110;function proDownImage(ImgD){ var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0){ var rate = (proMaxWidth/image.width < proMaxHeight/image.height)?proMaxWidth/image.width
阅读全文
摘要:<input type=button value=剪切 onclick=document.execCommand('Cut')><input type=button value=拷贝 onclick=document.execCommand('Copy')><input type=button value=粘贴 onclick=document.execCommand('Paste')><input type=button value=撤消 onclick=document.execCommand(
阅读全文
摘要:<!doctypehtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>无缝div(纵向,横向滚动)(shqlsl飞鱼制作QQ:628558)</title><metahttp-equiv="Con
阅读全文
摘要:这一年来流氓软件特别多,面对这种非常恶心的软件,让大家非常痛苦。正是在这种环境之下,众多客户需要强大查杀这种流氓软件的工具。如果让你来开发一个查杀这种病毒的软件,你会怎么做呢?当然是先把电脑里所有进程遍历出来,然后把每个进程的详细信息显示给用户,让用户决定自己那些进程可以运行,那些不可以运行。或者根据当前进程的信息,再跟根据病毒库里的特征码进行比较,就可以标识那些是可疑的病毒了。下面就来演示用函数OpenProcess怎么打开进程并获取进程的名称。函数OpenProcess声明如下:WINBASEAPI__outHANDLEWINAPIOpenProcess( __in DWORD dwDes
阅读全文
摘要:当你开发的软件在用户那里运行出错了,想怎么办呢?当然是希望把出错时候的运行环境信息生成报表,然后再Email回来查看了。这里就介绍一个函数可以把当时运行环境的进程全部找到,然后可以输出每个进程的信息。当然,这个函数也可以使用到杀病毒软件里,用来查看可疑的进程信息。函数EnumProcesses声明如下:BOOLWINAPIEnumProcesses ( DWORD * lpidProcess, DWORD cb, DWORD * cbNeeded );lpidProcess是保存进程ID的数组。cb是进程组数的大小。cbNeeded是返回进程数组的大小。调用函数的例子如下:#001//获取系统
阅读全文
摘要:php中foreach()的用法2006年12月27日 星期三 16:45foreach()有两种用法:1:foreach(array_nameas$value){statement;}这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。2:foreach(array_nameas$key=>$value){statement;}这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。
阅读全文
摘要:显示时间如下200712120701时间年月日小时分钟的数字<?php$updatetime = time();echo strftime("%Y%m%d%H%M",$updatetime) ?>一段代码<?php//第一步:初始化种子 //microtime(); 是个数组$seedstr =split(" ",microtime(),5); $seed =$seedstr[0]*10000; //第二步:使用种子初始化随机数发生器 srand($seed); //第三步:生成指定范围内的随机数 $random =rand(1000,
阅读全文
摘要:人们需要处理的信息越来越复杂,往往在一个应用程序里是处理不完的,因此,就出现多个应用程序协同处理同一件事情。当然多个应用程序分开处理,也是比较容易开发,并且让应用程序复杂难度迅速降低。比如在开发一个银行的交易系统,有一个报表生成的主程序,然后还有很多小的,不同的报表生成程序。这样就需要从主程序里创建小报表程序进行运行。创建进程运行,需要使用函数CreateProcess来实现。函数CreateProcess声明如下:WINBASEAPIBOOLWINAPICreateProcessA( __in_opt LPCSTR lpApplicationName, __inout_opt LPSTR l
阅读全文
摘要:前面介绍怎么样把数据放到剪贴板里面,那么又是怎么样从剪贴板里面获取数据出来呢?当然还是需要使用其它的API函数来获取剪贴板里的数据。获取剪贴板里的数据时,是不知道当前剪贴板里是否有数据的,也不知道剪贴板里的数据格式是什么。那么下面就来解决这两个问题,先使用函数IsClipboardFormatAvailable来获取剪贴板里的格式是否可以处理,接着使用函数OpenClipboard打开剪贴板,然后使用函数GetClipboardData来获取剪贴板数据。函数GetClipboardData声明如下:WINUSERAPIHANDLEWINAPIGetClipboardData( __in UIN
阅读全文
摘要:多个软件之间进行数据共享是非常重要的,难以想像编辑软件没有CTRL+C,CTRL+V的功能,是多么的不方便。很多的操作,就是拷贝的动作,就是为了数据共享。剪贴板共享是Windows里比较重要的功能,比如很多采集数据的软件为了方便导数据到Excel里面,就可以使用剪贴板的功能。还有即见即所得的界面导到Word里面,也可以使用剪贴板的功能。函数OpenClipboard声明如下:WINUSERAPIBOOLWINAPIOpenClipboard( __in_opt HWND hWndNewOwner);hWndNewOwner是前贴板所属于的窗口。调用函数的例子如下:#001//拷贝数据到剪贴板。
阅读全文
摘要:getverifycode.asp<% dim getrandomRandomize getrandom=mid((rnd*100000),1,4) ''生成6位随机数,取高4位 Session("verifycode")=getrandom ''保存于Session中 %> <input name="code" type="text" id="code" value=""/><%=session("verifycode&q
阅读全文
摘要:一般的程序都是在运行前已经编译好的,因此修改指令的机会比较少,但在软件的防破解里,倒是使用很多。当修改指令之后,怎么样才能让CPU去执行新的指令呢?这样就需要使用函数FlushInstructionCache来把缓存里的数据重写回主内存里去,让CPU重新加载新的指令,才能执行新的指令。下面就来学习一下使用这个函数来实现跳到一个静态函数里执行,而不是直接地调用这个函数。函数FlushInstructionCache声明如下:WINBASEAPIBOOLWINAPIFlushInstructionCache( __in HANDLE hProcess, __in_bcount_opt(dwSize
阅读全文
摘要:在开发软件的过程里,经常需要把数据保存到当前执行文件路径下面,或者读取当前执行文件路径下的一些配置信息。这时就需要从当前模块里获取所在的目录路径,以便进行固定的位置操作文件。要解决这个需求,就需要调用API函数GetModuleFileName来获取模块所在的路径。函数GetModuleFileName声明如下:WINBASEAPIDWORDWINAPIGetModuleFileNameA( __in_opt HMODULE hModule, __out_ecount_part(nSize, return + 1) LPCH lpFilename, __in DWORD nSize );WIN
阅读全文
摘要:随着软件规模的扩大,要求的功能也是越来越多,开发人员的参与也是越来越多。因此软件的功能划分,就成为了现代软件工程的重大任务,还有软件开发的并行性也越来越重要。为了解决这些问题,大家都会看到IT硬件发展非常迅速,功能也越来越复杂,但硬件中发展明显提高在于采用IC的方式来实现复杂的功能,也就是把大部份功能集成到一起,只要给出一些引脚就可以实现产品了。而软件中有没有相同于硬件中的IC呢?我想是应有的,就是动态连接库了。在Windows这座大厦里,很多基石就是动态连接库构成的。一个动态连接库就封装了特别复杂的功能,使用者不必关心它是怎么样实现的。当然,这样也可以让不同的开发者同时开发产品,提高软件开发
阅读全文
摘要:1:为什么我得不到变量 我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值? 在PHP4.2以后的版本中register_global默认为off 若想取得从另一页面提交的变量: 方法一:在PHP.ini中找到register_global,并把它设置为on. 方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Start()). 方法三:一个一个读取变量$a=$_GET["a"];$b=$_POST["b"]等,这种
阅读全文