2006年10月7日
#
create function ts_fmt(TS timestamp, fmt varchar(20))
returns varchar(50)
return
with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as
(
select
substr( digits (day(TS)),9),
substr( digits (month(TS)),9) ,
rtrim(char(year(TS))) ,
substr( digits (hour(TS)),9),
substr( digits (minute(TS)),9),
substr( digits (second(TS)),9),
rtrim(char(microsecond(TS)))
from sysibm.sysdummy1
)
select
case fmt
when 'yyyymmdd'
then yyyy || mm || dd
when 'mm/dd/yyyy'
then mm || '/' || dd || '/' || yyyy
when 'yyyy/dd/mm hh:mi:ss'
then yyyy || '/' || mm || '/' || dd || ' ' ||
hh || ':' || mi || ':' || ss
when 'nnnnnn'
then nnnnnn
else
'date format ' || coalesce(fmt,'
') ||
' not recognized.'
end
from tmp
使用例句:
update t_attachment as a set a.attach_path=(select '/'||rtrim(char(apply_com_id))||'/'||rtrim(char(ts_fmt(apply_date,'yyyymmdd')))||'/' from t_rmbs_claim as c
where a.claim_id=c.claim_id)||rtrim(a.attach_path) where exists (select 1 from t_rmbs_claim as tc where tc.claim_id=a.claim_id);
(1)db2 restore db EFINANCE incremental from /db2/eFinance091228 taken
at 200912282115 on /db2/eFinanceWJ28 into EFINAN28 logtarget
/db2/eFinanceWJ28 redirect generate script restore.clp
说明:EFINANCE 为备份前的数据库名称 EFINAN28 为回复后的数据库名称 /db2/eFinance091228备份文件存放的路径 /db2/eFinanceWJ28为还原后日志存放路径以及还原后数据库文件路径。
(2)db2 -tvf restore.clp
如果需要重新指定表空间的路径请修改该文件
该文件内容如下:
-- *****************************************************************************
-- ** automatically created redirect restore script
-- *****************************************************************************
UPDATE COMMAND OPTIONS USING S ON Z ON EFINANCE_NODE0000.out V ON;
SET CLIENT ATTACH_DBPARTITIONNUM 0;
SET CLIENT CONNECT_DBPARTITIONNUM 0;
-- *****************************************************************************
-- ** automatically created redirect restore script
-- *****************************************************************************
RESTORE DATABASE EFINANCE
-- USER <username>
-- USING '<password>'
FROM '/db2/eFinance091228'
TAKEN AT 20091228211504
ON '/db2/eFinanceWJ28'
DBPATH ON '/db2/eFinanceWJ28'
INTO EFINAN28
LOGTARGET '/db2/eFinanceWJ28/'
-- NEWLOGPATH '/ef/appinst/appinst/NODE0000/SQL00002/SQLOGDIR/'
-- WITH <num-buff> BUFFERS
-- BUFFER <buffer-size>
-- REPLACE HISTORY FILE
-- REPLACE EXISTING
REDIRECT
-- PARALLELISM <n>
-- WITHOUT ROLLING FORWARD
-- WITHOUT PROMPTING
;
-- *****************************************************************************
-- ** table space definition
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = SYSCATSPACE
-- ** Tablespace ID = 0
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Regular table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 4
-- ** Using automatic storage = Yes
-- ** Auto-resize enabled = Yes
-- ** Total number of pages = 24576
-- ** Number of usable pages = 24572
-- ** High water mark (pages) = 21080
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = TEMPSPACE1
-- ** Tablespace ID = 1
-- ** Tablespace Type = System managed space
-- ** Tablespace Content Type = System Temporary data
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = Yes
-- ** Total number of pages = 1
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = USERSPACE1
-- ** Tablespace ID = 2
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 1310720
-- ** Number of usable pages = 1310688
-- ** High water mark (pages) = 886976
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 2
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/USERSPACE1' 1310720
);
-- *****************************************************************************
-- ** Tablespace name = TBS_DATA32K
-- ** Tablespace ID = 3
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 32768
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 327680
-- ** Number of usable pages = 327648
-- ** High water mark (pages) = 9856
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 3
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_DATA32K' 327680
);
-- *****************************************************************************
-- ** Tablespace name = TBS_DATA4K
-- ** Tablespace ID = 4
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 2621440
-- ** Number of usable pages = 2621408
-- ** High water mark (pages) = 25440
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 4
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_DATA4K' 2621440
);
-- *****************************************************************************
-- ** Tablespace name = TBS_IDX4K
-- ** Tablespace ID = 5
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 2621440
-- ** Number of usable pages = 2621408
-- ** High water mark (pages) = 96
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 5
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_IDX4K' 2621440
);
-- *****************************************************************************
-- ** Tablespace name = CMCC_DATA
-- ** Tablespace ID = 6
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 655360
-- ** Number of usable pages = 655328
-- ** High water mark (pages) = 32736
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 6
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/CMCC_DATA' 655360
);
-- *****************************************************************************
-- ** Tablespace name = CMCC_DATA32
-- ** Tablespace ID = 7
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 32768
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 327680
-- ** Number of usable pages = 327648
-- ** High water mark (pages) = 22496
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 7
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/CMCC_DATA32' 327680
);
-- *****************************************************************************
-- ** Tablespace name = TBS_IDX01
-- ** Tablespace ID = 8
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 2621440
-- ** Number of usable pages = 2621408
-- ** High water mark (pages) = 274176
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 8
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/TBS_IDX01' 2621440
);
-- *****************************************************************************
-- ** Tablespace name = DMS_TMP_32K
-- ** Tablespace ID = 9
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = System Temporary data
-- ** Tablespace Page size (bytes) = 32768
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 327680
-- ** Number of usable pages = 327648
-- ** High water mark (pages) = 64
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 9
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/DMS_TMP_32K' 327680
);
-- *****************************************************************************
-- ** Tablespace name = SYSTOOLSPACE
-- ** Tablespace ID = 10
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 4
-- ** Using automatic storage = Yes
-- ** Auto-resize enabled = Yes
-- ** Total number of pages = 8192
-- ** Number of usable pages = 8188
-- ** High water mark (pages) = 1512
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = SYSTOOLSTMPSPACE
-- ** Tablespace ID = 11
-- ** Tablespace Type = System managed space
-- ** Tablespace Content Type = User Temporary data
-- ** Tablespace Page size (bytes) = 4096
-- ** Tablespace Extent size (pages) = 4
-- ** Using automatic storage = Yes
-- ** Total number of pages = 1
-- *****************************************************************************
-- *****************************************************************************
-- ** Tablespace name = EF_ENGINE_16K
-- ** Tablespace ID = 12
-- ** Tablespace Type = Database managed space
-- ** Tablespace Content Type = All permanent data. Large table space.
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Auto-resize enabled = No
-- ** Total number of pages = 655360
-- ** Number of usable pages = 655328
-- ** High water mark (pages) = 96
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 12
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE '/db2/eFinanTS28/eFinance/EF_ENGINE_16K' 655360
);
-- *****************************************************************************
-- ** Tablespace name = TEMPSPACE16k
-- ** Tablespace ID = 13
-- ** Tablespace Type = System managed space
-- ** Tablespace Content Type = System Temporary data
-- ** Tablespace Page size (bytes) = 16384
-- ** Tablespace Extent size (pages) = 32
-- ** Using automatic storage = No
-- ** Total number of pages = 1
-- *****************************************************************************
SET TABLESPACE CONTAINERS FOR 13
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
PATH '/db2/eFinanTS28/eFinance/C0000016k.TMP'
);
-- *****************************************************************************
-- ** start redirected restore
-- *****************************************************************************
RESTORE DATABASE EFINANCE CONTINUE;
-- *****************************************************************************
-- ** end of file
-- *****************************************************************************
(3)db2 rollforward database EFINAN28 to end of logs and complete overflow log path '(/db2/eFinanceWJ28)'
说明:EFINAN28 为还原的数据库名称 /db2/eFinanceWJ28为日志存放路径 注意 日志一定要全 即要包括回复的当天的全部log文件。
http://www.db2china.net/club/?fromuid=328
这个问题一直没弄明白,今天终于调出来了,其实调一下安全就可以了,如下:
依次打开
控制面板--管理工具--本地安全策略--本地策略--安全选项 在里面找到一个叫:本地帐户的共享和安全模式的选项,把它改成经典-本地用户以自己的身份验证 就可以了
主要思路:
通过Iframe添加滚动条,在调用页面使用Iframe实现滚动条,在iframe页面里面实现多选select。通过主页面将动态option传递给iframe的select实现下拉框。通过popup窗口的方式实现提示框。
说明:调用页面代码里面还加了一个隐藏多选下拉框的目的是为了将值方便的传递以及保持相对较少的代码改动(主要是修改实现)。
调用页面代码:
- <select name=TMPFIELD size=9 style='width:160px;display:none;' multiple>
- <%
- for(int opt5 =0;opt5<cols.size();opt5++){
- RepColsVo colVo =(RepColsVo) cols.get(opt5);
- %>
- <option title="<%=colVo.getRepColdis()%>" value="<%=colVo.getReportColid()%>"><%=colVo.getRepColdis()%></option>
- <%}%>
- </select>
- <iframe name="iframeShowFields" src="<%=request.getContextPath()%>/jsp/include/iframeSelectReports.jsp" id="iframeshow" allowTransparency="true" style="z-index:0;height:150px;width:140px;" scrolling="auto">
- </iframe>
<select name=TMPFIELD size=9 style='width:160px;display:none;' multiple>
<%
for(int opt5 =0;opt5<cols.size();opt5++){
RepColsVo colVo =(RepColsVo) cols.get(opt5);
%>
<option title="<%=colVo.getRepColdis()%>" value="<%=colVo.getReportColid()%>"><%=colVo.getRepColdis()%></option>
<%}%>
</select>
<iframe name="iframeShowFields" src="<%=request.getContextPath()%>/jsp/include/iframeSelectReports.jsp" id="iframeshow" allowTransparency="true" style="z-index:0;height:150px;width:140px;" scrolling="auto">
</iframe>
Iframe页面内容:
- <html>
- <head>
- <script language="javascript">
- var oP=window.createPopup();
- var globalobject;
- var oPopBody;
- function showTip(_obj){
- globalobject=_obj;
- oPopBody= oP.document.body;
- line=parseInt(event.offsetY/15);
- if(globalobject.options.length>0){
- if(line>globalobject.options.length-1)
- {
- line=globalobject.options.length-1;
- }
- oPopBody.style.background="#fdfce9";
- oPopBody.style.border="solid black 1px";
- oPopBody.innerHTML="";
- var sText =globalobject.options[line].text;
- oPopBody.innerHTML='<div style="font-family:Arial;font-size:12px;">'+sText+'</div>';
- len=globalobject.options[line].text.length*10;
- oP.show(event.clientX+10,event.clientY+10,len, 20,document.body);
- }
- }
- function hideTip(_obj){
- if(oP.isOpen){
- oP.hide();
- }
- }
- function addOption(){
- var s=parent.document.frmdefine.TMPFIELD;
- var len=s.length;
- for(var i=0;i<len;i++)
- {
- var opt=document.createElement("OPTION");
- opt.text=s.options[i].text;
- opt.value=s.options[i].value;
- TMPFIELD.add(opt);
- }
-
-
- }
- </script>
- </head>
- <body bgcolor="#efefef" onload="addOption()">
- <select id="idtmpfield" onclick="showTip(this);" onmouseout="hideTip(this);" name="TMPFIELD" size=9 style="background-color:#efefef;width:auto;height:auto;border-width:0px;border-style:none;position:absolute;z-index:0;line-height:14px;border:none;clip:rect(0 95% 97% 0);margin-left:-13;margin-right:-50;margin-top:-19;margin-bottom:-40" multiple >
- </select>
- </body>
- </html>
效果图如下:
Google?Baidu?半斤八两?
我是Google的忠实Fans,也就是传说中的“狗粪”,可对于Google对于用户提出的网页Bug的处理态度不敢恭维。由于我本身就是软件开发人员也做过好多的软件测试,在浏览网页什么的时候时不时的就看有什么问题。有些地方虽然是小问题却反映了一个公司的经营理念,工作态度问题,甚至是那些大牌企业口中的“企业文化”。
可这样对待一名用户者提出的问题,确实让人不耻啊!事情是这样的我一直都在使用Google文件,在上传附件的时候需要验证大小,以前都上传比较小的文件没有超过500kb,结果由于没注意传了个上M的文件,结果提示我超过上传限制500KM。俺很纳闷试验了多次也发邮件询问了几次,起初Goolgle的牛人门说不接收中文问题求助,麻烦大哥你们是牛,看不是所有问题你们都专家,不是所有人都需要求你们。俺就把邮件用英语又发了一遍,结果是网页上已经修改为“KB”而不在是不知道什么的“KM”了,可Google没再给俺下文啊.。也没说一声那到底是啥啊,是俺看花眼了,还是你们马虎了,出了个小小的网页Bug,俺很是纳闷,如果是没问题那干么要修改啊!
这是小事,却反映了一种态度。是不是有气度,号称很注重企业文化的Google也不过如此啊!当然也不排除有些人为了自己的利益尽量小事化无,那我只能祝福你啦!
不过邮件让俺删除了,如果还有邮件的话让大家鉴识下啊!
下面的Baidu更是让人觉得太TM有才了,偶不得不佩服,佩服啊!
直接帖邮件啦~~
俺提出的问题:
发件人 : deng947@sohu.com [mailto:deng947@sohu.com]
发送时间 : 2007 年7 月6 日 10:29
收件人 : webmaster@baidu.com
主题 : baidu 用户关于个人中心的一个网页问题
百度编辑,您好!
我是百度的用户,在我登陆百度个人中心的时候看到我的个人中心帐号出现了 “ 欢迎您 ?strong>deng947 | 退出 ”
不知道 ?strong> 是不是网页的一个小 Bug 啊!
我使用的浏览器是 IE7 。在 FireFox 2.0.0 .4 下没有问题。
此致,
敬礼! 一位百度用户:陈波
2007 年7 月6 日
Baidu的回复:
尊敬的用户:
您好!
请您参阅正确的流程来完成您的有疑问问题的反馈。
1、百度贴吧投诉规则:
http://post.baidu.com/f?kz=152755756
2、百度贴吧投诉:
http://post.baidu.com/f?kw=%CC%F9%B0%C9%CD%B6%CB%DF
感谢使用百度! 希望继续支持与使用百度!
谢谢!
问题是这样的就是在我登陆百度个人中心的时候看到我的个人中心帐号出现了 “ 欢迎您 ?strong>deng947 | 退出 ”不知道 ?strong> 是不是网页的一个小 Bug 啊! 我使用的浏览器是 IE7 。在 FireFox 2.0.0 .4 下没有问题。
是啊,俺应该去投诉,却发现在登录的时候问题已经消失了,看到俺的用户名deng947是被加粗了,而不是?strong>啦!
是啊!Baidu回复真是有艺术性啊,俺投诉啥啊!不是所有人都能不能明白一些问题的,只能说你TMD太有才了,太有才了,赵大叔估计都能被你忽悠瘸喽,你不去卖拐真是侮辱你自己的智商啊。
通过以上两个问题,俺只能说牛人啊,都TMD不是一般的牛啊,不过可惜我想大家的眼睛是雪亮雪亮滴,我只能说越是小事越能反映素质啊,道哥大喊“素质,素质!”,这样看来Google、Baidu真的好像是半斤八两吆!
能够ping到打印机所在机器的ip地址,试验了以下,终没解决:
1种、首先重新启动有故障的客户端,然后再尝试连接。
2种、将连接打印机的服务器所连接的打印机重新共享,并重新命名共享名称。
其他:
1、是否打开打印服务:“运行”内键入 : services.msc , 察看“print spooler” 项是否为启用状态。或点击鼠标右键,然后选择“重新启用服务”
2、网线损坏,换网线测试。
3、电脑与打印机直接连接。
4、首先打开 “打印机和传真” 选择“添加打印机” 下一步 并将 “自动检测并安装即插即用打印机”前的勾去掉! 下一步 此时出现 打印机连接端口对话框, 下一步 跳过,接下来会出现 安装驱动程序对话框,选择“从磁盘安装” 安装相关的正确的驱动程序,下一步,下一步,是否打印测试页,选择“否”然后 下一步,点击 确定并完成。 接下来,右键点击刚刚安装的打印机,选择“属性” 选择“端口”选择 “添加端口” 然后双击“Local Port” 然后 输入 安装打印机的服务器的绝对 路径和打印机共享名。 如: \\computer\HP1200(注意双斜扛和单斜扛)
在此处的路径一定要正确,否则无法连接成功。(提示:服务器端的打印机的共享名称可以尽可能的简单,便于正确输入)
最后发现是我的电脑和打印机所在的机器不在同一个域或工作组中,就无法找到打印机。当时安装系统的时候自动检查到工作组,但没选择加入,以致于出现了找不到工作组中其他机器共享的文件以及无法添加打印机等问题。
加入工作组问题解决。
日前,美国《Network World》通过读者调查,选出了最受读者欢迎的网络管理工具,我们也将它们推荐给国内的网管员们,希望能助他们一臂之力,使他们轻松排除网络故障。
工具名称:SolarWinds Engineer Edition
网址:
www.solarwinds.net
推荐理由:有读者说:“在不到一小时的时间内,我从网站上下载并安装了SolarWinds的授权版本。不久后,我就可以制作线路使用报告了,而且线路使用和基本响应时间功能非常棒,此外,数据还被保存下来,使我可以一个星期、一个月或一年后查看数据。”
工具名称:NetWatch套件
公司名称:Crannog Software
网址:
www.crannog-software.com/netwatch.html
推荐理由:有读者认为这种软件由简单但却有效的点解决方案构成,这些解决方案在使用和效力上超过了他们所有的更大型的网络管理产品。
NetFlow Monitor是另一种解决流量可见性问题的低成本解决方案,但NetWatch使网管员可以通过简捷的点击过程定制创建网络地图。而
且,这种软件基本上不需要培训和维护。
工具名称:WhatsUp Gold
公司名称:Ipswitch
网址:
www.ipswitch.com
推荐理由:用户对它的评价是具有非常昂贵的产品才拥有的很多功能,而价格却非常低廉。还有读者称:“我们能够在几分钟之内安装好软件,自动发现大多数网络设备,并开始向我们的文本电话机发送状态报警。此外,我们还监测不应出现问题的服务和Web内容变化。”
另一位用户还利用它“报告简单的服务水平协议状况,让我的用户无法在真正发生了多少次故障上弄虚作假。”
工具名称:Etherpeek NX、Sniffer Distributed
公司名称:WildPackets、NAI
网址:
www.wildpackets.com、
www.networkassociates.com
推荐理由:一位读者推荐Etherpeek NX 2.0作为一种“价格低廉、功能优秀”的协议分析仪。Etherpeek NX 2.0帮助他解决断续出现的、复杂的应用问题。
另一种读者推荐的工具是来自NAI的Sniffer Distributed。他觉得如果工具包中缺少这种工具,他将无法生存。
工具名称:Packeteer PacketShaper
网址:
www.packeteer.com
推荐理由:一位读者说:“当用于应用或主机上时,我们对报告和配置的粒度感到满意。它使我们可以找到一条完全拥塞的768K bit/s WAN链路,有效地从它里面得到更多的带宽。”
工具名称:NMIS(网络管理信息系统)
网址:
www.sins.com.au/nmis/
推荐理由:它可以通过开放源代码GPL许可证免费使用,可以运行在Linux上。有读者说,它提供的支持“比我得到的任何支持都好。”该工具受到欢迎的另
一个原因在于它带有仪表板的用户友好的Web界面,支持“在一个页面中以一种简要的、分级的和色块方式显示我所有200台网络设备的状态,从而使我可以轻
松地找到问题的根源和范围。”
工具名称:Observer
公司名称:Network Instruments
网址:
www.networkinstruments.net
推荐理由:这款工具由于“是目前功能最强和最多样化的平台”而成为读者的选择。
工具名称:xsight
公司名称:Aprisma Spectrum
网址:
www.aprisma.com
推荐理由:有读者喜欢用Aprisma Spectrum公司的xsight来进行故障隔离,他说:“xsight与
Attention Software一起使用可以令人信服地解决报警问题并向他人发出寻呼。”他还使用CiscoWorks来管理和维护他们的
Cisco网络的防火墙和配置。
工具名称:MRTG
网址:
www.mrtg.it
推荐理由:据一位读者称,多路由流量图形工具(MRTG)是其最爱,他说:“MRTG在收集有关网络带宽使用的统计数据和服务器监控方面表现非常棒。”MRTG不仅是免费的,而且还是通过GNU(通用公用许可)提供的。
工具名称:PingPlotter、FREEPing
公司名称: Nessoft、Tool4ever
网址:
www.pingplotter.com、
www.tools4ever.com
推荐理由:PingPlotter是读者推荐的一项价格仅为15美元的Ping和Traceroute工具。一旦出现问题,这位读者就启动该程序来查找问
题出在哪里。FREEping是另一项读者推荐的可以免费下载的Ping工具。一位读者反映,这项工具“虽然非常简单,但却在掌握网络对象的可达性方面非
常有用。”
工具名称:OpenView
公司名称:HP
网址:
www.openview.hp.com
推荐理由:HP OpenView受到推荐是因为它可以提供“非常好且非常易好用的映像”。另一个原因是“可以对其进行编程,来做你想要做的任何事情”,尤其是在出现问题时将相关性信息通过E-mail进行报警。
工具名称:NetScout
公司名称:NetScout
网址:
www.netscout.com
推荐理由:一位读者推荐NetScout,是因为它具有良好的故障检测和性能管理功能。这位读者说:“虽然它是软件和硬件的融合体,但却能与大多数的网络元件(交换机和路由器)协调工作,而且,大家从一个视图就能了解企业的运行状况。”
工具名称:Servers Alive
公司名称:Woodstone
网址:
www.woodstone.nu/salive/
推荐理由:一位读者称,它之所以喜欢Servers Alive,是因为它很简单,能够很好地完成网络事件任务和进行状态监控,此外,它的安装相对来讲也很容易。他经营着一个小网络,发现这个简单而便宜的工具在他的小网络环境里运行得非常好,并可通过邮件组获得支持。
工具名称:SNMPc Enterprise
公司名称:Castlerock Computing
网址:
www.castlerock.com
推荐理由:一位用户在推荐SNMPc Enterprise时表示:“与其他的大家伙相比,它更加易用,而且相当便宜。它的可扩展性非常惊人,使用它的新
版本更容易管理网络管理系统本身。”他认为该工具的唯一不足就是,它只能在Windows下运行。但你只需花极少的时间就可以习惯这个软件包,一旦习惯了
之后,用起来就更加容易了。
工具名称:NexVu
公司名称:NexVu
网址:
www.nexvu.com
推荐理由:有读者称NexVu“是我们曾使用过的工具之中最有趣的一项工具,它可以是性能监控工具、协议分析工具、RMON探头以及终端服务器……所有这
些功能都融为一体”。作为探测工具的备份选择,它非常具有吸引力。此外,它还可以提供有关该读者的Siebel应用系统的实时性能报告。
工具名称:Qcheck、Chariot
公司名称:NetIQ
网址:
www.netiq.com
推荐理由:有一位读者在推荐NetIQ Qcheck和Chariot时称,Qcheck是一项免费工具,“它超级简单,能够极快地对两个主机之间的网络
性能进行检查,与故障检修工具一样棒”。他说他的求助台使用的就是这种工具。它要求在被测主机上安装endpoint代理。这些endpoint是免费
的,而且可供各种各样的系统使用。他说:“我曾要求在我们企业里的每台台式机和服务器上装载这样的endpoint,从而减少了故障检修的次数。”关于
Chariot,他说,Chariot“可以对我们所能想象得到的任何网络进行压力测试。它在概念设计和论证方面表现的非常好。添加Sniffer插件之
后,就可以使用实际数据对网络进行测试,更不用说它的易用性了。”提醒大家注意的是,在把这种工具交给未经培训的新手之时,你必须格外小心,因为它“几乎
可以把任何网络都给踩成碎片”。
英国《卫报》评选出的“世界上最有用的100个网站”,从中我们可以了解英国人目前最为关注的网站是哪些,也可以了解目前互联网发展的趋势和方向,看看这些网站您是否曾经关注过:
两年前,多数英国人都没有安装宽带,Web 2.0也刚刚进入开发人员的视野。2006年,许多事情都已经发生了改变。
2004年,因特网还是另外一个样子:例如,没有YouTube。许多上网的英国人都没有安装。如今这一些都已经发生了戏剧性的变化:现在,超过75%的
用户已经安装了宽带,Web
2.0的到来已经让访问网站的速度和运行自己的机器一样快了。我们可以重温一下两年前我们给出的名单。其中一些网站有了新的发展,有些还在原地踏步。这里
我们以20个分类列出100个网站,与上一次的名单相比,这里有许多新的网站,同时也还有许多那时就存在的网站,当然它们依然非常重要。
一、应用软件
为什么要在浏览器中运行一个应用软件?因为可以与不同位置的人们分享任务,这在进行有密
码保护的工作时候非常有效。backpackit.com因其简单的任务,basecamphq.com因其成熟的项目而当选。Tadalis很简单,类
似于DOS。而Google的Documents &
Spreadsheets需要一个Google帐号(免费的),而且它不打算与微软竞争。Wikicalc是一个免费的在线电子表格,发展也非常迅速。
backpackit.com
basecamphq.com
tadalist.com
docs.google.com
softwaregarden.com/wkcalpha
Blogs: reading
二、博客:阅读
互联网上有着无数的博客服务网站,用户需要选择最好的。通过RSS和博
客搜索引擎就
可以简化工作。Technorati虽然有时候比较诡异,但是一般情况下是一个可以值得信赖的博客导航网站。Icerocket很善于粘住用户。网民需要
在网上找到能包含自己最感兴趣的事,那么Newsgator 和 Google
Reader就是一个很好的选择。另外,Bloglines也是一个很好的信息获取网站。
technorati.com
icerocket.com
newsgator.com
google.com/reader
bloglines.com
三、博客:写作
网民需要找到一个好工具来写作,而不仅仅是阅读。开源和免费的软件程序
Wordpress就突显了出来,它因自己的创造性、管理能力和发布信息的工具,已经将它的竞争对手远远抛在了身后。Wordpress.org是一个免
费的软件;wordpress.com提供免费包的付费、管理版。Blogger是剩下的里面最好的。Vox灵巧、简单而且免费,同时包含了很多的社交应
用功能。Statcounter统计非常棒,能为你的网站提供很好的统计数据。免费的Google Analytics也非常好。
wordpress.org
blogger.com
vox.com
statcounter.com
google.com/analytics
四、电子邮件
Google的Gmail是基于网络的电子邮件系统,缺点就是在英国还
是只有受邀请 才能使用。但是,Yahoo的免费邮件服务是一个厉害的竞争者,而微软也有Live
Mail。与微软以前的Hotmail服务不同,如果你30天中不登陆的话,它不会删除你所有的旧信。在所有这些免费服务商中,Bluebottle因为
它对垃圾邮件的过滤功能而深受人们喜爱。免费版本提供250MB的存储空间,并且支持POP3
和SMTP标准,因而网民从中可以获得一个很好的邮件程序和网络通道。另外还有TempInbox,它提供免费、临时的邮件帐号,而且不需要注册。
mail.google.com
mail.yahoo.com
mail.live.com
bluebottle.com
tempinbox.com/english
五、游戏
如今互联网上有许多视频游戏网站,你需要一个像Gametab这样的导
航帮你找到最
好的。Pocketgamer深入研究了手控游戏,Gamasutra收集得非常全面。Gamesfaqs拥有常见问题解答和预演(另外还有游戏的秘笈、
复盘和预览等)。ESRB允许按照年龄段来搜索。
gametab.com
pocketgamer.co.uk
gamasutra.com
gamefaqs.com
esrb.org/ratings/index.jsp
六、地图
在Google地图和人造卫星图像出现以前,每个人都会看
Ordnance Survey的数据,这意味着它们之间没有什么区别。Ordnance
Survey已经升级了自己的网站,可以告诉你该买一个地区的哪个地图。它的地名搜索非常棒。与此同时,New Popular
Edition能够显示地区在上个世纪40年代时的样子,这非常不错。
maps.google.co.uk
streetmap.co.uk
multimap.com
ordnancesurvey.co.uk
npemap.org.uk
七、新闻:主流媒体
BBC继续在自己的道路上行进,它提供了多种媒体形式,同时允许用户添
加自己的评 论。《纽约时报》网站虽然关闭了一些内容,但是它依然非常强大。这两个网站的RSS
feeds在bbcriver.com和nytimesriver.com上可以使用手机来阅读。Google新闻也尽其所能,虽然头条依然是最新的,而
不是最为准确的。Nowpublic是OhMyNews来自美国的竞争对手,宣称拥有52,000个配备移动电话的业余记者,而且这些人的位置可以通过
GPS或者手机定位来获得。
news.bbc.co.uk
nytimes.com
news.google.co.uk
english.ohmynews.com
nowpublic.com
八、新闻:推荐
Web
2.0所能做到的一件很好的事情就是,它能够让许多人来投票。虽然可能会被滥用,但是一般情况下还是能够起到很好的作用。那些能让网民投票的网站,以及博
客热衷于讲故事的网站(memoerandum)现在越来越多了。最大的就是Digg,今年年初已经超过了Slashdot。Reddi如今被《连线》杂
志所收购。Findory有点不同,你越用它学到的就越多。
digg.com
reddit.com
memeorandum.com
megite.com
findory.com
九、特色
Snopes披露难以置信的故事、诡计和城市传说,并且揭穿或者证实这
些故事。另
外,还有100个看上去无用,但是非比寻常的网络博物馆。其中包括虚拟卫生纸博物馆、老计算机网罗博物馆和交通信号标识博物馆。网民可以通过Weird网
站上的链接找到许多其他有趣的网站。Onion是网上的讽刺文学杂志,不过它对美国存在偏见。如果要休息5分钟,那么可以浏览B3ta。这个英国网站每周
发送一次酷站的直邮,它还有一个信息公告板供人们粘贴有趣的处理图。但是需要注意的是:有人认为,它常常会产生人身攻击,对于工作的人来说并不安全。
snopes.com
ringsurf.com
theweirdsite.com
theonion.com
b3ta.com
十、政治
对Theyworkforyou和 Publicwhip
来说,MySociety依然是不可战胜的,因为它将Hansard纳入旗下。但是,博客已经开始向大众披露一些政治人物上不了台面的事情。Guido
Fawkes有来自威斯敏斯特市的许多内部消息,而NO2ID经常会引发有关政治和科技方面的争论。与此同时,NHS
23是一个wiki网站,经常讨论政治、技术和国民健康保险制度等话题。
theyworkforyou.com
publicwhip.org.uk
5thnovember.blogspot.com
no2id.net
editthis.info/nhs_it_info
十一、公众行为
需要揭露一些当权者的弊政了。网络的不同之处在于它的不断成长,政治家
如今也上网。 而且也有一些请愿的网站。Pledgebank 和HearfromyourMP都是MySociety
(mysociety.org)家族下的网站,让市民和决策者之间有个交流,这样才使得人们有所期待。包括The Virtual
Activist的Netaction网站,是网民在线提出方案的一个重要工具。那些对发展自己地区有兴趣的人可以上Timebank,可以找到一些用于
打发业余时间的组织。
pledgebank.com
petitions.pm.gov.uk
hearfromyourmp.com
netaction.org
timebank.org.uk
十二、广播
广播现在已经传递到千家万户。BBC在这里占据优势地位,但是依然有许
多地方站从
AOL的短讯中获取即时的新闻,这非常有趣。雷达和无线电设备遍布世界,所以你总能找到可以听的东西。Reciva做的事情也是一样,但是如果你购买了它
的网络收音机,你可以在线添加你自己喜欢的节目。
bbc.co.uk/radio
shoutcast.com
radio-locator.com
live-radio.net
reciva.com
十三、推荐:音乐
能够发现与你喜欢的音乐相似的素材,这一点显得越来越重要,无论是收听
者还是唱片公
司都希望从中获利。Last.fm需要在你的机器上运行一个软件,显示其他人有此音乐的人喜欢的是什么。Pandora称你需要一个美国的邮编,给它一个
然后你就可以听到精心挑选的节目了。Liveplasma能够搜索相关的电影和音乐。Tuneglue是last.fm与EMI投资的一个新网站,使用
Amazon和last.fm的数据。Goombah需要下载,而且只能在iTunes中播放音乐,但是有时也还是比较重要。
last.fm
pandora.com
liveplasma.com
audiomap.tuneglue.net
goombah.com
十四、索引
Wikipedia占据了索引网站的主导地位,部分原因是因为它的网页
与
Google高度相关。用户撰写的东西,虽然不是十分可信,但是却是非常有趣的。Wikipedia一直与大英百科全书竞争,而大英百科全书不是免费的。
另外一个可选的网站是HighBeam 百科全书,它从哥伦比亚百科全书上搜索了超过57,000篇文章。另外,Jim
Martindale索引创建于1994年,提供了大量的索引资源。对于单词来说,最好使用Onelook,它提供了931个词典中的750万单词。而且
它还能够根据单词的意思来查找到单词。最后,Teldir与世界上的在线电话簿相联系。
en.wikipedia.org
encyclopedia.com
martindalecenter.com
onelook.com
infobel.com/teldir
十五、科学
Alphagalileo提供了欧洲面对民众的科学信息,是
eurekalert的
对应网站。Eurekalert是美国的协会,主要是为前沿科学发布宣言的。Space.com依然关注于空间科学。Nasa包含了财富方面的信息。气候
变化重要性的突显使得有气候变化学家撰写的RealClimate博客的地位也越来越高了。
alphagalileo.org
eurekalert.org
space.com
nasa.gov/home
realclimate.org
十六、搜索
Google依然是我们获取信息的主要手段(占据所有搜索用户的一
半),但是这并不
意味着它是最好的。如今的搜索可以包含硬件、博客、图像、点对点甚至是过去的历史记录。Blinkx因其对视频的专著依然是独特的,而Ask也取得了很大
的进步,虽然它只吸引了很少的用户。
google.co.uk
search.yahoo.com
search.msn.co.uk
blinkx.com
ask.com
十七、社交
网民可以在网上找到与自己兴趣相同的人,可以创建自己的个人空间与别人分享。社交网络现在越来越多,但是依然没有阻止MySpace成为老大。Bebo也很流行。Habbo吸引了很多年轻人,而Friendster 和LinkedIn则吸引了很多年龄大的网民。
myspace.com
bebo.com
habbo.com
friendster.com
linkedin.com
十八、视频
虽然YouTube上的人非常多,但是它不是唯一能够找到视频的网站。
Revver 提供了一个收益分享系统,当别人观看你的视频的时候,你就可以获得一定的现金。你也可以在brightcove
和currenttv创建自己的电台。另外,Videojug上演示了怎么去做那些可能有用的工作。
youtube.com
revver.com
brightcove.com
currenttv.com
videojug.com
十九、虚拟世界
与MySpace等社交网站不同的是,虚拟世界给你一个替身,用于代表
虚拟世界中的 你。宽带的使用加速了计算机运行速度,使得这一切变成可能。BBC在Second
Life上举行一场音乐会,这听起来比较诡异。IBM首席执行官拥有了一个替身,这使得Habbo Hotel上人满为患。World of
Warcraft拥有数百万的用户,并且在寻找自己的文化。用户也可以在Sims在线上玩耍。大量新人的涌现是否会让这个世界上的人与人之间变得更加冷
漠,这依然是一个未知的问题。
secondlife.com
habbohotel.co.uk
worldofwarcraft.com
thesimsonline.com
eqplayers.station.sony.com/index.vm
二十、时代潮流
这个每个人都在谈论的。这些网站之所以如此引人注目,是因为它们代表了
整个世界在思
考些什么。看着它们从我们身边经过,不要忘记:YouTube是网络上流动的图像;Flickr是静止的图像;Google的搜索趋势代表者整个世界在寻
找的东西;Digg表示我们找到了什么;Technorati表示人们正在写着什么。
youtube.com
flickr.com
google.com/trends
digg.com
technorati.com
我哭了,是因为幸福?是因为我自己的无奈?
我哭了,是幸福的痛哭,是激动的泪光。
我知道生活不容易,快乐的生活是需要平和的心态的。可我是不是对生活要求太多了呢?我不得不承认我在一些地方还是很出色的,即便如此我不能以要求我自己的眼光去要求我的朋友,我的同学们。我知道每个人都不容易,可我为什么还要如此执着,如此虐待自己呢?
是啊!你很清楚滴知道自己,你知道自己的弱点,你了解自己,可是你缺乏足够的应变能力,你可以很好的选择生活,可你永远不能让自己成功。是什么?是什么让你生活如此艰难。是你的自以为是,是你的死板呆滞,我知道想要成功不是那么容易,在通往成功的道路上你缺少了某项能力,是成功需要的野心,是成功需要的耐心,所以你很难取得成功,除非你自己创业,我知道你的眼光绝对是独一无二的,你的眼光早已超出了周围的人,可是你没有能力去适当的表现,悲哀啊!一个有思想的人却无法实现自己的理想。
也许今天的痛哭是因为喜悦,因为我除了黄健翔以外,我又找到了最喜欢的评论员-徐阳。其实了解起来才知道每个人都不容易,关键是有没有勇气去面对抉择,去选择适合自己的道路。郑智进球了,我真的哭了,是幸福的眼泪,绝对是幸福是激动。我想起来我看国的国家队的比赛,是一样的那种激动,是的于我无关,我却不能不关心。亚洲杯上的那记“勺子”点球我不会忘记,虽然我不了解你,我不清楚你,但我知道你有一种不同于一般人的思想,你却很好的处理好了你自己的心态,你将自己的优势转化为了你的成功,在我追求人生的道路我理解你的行为是“俗化”,可要成功就只能如此。因为你的成功是为着一大帮平凡人的,绝对不能只是你自己的成功。
我不想快点清醒,因为清醒可能意味着我继续麻木不仁,意味着我的平凡继续,意味着我的才华的浪费,意味着我每次反省后的更深的自责。
我为什么下不了决心,我真的想大喊:“王侯将相,宁有种乎?”。可我每次都少了底气,是我没有自信,没有勇气去面对这些。我知道我一定不会这样平凡下去。不管怎样我都要成功。不是一般人的成功,是我追求的成功,是我自己认为的成功。
我希望下次悲伤的时候不是因为我没有去追逐自己理想而悲伤,而是因为幸福太多不好抉择的烦恼。我知道,也许心情是需要时间的。
期待郑智的下一个进球,期待徐阳的精彩解说,期待我的期待。
大家快在 MSN 名字前加上 I'M 吧
大家可能会发现最近会看到朋友清单里多了一个从来没看过的图示,当初还以为只是新增的表情符号哩!没想到居然是个很有意义活动!那么到底是什么呢?这里告诉你!现在就算你只是聊聊天也能做慈善! 微软的实时通讯软件,也是当红的实时通讯软件,在Windows Live Messenger 8.1版之后,只要你在昵称上面加入可爱的秘密图示 ,以后你跟朋友每聊一次天,微软就会将部分广告收入捐给红十字会、艾滋病协会等的慈善或福利机构,而且捐款金额无上限,你聊越多微软就捐越多,而且在第一年每个机构的捐款下限是十万美元,所以大家赶快加入 ,跟平常一样聊天就能做慈善,何乐而不为呢!
如何加入
有意义的表情符号?
开启Windows Live Messenger 8.1 主窗口 ,在显示名称的地方开启下拉选单,点选 "选项"。
2。打入下列特定码,就可以显示图标,虽然图标都相同,但是背后会根据你所打的特定码把捐款捐到特定的慈善机构。
特定码 机构
*red+u American Red Cross 美国红十字会
*bgca Boys & Girls Club 儿童群益会
*naf National AIDS Fund 美国国家爱滋基金
*mssoc National Multiple Sclerosis Society 国家多发性硬化症学会
*9mil ninemillion.org 国际儿童难民援助组织
*sierra Sierra Club 山峦协会(保护自然生态的)/地球环境协会
*help StopGlobalWarming.org 防止全球温室效应恶化的机构
*komen Susan G. Komen for the Cure 乳癌基金会
*unicef The US fund for UNICEF 美国地区联合国儿童基金会
*wwf World Wildlife Fund for Nature 世界自然基金会
*oxfam The Oxford Committee for Famine Relief 乐施会
(协助解决当时世界各地饥荒及贫穷问题)
*care 国际关怀协会
*hsus The Humane Society of the United States 美国人道协会
*acs American Cancer Society 美国癌症协会
*one ONE Campaign-全球消除贫困与对抗爱滋的组织(GCAP)
按下"确定"储存妳的昵称,现在起,你每聊一次天都可以做善事啰!!
I'm 是微软最新的一个资助慈善组织的活动,
I'm官方网站
http://im.live.com/Messenger/IM/Home/是微软最新的一个资助慈善组织的活动。你可以在你的 Windows Live Messenger 的昵称前加上一串特殊代码,以表示你支持九个慈善组织中的其中一个,而你的昵称前也会出现一个的标志。
所有参加此活动的慈善组织都将在此活动的第一年获得最低10万美元的捐款,最高不限上额。而最高能达到多少,则取决于有多少人愿意在自己的昵称前加上该组织的代码。
所有的参与活动的慈善组织:
American Red Cross —— 准备提供帮助,代码 = *red+u
Boys & Girls Clubs of America —— 为孩子提供理想的环境,代码 = *bgca
National AIDS Fund —— 与艾滋病(AIDS)抗争,代码 = *naf
National MS Society —— 参与到解决多发性硬化症(MS)的运动,代码 = *mssoc
ninemillion.org —— 帮助9百万流离失所的孩子,代码 = *9mil
Sierra Club —— 探索和保护这个星球,代码 = *sierra
StopGlobalWarming.org —— 阻止全球变暖,代码 = *help
Susan G. Komen for the Cure —— 寻找乳腺癌的治愈方法, 代码 = *komen
UNICEF —— 救助生死边缘徘徊的孩子,代码 = *unicef
点击各个组织后面的图标进入各个慈善组织的介绍页,除了查询更为详细的介绍信息,还能下载微软为此次活动专门设计的 Windows Live Messenger 皮肤,各个组织各有一款。
软件未来可能趋势预测
――我从模拟人生游戏想到的
关键字:软件 趋势 预测 虚拟现实
我从事软件才不过两年时间,似乎预测的信服度不高。但是我觉得想法和对生活的思考不是每个人都有的,这个“有”字用的夸张了点,可是你有这个能力,你不去使用不去表现还是一样不能说你“有”啊。
既然模拟人生这样的游戏可以火爆,我认为模拟现实的软件也具备火爆的潜质。如此的
说法肯定令人难以相信,我就列举下优点:
一、 接近生活,完全不需要在去学习一些软件操作的规章制度,软件厂商几乎不用花费时间、精力去培训客户使用软件。
二、 具体的用户还是以方便实用作为评价软件的依据,我觉得生活虚拟化在软件中体现而又不完全失去生活中的特色,还能让用户很熟悉的工作,当然好用了 ^_^。
三、 软件厂商的考虑的问题是效益问题。如果打开市场,加大宣传力度,毅力世界优秀软件企业之林不是梦想。
四、 是一种创新,一种思路的改变,说不定弄个什么星火科技进步奖、创新奖什么的都不是没有可能的吆!
先说这么多吧,再多了我也没去仔细考量,见谅!见谅!。分析下可行性:
我用Java语言,自然从Java语言的实现上说起。
一、 整个的软件系统就是现实的缩影或者是现实的缩小以及计算机化。解释下就是说把现实世界用高空抓拍或者绘画技术牛的你也可以自己画。最好能在页面上直接画。这一步实现没什么难度吧!
二、 把那个图片扫描到计算机上,按所做系统的使用者们(即我们的用户)的组织结构划分图片,分成各个部门什么的,这一步好像也很简单啊!
三、 然后按照正常的软件的思路就可以实现出来了啊!权限部分,简单想象下如果是普通用户或者一般的浏览者看看整个的图片啊(现实中也是可以看到的啊!),然后到具体的访问控制了,用什么实现都好。
四、 人们的虚拟化办公,人员登陆之后默认登陆在自己的部门、自己的职责,然后就是等待其他用户的请求和访问,进行相应的处理。实现也不难吧!
五、 图片的处理问题,用Applet直接弄图片似乎速度让人不好忍受啊,我觉得直接用图片然后在图片上用超级链接实现上速度可能要快多了,安全性上也再考虑下啊!
说到这里肯定很多人要说我了,软件的目的是未了简化生活,这么一弄又恢复到复杂的生活中去了啊,是啊,是回到了生活中啊,但不是原来的世界了啊,是个更快速、更高效、更适应现代生活的软件世界啊!
还有啊,模拟人生游戏的火爆是由于它是模拟的生活,可它又能然游戏玩家脱离生活实现梦想啊,达到一些在现实中无法实现的愿望,你的模拟软件可以吗?
肯定不可以啊,软件是为了什么而来的啊,简化生活啊,目的不是脱离生活啊。即使你可以玩模拟人生,但生活还是必须的啊,使用软件就是你的工作啊,是生活之本啊,你你不可能离开它而一直在模拟人生啊!所以给这样的软件使用加上了不得不啊!
我觉得是条开发软件的路子,你觉得呢?
1.login.jsp中点击submit按纽后,请求将被发送到web容器的login.action,
2.web容器检索web.xml,通过
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
这一段得到webwork关键字,再通过
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>
com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
将请求转发给com.opensymphony.webwork.dispatcher.ServletDispatcher类来处理,这个类会读取xwork.xml文件
3.通过和最初login.jsp提交的"login.action"中去掉web.xml中的定义的".action", 得到"login",在xwork.xml中的
<action name="login" class="com.cdpgc.salary.LoginAction">
<result name="failed" type="dispatcher">login-failed.jsp</result>
<result name="success" type="dispatcher">login-success.jsp</result>
</action>
找到"login"的定义,并寻找com.cdpgc.salary.LoginAction来处理这个请求,当该对象的execute()方法返回
<result>节点"name"属性定义的字符串的时候,将结果使用某个jsp来响应.这里是
success->login-success.jsp
failed->login-failed.jsp
4.两个jsp中使用了
<ww:property value="user" />
来访问处理类(com.cdpgc.salary.LoginAction)的属性,它依赖于
<%@ taglib uri="webwork" prefix="ww" %>
定义的标签库,而这个标签库定义中的uri依赖于web.xml中的
<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>
/WEB-INF/lib/webwork-2.1.7.jar
</taglib-location>
</taglib>
定义的taglib-uri名称
另外,在LoginAction.java中webwork会将发出请求的form中的值--------在<input type='xxx' name='xxx'>中的值
填入到自己的属性中(如果有同名属性的化),这样我们可以获得请求参数.在处理完毕后,同样可以设置它,
而在结果jsp中,webwork又会将该值提供给jsp访问,当然还是基于名称相同.
遇到问题
一、webwork jar文件添加,需要的Jar需要添加完备。
二、java.lang.NoSuchMethodError: javax.xml.transform.dom.DOMResult.getNextSibling()Lorg/w3c/dom/Node;
org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:199)
org.apache.xalan.transformer.TransformerIdentityImpl.setDocumentLocator(TransformerIdentityImpl.java:880)
com.opensymphony.xwork.util.DomHelper$DOMBuilder.setDocumentLocator(DomHelper.java:233)
com.opensymphony.xwork.util.location.LocationAttributes$Pipe.setDocumentLocator(LocationAttributes.java:302)
com.opensymphony.xwork.util.DomHelper$StartHandler.setDocumentLocator(DomHelper.java:292)
org.apache.xerces.parsers.AbstractSAXParser.startDocument(Unknown Source)
org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
javax.xml.parsers.SAXParser.parse(Unknown Source)
com.opensymphony.xwork.util.DomHelper.parse(DomHelper.java:122)
com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:642)
com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:91)
com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:85)
com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:54)
com.opensymphony.xwork.DefaultActionProxy.<init>(DefaultActionProxy.java:57)
com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:46)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:216)
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
问题原因原来是因为使用了tomcat5.0.28它里面的xml-api.jar把jdk1.5里面的DOMResult冲掉了 ,改用Tomcat的5.5版本问题解决。
三、javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
com.opensymphony.xwork.util.DomHelper$DOMBuilder.<clinit>(DomHelper.java:168)
com.opensymphony.xwork.util.DomHelper.parse(DomHelper.java:116)
com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:642)
com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:91)
com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:85)
com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:54)
com.opensymphony.xwork.DefaultActionProxy.<init>(DefaultActionProxy.java:57)
com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:46)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:216)
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
问题原因缺少xalan.jar文件,去http://xml.apache.org/xalan-j/index.html下载即可。
代码:login.jsp,loginsucess.jsp,loginfailed.jsp,LoginAction.java.
我们登录login.jsp,输入用户名,post之后,请求将提交给LoginAction处理,如果成功则返回login-success.jsp,否则返回loginfailed.jsp
login.jsp
<html>
<head>
<title>WebWork Tutorial - Lesson 3 - Example 1</title>
</head>
<body>
<p>
Click the [post] button below to Login.
</p>
<form action="login.action" method="post">
<p>user:<input type="text" name="user" value="" /></p>
<p>password:<input type="password" name="password" value="" /></p>
<p><input type="submit" value="post" /></p>
</form>
</body>
</html>
login-success.jsp
<%@ taglib uri="webwork" prefix="ww" %>
<html>
<head>
<title>welcome to salary</title>
</head>
<body>
<font color="green">
<ww:property value="user" /> has logon [SalaryQueryModule]
</font>
<br>
</body>
</html>
login-failed.jsp
<%@ taglib uri="webwork" prefix="ww" %>
<html>
<head>
<title>failed login</title>
</head>
<body>
<font color="red">
error login by [<ww:property value="user" /> ],invalid user or pwd
</font>
<br>
</body>
</html>
web.xml,位于web-inf目录下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>My WebWork Application</display-name>
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>
com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>
/WEB-INF/lib/webwork-2.1.7.jar
</taglib-location>
</taglib>
</web-app>
xwork.xml位于web-inf\classes目录下
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<!-- Include webwork defaults (from WebWork JAR). -->
<include file="webwork-default.xml" />
<!-- Configuration for the default package. -->
<package name="default" extends="webwork-default">
<!-- Default interceptor stack. -->
<default-interceptor-ref name="defaultStack" />
<!-- Action: Lesson 03: HelloAction. -->
<action name="login" class="com.cdpgc.salary.LoginAction">
<result name="failed" type="dispatcher">login-failed.jsp</result>
<result name="success" type="dispatcher">login-success.jsp</result>
</action>
</package>
</xwork>
LoginAction.java
1/**//*
2 * Created on 2005-8-4
3 *
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
6 */
7package com.cdpgc.salary;
8
9import com.opensymphony.xwork.ActionSupport;
10
11/**//**
12 * @author codemyth
13 *
14 * TODO To change the template for this generated type comment go to Window -
15 * Preferences - Java - Code Style - Code Templates
16 */
17public class LoginAction extends ActionSupport {
18
19 String user;
20 String password;
21
22 /**//*
23 * (non-Javadoc)
24 *
25 * @see com.opensymphony.xwork.Action#execute()
26 */
27 public String execute() throws Exception {
28 // TODO verify user-password
29 if (user.equals("bbb"))
30 return super.SUCCESS;
31 else
32 return "failed";
33 }
34 /**//**
35 * @return Returns the user.
36 */
37 public String getUser() {
38 return user;
39 }
40 /**//**
41 * @param user
42 * The user to set.
43 */
44 public void setUser(String user) {
45 this.user = user;
46 }
47 /**//**
48 * @return Returns the password.
49 */
50 public String getPassword() {
51 return password;
52 }
53 /**//**
54 * @param password
55 * The password to set.
56 */
57 public void setPassword(String password) {
58 this.password = password;
59 }
60}
文章大部分内容来自http://www.blogjava.net/codemyth/archive/2005/08/06/9453.html
result love(boy, girl)
{
if( boy.有房() and boy.有车() )
{
boy.set(nothing);
return girl.嫁给(boy);
}
if( girl.愿意等() )
{
while(!(boy.赚钱 > 100,000 and girl.感情 > 8 ) )
{
for( day=1; day <=365; day++)
{
if( day == 情人节 )
if( boy.givegirl(玫瑰) )
girl.感情++;
else
girl.感情--;
if( day == girl.生日 )
if( boy.givegirl(玫瑰) )
{
girl.感情++;
else
girl.感情--;
boy.拼命赚钱();
}
}
if( boy.有房() and boy.有车() )
{
boy.set(nothing);
return girl.嫁给(boy);
}
年龄++;
girl.感情--;
}
return girl.goto( another_boy);
}
你读明白了?代码应该很简单 基本是If 。。。Else。。。
如果不明白请看解释之后的代码:
如果男孩有房有车,女孩就嫁给男孩;如果男孩现在什么都没有,但女孩愿意等,随着时间增长,当男孩力赚钱超过100000且与女孩的感情加深,如果在情人节和女孩的生日送花,女孩就很开心,否则女孩就失望.男孩拼命赚钱,等有房有车时,女孩就嫁给男孩.随着年龄的增长,男孩一事无成,女孩就嫁给别人了。
Eclipse社区奖项2006年度获奖者名单
个人奖项获奖者
最佳大使
Ed Burnette (获奖)
Erich Gamma (入围)
Pat McCarthy (入围)
最佳贡献者
Linda Watson (获奖)
Gunnar Wagenknecht (入围)
Mik Kersten (入围)
最佳提交者
Alain Magliore (获奖)
Ed Merks (入围)
Jeff McAffer (入围)
技术奖项获奖者
最佳开源RCP应用程序
Gumtree (获奖)
User-friendly Desktop Internet GIS (uDig) (入围)
最佳商业RCP应用程序
Lombardi Software TeamWorks (获奖)
Logic MindGuide - Plan&Decide (入围)
最佳基于Eclipse的开源开发工具
RadRails (获奖)
最佳基于Eclipse的商业开发工具
BEA Workshop Studio 3.0 (获奖)
Exadel Studio Pro 3.5 (入围)
QNX Momentics Development Suite Professional Edition (入围)
最佳基于Eclipse技术的企业部署工具
Compass Group Southern Africa via Jigsaw Interactive (获奖)
要想得到2006年度提名者的完整列表,请看:http://www.eclipse.org/org/foundation/eclipseawards/technology_nominations.php