接下来,我们再来看看Struts2中的Action的生命周期:这张图来自于Struts2的Reference,我们能够在图中看到许多我们不熟悉的名词,比如ActionProxy,Interceptor等等。这些都是Struts2的Control层的重要元素,也是Struts2的Control层的一个层次化的体现。struts2中Action的生命周期
系统 2019-08-29 22:31:58 2035
#!/usr/bin/envpython#-*-coding:utf8-*-#导入smtplib和MIMETextimportsmtplibfromemail.mime.textimportMIMEText##############要发给谁,这里发给2个人mailto_list=["13426444511@139.com","mlzboy@tom.com","frederick.mao@gmail.com","maolingzhi@vancl.cn"]#
系统 2019-08-29 22:16:19 2035
虽然A*(读作A星)算法对初学者来说是比较深奥难懂,但是一旦你找到门路了,它又会变得非常简单。网上有很多解释A*算法的文章,但是大多数是写给那些有一定基础的人看的,而您看到的这一篇呢,是真正写给菜鸟的。本篇文章并不想给这个算法题目作一些权威性论断,而是阐述它的基本原理,并为你理解更多相关资料与讨论打下基础。文章末尾给出了一些比较好的链接,放在“进阶阅读”一节之后。最后,本文不是编程规范,你将可能使这里讲述的东西编写成任何计算机语言。在本文的末尾我还给出了一
系统 2019-08-29 22:04:43 2035
最近读ibatis的源码,记一下笔记。以后可以看看。先来看看ibatis的接口包com.ibatis.sqlmap.client,也是程序的灵魂。SqlMapClient是ibatis框架的入口接口,它实现类是一个线程安全的类,它继承了SqlMapExecutor接口和SqlMapTransactionManager接口,其中SqlMapExecutor主要负责sqlstatement语句执行,也是我们平常所操作的CRUD。SqlMapTransactio
系统 2019-08-29 22:00:10 2035
什么是FIFO?FIFO是英文FirstInFirstOut的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。什么情况下用FIFO?FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16位1
系统 2019-08-29 21:57:47 2035
有的时候我们需要这样的功能,记下Dialog中的值,当再次打开这个Dialog的时候,还原这些值。这就需要把这些Dialog的值保存起来。Dialog的IDialogSettings类提供了这个功能。下边是使用方法:在上例"自定义Dialog"的代码上加入三个函数:publicvoidsaveState(){if(text.getText()==null||text.getText().equals("")){return;}IDialogSettings
系统 2019-08-12 09:30:21 2035
因为要面对高并发PUSH需求,考虑将其按队列方式实现,最终选型Kestrel。至于Kestrel:基于Scala语言的Twitter开源消息中间件高性能(TPS6000不成问题)、小巧(2K行代码)、持久存储(记录日志到journal)并且可靠(支持可靠获取)Kestrel的前身是Ruby写的Starling项目,后来twitter的开发人员尝试用Scala重新实现。可支持的标准协议:SET存GET取FLUSH_ALL清理STATS状态扩展协议:SHUTD
系统 2019-08-12 09:29:28 2035
//测试环境说明//1,发送与接收应用程序客户端:window2003server,window2000server,windowxp;//2,msmqserver:window2003server+活动目录(已经为msmq消息队列的everynone帐户设置了所有权限)//消息发送测试代码try{System.Messaging.MessageQueueQueue;Queue=newSystem.Messaging.MessageQueue(@"Form
系统 2019-08-12 09:27:31 2035
自动化测试框架和工具的发展大致经历了以下4个阶段1.线性测试通过录制,产生线性脚本,对其进行回放。脚本可重复使用率低。2.模块化与库将测试分成不同的区域,这种框架将程序的各个模块的操作,检查,结果等过程封装成各个函数,形成库文件,这些脚本可以被测试用例脚本调用,解决用例重用性的问题。3.数据驱动解决大量不同数据的测试的用例的重写问题,将测试数据和操作分离。4.关键字驱动将脚本和测试数据彻底的分离,关键字主要包括:被测试对象(object),操作(actio
系统 2019-08-12 09:26:58 2035
说明主索引:index_main,增量索引:index_add(重建主索引和增量索引)indexer--config/usr/local/coreseek/etc/csft.conf-rotateindex_mainindexer--config/usr/local/coreseek/etc/csft.conf-rotateindex_add(合并建主索引和增量索引)indexer--config/usr/local/coreseek/etc/csft.c
系统 2019-08-12 09:26:51 2035