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
警察不会抓人,的确出人意料,但是想想警察要打人吓人,要不停地想办法把枪弄丢,要穿着警服逛街威风,要开着警车四处兜风,所以警察不会抓人,也就在情理之中了;
医生不会治病,的确出人意料,但是想想医生要收红包,要考虑开哪个药利润高,要分辨病人到底有没有钱,要和护士MM调情,所以医生不会治病,也就在情理之中了;
老师不会教书,的确出人意料,但是想想老师要补课收钱,要计算哪个学生家长送礼多少安排座位,要写看不懂的论文,要比较哪个女学生さ闷粒岳鲜Σ换峤淌椋簿驮谇槔碇辛耍?
工人不会做工,的确出人意料,但是想想工人干好了也要下岗,要学好心理素质课程好面对贪官腐败,要核实再核实到底发不发工资,要随时准备工厂突然倒闭,所以工人不会做工,
也就在情理之中了;
农民不会种地,的确出人意料,但是想想农民种出大米也不如一首《老鼠爱大米》,要学会忍耐忍耐再忍耐,要学会看红新闻当看杂 文,要缴纳比收入还高的税,所以农民不会种地,也就在情理之中了;
中国男足不会踢球,的确出人意料,但是想想男足要吃摇头丸,要泡MM,要赌球,要球霸,所以中国男足不会踢球,也就在情理之中了;
小偷不会偷窃,的确出人意料,但是想想小偷要和警察搞好关系,要和组织搞好关系,要看冯导的电影找感动,要穿西服打领带,所以小偷不会偷窃,也就在情理之中了;
导演不会导演,的确出人意料,但是想想导演要选美选女演员,要学会上艺术人生,要想方设法得奖,要一切办法艺术,所以导演不会导演,也就在情理之中了;
演员不会演戏,的确出人意料,但是想想演员要和导演睡觉,要和车夫吵架,要学外语学穿没有荡妇字母的衣服,要和老板吃饭,所以演员不会演戏,也就在情理之中了;
歌星不会唱歌,的确出人意料,但是想想歌星要不会简谱,要五音不全,要会假唱,要卖弄风骚,所以歌星不会唱歌,也就在情理之中了;
模特不会走步,的确出人意料,但是想想模特要等待老板,要摆迷人睡姿,要参加各种比赛,要没有文化,所以模特不会走步,也就在情理之中了;
主持不会主持,的确出人意料,但是想想主持人要不会说普通话,要学会用“手机”,要得抑郁症,要嫁钻石王老五,所以主持不会主持,也就在情理之中了;
作家不会写作,的确出人意料,但是想想作家要会做爱,要吸引异性,要年龄很小,要阅读和抄袭,所以作家不会写作,也就在情理之中了;
记者不会采访,的确出人意料,但是想想记者跑路要拿车马费,要和广告挂钩,要写企业书籍,要听有关部门,所以记者不会采访,也就在情理之中了;
官员不会当官,的确出人意料,但是想想官员要不停地接受采访,要考虑怎么收礼,要面对上级的冷屁股和下级的热脸,要寻找哪里有漂亮女人,所以官员不会当官,也就在情理之中了;
网友不会上网,的确出人意料,但是想想3721,想想8848,想想baidu,想想99,所以网友不会上网,也就在情理之中了;
我不会写作文,的确出人意料,但是想想我要交的大学学费,要读毫无用处的大学教材,要租房子搞男女关系,大学毕业后还要找啊找工作,所以我不会写作文,也就在情理之中了
有关PC的流言很多,哪些是真,哪些是假,我们一一为您揭示。
磁铁可以破坏数据
对于那些古老的软盘,这样的说法是正确的。我们把一块磁铁放在一张3.5英寸的软盘上,过了几秒钟,磁铁吸住了盘片,并且破坏了盘上的数据。
幸
运的是,大多数目前的存储设备都不怕磁铁,例如SD、CF、SM、xD、MemoryStick等闪存卡和闪存盘。CompactFlash联盟主席
Bill
Frank认为:“在闪存中不存在任何带磁性的东西,所以磁铁做不了任何事情”,他还开玩笑说:“如果一块磁铁拥有足够强大的磁力使它能够干扰闪存上的电
子信息,那么这块磁铁甚至可以把铁质从你的血液细胞中吸出来。”
同样,对于硬盘,只有实验室中的退磁器或者是那些专门被政府机构用于
抹去介质中的数据的东西,才拥有足够强大的磁力从硬盘的盘片中抹除数据。硬盘制造商Seagate的一位技术支持工程师Bill
Rudock指出:“在现实世界中,人们是不会因为磁铁而丢失数据的”,“实际上在每一块盘片中都存在一块磁体让磁头产生摆动。”
你
想从一块硬盘上擦除你不想要的数据吗?不要让一块磁铁浪费你的精力,你可以简单地覆盖掉原先储存在介质中的数据。对于闪存,你可以用任何形式的数据填满
它,例如很多你钟爱的照片。专家们通常可以通过某种手段从磁性介质中恢复一些被覆盖的数据,但对于闪存来说,一旦新数据覆盖了原有的数据,就意味全完了。
只有价格昂贵的电涌保护器才能确保你的设备的安全。一个电涌保护器的价格与它所能提供的保护没有任何直接的关系,大多数的电涌保护器都是建立在同种技术之上的,它们的响应时间(即它们开启的快慢)总体上是相似的。
通常,花费较高的保护器添加了一些响铃和鸣笛等附加功能,例如状态指示灯,用来显示该设备正在工作,但那并不代表它会更好地保护你的计算机。
而且不要被诸如电源效率和相应时间等指标所迷惑,虽然这些特征被备受一些电涌保护器制造商的吹捧,但事实上它们并不是代表质量的可靠指标。取而代之,你只需要确保这个电涌保护器是被3C认定的,因为那意味着它符合国标和安全标准。
毫
无疑问,使用电涌保护器是必要的,它可以保护计算机不受到电源中突发的电涌或是尖峰电压的伤害。大多数人都认为电涌和尖峰电压主要来自外部,但是居家中也
同样可能产生电涌和尖峰电压,像那些电器中的电机(例如冰箱、洗衣机、烘干机和空调)的开启和关闭,同样会对计算机产生伤害。
电涌保护器不能在断电或是电力不足的情况下保护你的数据,但一个UPS电源也可以做到这一点。UPS中带有一块电池用来维持电力,使你能够在计算机关闭之前保存你的数据。新型UPS大都配备了软件控制功能,让你能自动地备份和设置关机过程。
警告:微处理器越新,就越容易受到尖峰电流的影响,集成在一块芯片上的电子晶体管的数量越多,就越不容易承受过度的电压。如果你使用的是一台古老的计算机,也许它能够幸存于一次尖峰电流的袭击,但如果是一台较新的计算机,它也许会被烧焦。
如果不周期性地让笔记本电脑的电池完全耗尽,电池的使用寿命将会缩短。
这
个说法来自于一个在电池中广泛存在的综合病症,它一直以来折磨着老一代的笔记本电脑电池——大体积的镍镉电池系列。这些电池具有很强的记忆效应,如果不对
它们周期性地进行完全放电,它们的性能就会大大降低(如果你的笔记本电脑使用的是镍镉电池,每三个月就应该对电池进行一次完全放电。)
“较新一代的手提电脑使用的是锂电池,这类电池不具有记忆效应,”Isidor Buchmann说,他是Cadex公司的创始人,该公司是一个专门生产电池充电器和分析器的加拿大制造商。“它们不需要用完全放电来延长它们的使用寿命,” Buchmann补充道。
Buchmann
的说法并不完全准确,锂电池仍然具有微弱的记忆效应,因此大约每30次充电之后,也应该让电池的电量完全耗尽一次。这个做法不仅仅为了保护电池本身,而是
为了重新校准电池容量计——笔记本电脑上显示的那个指示器,用来显示电池所剩的容量和所剩的使用时间。
DOS已经“死”了微
软公司的MS-DOS,1981年首次亮相,有着20多年的辉煌历史,是PC发展史上值得被铭记的一个产品,目前已经在大多数计算机中退役了。然而它仍然
还没有完全消失。根据IDC公司所作的研究,截止到2004年底,本年度仍会有100多万DOS的拷贝在使用着,但比起2003年的220万已经下降了许
多。
据IDC公司猜测,2003年大约有1000份新的DOS系统被安装,这里面包括所有的DOS品种,像MS-DOS、PC-
DOS等仍然存活的DOS版本。2004年,不会再有这么多。“为了应付一些特殊的需求,DOS仍然还具有一定的生命力,”IDC的分析师Dan
Kusnetzky说,“但是它的使用量不会出现增长。”
在现实生活中,如果您留意,还可以找到DOS的踪迹。在一些旅馆的客房预定系统、商店的POS机上、餐馆的结算系统上还可以见到一些基于DOS界面的电脑屏幕。
如今,对DOS最常见的使用是在一些嵌入式的应用环境中,在那里计算机被用于执行一些固定的功能。在这种应用中,DOS也已经逐渐被Linux所取代。
微软不会在商店中出售DOS了,而我们见到DOS的机会也会越来越少,不过DOS离彻底死掉还有一段时间。
为了节约能源而每天关闭计算机会缩短计算机的寿命。这是一个引起了很多争论的话题。争论的一方认为开启和关闭计算机的行为会给计算机的部件造成压力。而争论的另一方则认为那是一件好事;就算是最好的程序和操作系统,如果不经常关闭它们,也有可能变得异常。
对
这个话题目前还没有明确的答案。然而,大多数的权威人士更倾向于后者的观点,比起所造成的伤害,经常关机带来更多的是好处,再加上这样还能节约能源。
Microprocessor Report的首席编辑Kevin
Krewell就是这个观点的支持者,他说,“微处理器一般来说有10年的生命期,所以,在开启和关闭计算机的行为能够造成对CPU有所影响之前,该计算
机早就已经被淘汰了”。
小提示:如果你使用的是Window
XP,在桌面上点击鼠标右键,选择“新建”—〉快捷方式,然后键入“shutdown -s -t
00”,点击“下一步”,给这个快捷方式取一个名字(例如,关机),最后点击完成。下次如果你需要关机的时候,只要点击这个快捷方式的图标就行了。
电脑黑客能够破坏你计算机硬盘中的数据 McAfee Security的一位高级经理Bryson
Gordon说过,“MyDoom.f病毒的出现使我们踏入了一个计算机病毒能够攻击数据的时代。”尽管那些可以攻击电脑文件的计算机病毒和蠕虫相对而言
并不常见,但是对于任何一个连接到互联网的用户来说这绝对是第一号噩梦。
作为恶毒行为的一种,MyDoom.f病毒潜伏在被感染的计算机中使劲地寻找Word、Excel和图形文件,然后随机地删除一些被它找到的目标。许多人的电脑感染上了这种病毒,他们中40%的人丢失了Word文件,60%的人丢失了Excel文件。
现
在的黑客们妄图劫持计算机系统,而不是去破坏它们。比删除数据更重要的是,计算机蠕虫和病毒们更希望让那些完整无损的计算机能散播垃圾邮件或者攻击网站。
“就像是生物病毒一样,如果一种计算机病毒在它自身繁殖之前就杀掉了它的寄居体,它就不能进行繁殖了,”Allen
Householder这样说道,他是美国Computer Emergency
Response小组中的一位互联网安全技术分析家,这个小组现在是Department of Homeland的一部分。
采用拒绝方式退订垃圾邮件会让你得到更多的垃圾邮件。 你已经听到过这样的建议了吧?不要回复垃圾邮件。如果你回复了,你将得到甚至更多的垃圾邮件,因为你刚刚告知垃圾邮件的制造者你的E-mail地址是存在的。
作
为Democracy & Technology中心的副主任,Ari
Schwartz说,“还没有人对此做过完全的测试,因为即使在可能的情况下,要得到毫无疑问的证实也是非常困难的。”在所有通过互联网传送的信息中,垃
圾邮件所占的比例高达83%,在这样的背景下,如果你采用了拒绝方式退订垃圾邮件,但是之后收到了更多的垃圾邮件,你又怎么能够判断你本来不应该收到它们
的?
有一些时候采取拒绝垃圾邮件的方式是可行的。去年CDT对垃圾邮件的来源作了一项研究,他们首先开启了很多E-mail账号,并
且通过各种各样的途径把它们散播出去,然后注意每一个E-mail帐户收到的垃圾邮件的数量,最后通过拒绝方式退订这些垃圾邮件。结果有许多公司在两个星
期内遵照了自愿退订邮件的请求。
“弄清楚你是在向谁发送拒绝接收邮件请求的,这是关键,”Schwartz说道,“通过拒绝方式向那
些合法的公司退订邮件可以让你从他们的邮件列表中消失,然而当你对那些‘真正的’垃圾邮件制造者做同样的事情,结果是没法预料的。”不论你是否采用拒绝方
式退订邮件,垃圾邮件制造者们都拥有各种各样的工具来收集E-mail地址。因此Schwartz建议,“虽然你不可能完全地保护你的收件箱,但是你可以
采取一些防御性的措施,比如让你的E-mail地址远离那些公共网站。”
如果你仍然还在寻找一个较好的垃圾邮件过滤工具,你可以试试Foxmail,它的垃圾邮件过滤功能很不错,另外可以使用PC-Cillin个人防火墙,也具有较为完善的垃圾邮件过滤功能。
如果你没有关闭Windows就强行关闭计算机,可怕的事情将会发生。不要去碰那个开关!根据微软公司的说法,如果你在没有先关闭Windows的情况下就强行关闭计算机,你的硬盘可能会产生更多的磁盘碎片,磁盘上的文件可能会被破坏,并且你可能因此而丢失数据。
也
许微软公司的警告存在一些水分,但是我们不必过分担心这样做会造成系统的冲击或是对Windows的伤害。我们做了一个非正式的测试,并且重复了30次:
在没有事先关闭Windows的情况下强行关闭两台计算机,这些计算机上运行的系统是Window
XP。在每一次测试中,我们都让一些Word、Outlook和Quicken的文档开着,并且让系统连接着互联网。
当我们重新开启每一台计算机后,我们运行Symantec公司的Norton Disk Doctor和Windows自带的Disk Checker来看看硬盘是否遭受到了一些坏的影响。我们重新打开了那些关机前还在运行的应用程序,并且重新让计算机连接到互联网上。
结
果没有出现什么问题!Disk
Doctor没有发现任何磁盘错误,而且我们的那些文件也和原来的保持一致——至少到最后一次保存的时候,但并不总是到最后一次修改的时候。
Outlook恢复得很完美,Quicken也是一样(我们没有检查磁盘的碎片,因为一些硬盘专家告诉我们,整理磁盘碎片对如今那些较快速、容量较大的硬
盘的性能几乎没有什么影响)。
如果你仍然对这样有所顾虑,那你可以更改“电源选项”的设置。在“控制面板”中打开“电源选项”选项,
点击“高级”标签,在“电源按钮”选项卡下,选择“休眠”。现在,无论什么时候你按下机箱上的电源按钮,Windows将把自己保存在当前的状态下。随后
再打开计算机的时候,Windows将被重新激活,恢复到你当时关机的状态下,而且要比系统正常启动所需的时间要少。
Cookie会跟踪您在互联网上做的每一件事情。Cookie是应用于互联网站中的一个记录文件。当您用浏览器访问网页时,它会记录并搜集PC和用户信息,包括您的用户资料、所用电脑系统的资料和您所浏览过的网页资料等。
当Cookie第一次出现在人们面前的时候,有一些网络使用者大惊失色,因为他们认为Cookie可以跟踪他们在网上的任何一个行动。这是错误的!
当
然,当你在浏览网页的时候,Cookie可以完成一些有限的跟踪。而且有一些持续性强的Cookie能够追踪你在网页间的移动。举一个例子来说,
DoubleClick是一个专门对用户进行有目标性的网页广告的公司,这个公司的Cookie用于跟踪你所浏览过的任何一个被DoubleClick所
激活的网页,从而确保你不会看见重复出现的广告。
但是大多数的Cookie都远没有这么冒昧。比如说,Amazon.com所使用的一个Cookie是为了让用户能净化网页而设计的,当你转入其他的一些购物网站进行浏览时,这个Cookie是不会在意你做任何事情的。
如果你仍然对Cookie的存在有所担心,则可以在浏览器中关掉它,但这样做可能会导致许多网站无法访问。在IE中,点选“工具”中的“Internet选项”,点击“隐私”标签,然后再点击“高级”选项,在“覆盖自动cookie处理”前打勾就行了。
防毒软件真的可以一劳永逸么?
面
对肆虐的病毒侵蚀,选择一套功能强大的防毒软件对于每个现代人来说显然已经是必不可少的工作了。不过,即便是你选择的杀毒软件再优秀、再先进、再完美,它
有多么智能的防毒、杀毒引擎,多么高深的病毒判别模式,也不要相信那些“自此可以彻底的高枕无忧”的鬼话。要知道病毒和防毒必定是“道高一尺,魔高一丈”
的关系。随时保持获得最新的病毒库/防毒引擎和各种系统补丁、注意防毒软件提示的任何信息(坚决避免放行任何你不确定的操作)、小心登录不明网站、不要轻
易关闭防毒软件的实时监控功能(即便是在某些程序提示和防毒软件有冲突,最好也不要这样做)、确保你的实时病毒监控功能始终开启(很多病毒已经学会如何巧
妙地关闭它们了)、对网络上的一些确认信息提高警惕,做到这些你至少应该会比周围同事更安全些。
如果在Windows中还没有‘停止’一个USB设备就试图断开该设备与计算机的连接,将非常危险。 当你在
Windows中还没有‘停止’一个USB设备(可以通过点击在任务栏中的“删除硬件”图标来完成该操作)就物理地断开与该设备的连接,你的电脑会发出警
告声并且通常会弹出一则消息来责怪你的做法,或者发出警告,你刚才的行为可能导致破坏保存在USB存储设备上的数据,甚至造成对硬件的物理破坏。
要
想断开一个设备的连接,尤其当该设备正在读写数据的时候(USB闪存的制造商们通常会对这样的做法事先给予警告),我们应该非常谨慎,因为这样做会造成一
定的破坏。一个例子:一位PC
World的编辑断开了一个外置USB硬盘与电脑的连接,可断开之前这个硬盘正在进行某些操作,结果他丢失了在硬盘上所有的数据并且破坏了硬盘本身。
如
果能等到设备停止读写数据的时候才断开与它的连接,就不大可能出现严重的问题。尽管Windows会对人们如此轻率的举动作出反应,但微软本身并没有对这
些潜在的危险给以足够重视。微软告诉过我们,任何可能造成的破坏“取决于USB设备本身,但一般来说,断开一个USB外部设备的连接不会影响到系统本
身。”
为了了解这样的行为是否有负面的影响,PC
World实验室的工程师们尝试着对一系列的USB设备进行插入和拔出的操作而没有事先在Windows中“停止”它们,这些设备包括一部数码相机、一台
打印机、一个USB闪存和一台扫描仪。结果惟一发现的问题就是,当我们拔出然后马上又插回USB闪存的情况下,Windows就变得不能识别该闪存了。如
果您遇到这样的情况,可以在拔出设备后等几秒钟再把设备插回去。如果不行的话,重新启动系统。如果还是不行的话,你可以运行“控制面板”中的“添加硬件向
导来让Windows“看见”这个USB设备。
如果你不使用防静电腕带就进行计算机的修理工作,你将毁坏计算机的硬件。 我
们已经建议过对防静电腕带的使用,但是一些技术员认为这是没有必要的。“我从来没有穿戴过防静电腕带,我们商店的地板上铺的是地毯,而且我从来没有在机器
外部触过电,”Jake
Strouckel说,他是一名计算机修理技术员。“我曾经有碰到硬盘而受到电击的经历,但结果硬盘一点问题也没有。”“只要你拿着它们的边缘,而不是去
碰有镀层的电子线路,你就会没事的。”
并不是说静电没有任何危险。尽管人们不能察觉到低于3000V的静电(顺便说一句,真正致命的是所通过的电流的强度,而不是电压),但对于一些脆弱的构件,例如CPU,只需要几百V的电压就足以让它们趴下。
在关于如何消除静电的建议中,有的富有幽默感但实际上很有效(把一个缝纫用的金属顶针戴在手指上,然后再让顶针接触一个金属的物体),有的却滑稽可笑:把你的鞋底用铝箔纸缠满。我们尝试了一下缠铝箔纸的方法,结果你都猜到了吧,当我们试图在地毯上走路时不幸摔倒了。
为了安全起见,请戴上防静电腕带,或者在你准备进行计算机内部的修理之前,先让你自己接地,你可以用一根接地的电线去接触计算机的框架,你也可以去触碰一些已经接地的金属的东西,比如下水管道。着你永远失去了旧的数据。