<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[易流中国博客]]></title>
  <subtitle type="html"><![CDATA[易达天下，流通八方～]]></subtitle>
  <id>http://blog.y6cn.com/</id>
  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/" /> 
  <link rel="self" type="application/atom+xml" href="http://blog.y6cn.com/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2008-08-18T14:06:05+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[[原创]win2000 pro 中安装tomcat6]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=4" label="J2EE" /> 
	  <updated>2008-08-18T14:06:05+08:00</updated>
	  <published>2008-08-18T14:06:05+08:00</published>
		  <summary type="html"><![CDATA[<p>JDK和TOMCAT都按默认路径安装即可，更改路径反而安装出错。环境变量也不用设置。感觉有点怪。</p>
<p>（有点生气，早上打了一大段文字发表后内容是空的，所以只简单打两个字，记录下这个安装过程）</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=377" /> 
	  <id>http://blog.y6cn.com/default.asp?id=377</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[原创]Bugzilla－开源缺陷管理软件]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=20" label="软件测试" /> 
	  <updated>2008-08-16T17:28:31+08:00</updated>
	  <published>2008-08-16T17:28:31+08:00</published>
		  <summary type="html"><![CDATA[<h2><img alt="" src="http://www.bugzilla.org/img/buggie.png" /></h2>
<h2>What is Bugzilla?</h2>
<p>Bugzilla is a &quot;Defect Tracking System&quot; or &quot;Bug-Tracking System&quot;. Defect Tracking Systems allow individual or groups of developers to keep track of outstanding bugs in their product effectively. Most commercial defect-tracking software vendors charge enormous licensing fees. Despite being &quot;free&quot;, Bugzilla has <a href="http://www.bugzilla.org/features/"><font color="#003399">many features</font></a> its expensive counterparts lack. Consequently, Bugzilla has quickly become a favorite of <a href="http://www.bugzilla.org/installation-list/"><font color="#003399">hundreds of organizations</font></a> across the globe.</p>
<h2>What Does Bugzilla Do?</h2>
<ul>
    <li>Track bugs and code changes</li>
    <li>Communicate with teammates</li>
    <li>Submit and review patches</li>
    <li>Manage quality assurance (QA)</li>
</ul>
<p>Bugzilla can help you get a handle on the software development process. Successful projects often are the result of successful organization and communication. Bugzilla is a powerful tool that will help your team get organized and communicate effectively.</p>
<p><strong>什么是Bugzilla？</strong><br />
Bugzilla是一个&ldquo;缺陷跟踪系统&rdquo;。缺陷跟踪系统可以使开发者个人或团队在整个项目中有效地跟踪并找出存在的缺陷。许多缺陷跟踪软件公司开出高昂的许可证费用。Bugzilla虽然是免费的，但是它却有着同类软件没有的特色功能。因此，Bugzilla很快地受到全球无数企业、组织的青睐。</p>
<p><strong>Bugzilla能做什么？</strong><br />
跟踪缺陷和代码的变更<br />
团队成员间的交流<br />
提交和修复缺陷（这句译得有点别扭）<br />
管理缺陷</p>
<p>Bugzilla可以在软件开发过程中助你一臂之力。一个成功的项目通常是完善的组织和交流的结果。Bugzilla就是一款可以帮助你的团队获得有效的组织和交流的强有力的工具。</p>
<ul>
    <li>官方网站：<a href="http://www.bugzilla.org">http://www.bugzilla.org</a></li>
    <li>中文汉化：<a href="http://code.google.com/p/bugzilla-cn/">http://code.google.com/p/bugzilla-cn/</a></li>
</ul>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=376" /> 
	  <id>http://blog.y6cn.com/default.asp?id=376</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转载]关于Eclipse中UI程序的线程的讨论]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=5" label="J2SE" /> 
	  <updated>2008-08-12T21:47:23+08:00</updated>
	  <published>2008-08-12T21:47:23+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;&nbsp;&nbsp;虽然各个操作系统之间的线程机制是不一样的，但是大致是相同的。当用户使用GUI程序时，如果点鼠标或按下键盘上的键等时，操作系统会产生对应的GUI事件，它来决定哪个窗口或程序来接受每一个事件并且放到程序的事件队列中.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;任何GUI程序的底层结构就是一个事件循环.程序首先初始化事件循环，并开始循环，这个循环会从事件队列依次接收GUI事件并一一做出相应的反应.程序应该对事件做出快速的反应使程序一直对用户有响应，举个例子，用户点了一下程序里的一个按钮结果程序就没反应了，那么这个程序应该算是一个失败的程序吧.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果某个UI事件引发了某个需要长时间的事务，那么应该把它放到一个另外的单独的线程中，这样程序的那个事件循环就能够马上回来响应用户的下一个操作.线程是非常复杂的一个主题，如果处理的不好很容易造成死锁等很糟糕的情况. <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;还好，eclipse为我们开发插件提供了一个方便的UI线程包，大大的简化了很多底层复杂的东西.先看看几个简单的概念.<br />
<br />
　　<span style="color: blue">1.SWT UI线程</span><br />
<br />
　　SWT用的是操作系统直接支持的线程模式，程序会在主程序里运行一个时间循环并依次在这个线程里响应事件.看下面这段代码，UI线程就是创建Display的那个线程.<br />
<br />
&nbsp;</p>
<pre class="overflow">
public static void main (String [] args) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display display = new Display ();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shell shell = new Shell (display);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.open ();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 开始事件循环<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 关掉窗口后<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (!shell.isDisposed ()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!display.readAndDispatch ())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.sleep ();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.dispose ();<br />&nbsp;&nbsp; }</pre>
<p><br />
<br />
　　简单的小程序里，一个UI线程就能够满足需要了。但如果是长时间的操作，你就最好不要用UI线程来做这些事，可以交给Job去做.它其实就是另外启动的线程，也就是等会我要说的非UI线程.<br />
<br />
　　<span style="color: blue">2、Job</span><br />
<br />
　　Job类由org.eclipse.core.runtime插件提供.它能够让客户程序员轻松的在另外的线程中执行代码。看一个小例子：<br />
<br />
&nbsp;</p>
<pre class="overflow">
&nbsp;&nbsp;Job job = new Job(&quot;My First Job&quot;) {<br />&nbsp;&nbsp;&nbsp;&nbsp; protected IStatus run(IProgressMonitor monitor) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Hello World (from a background job)&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Status.OK_STATUS;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp; };<br />&nbsp;&nbsp;job.setPriority(Job.SHORT);<br />&nbsp;&nbsp;job.schedule(); // start as soon as possible</pre>
<p><br />
<br />
　　Job的默认优先级是Job.Long，这里例子中的优先级要比它高，只要调用Job#schedule()，它就会尽快在另外的线程中运行run()中的代码。再看一个小例子:<br />
<br />
&nbsp;</p>
<pre class="overflow">
final Job job = new Job(&quot;Long Running Job&quot;) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected IStatus run(IProgressMonitor monitor) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(hasMoreWorkToDo()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // do some work<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (monitor.isCanceled()) return Status.CANCEL_STATUS;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return Status.OK_STATUS;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } finally {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;schedule(60000); // start again in an hour<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp; };<br />&nbsp;&nbsp;job.addJobChangeListener(new JobChangeAdapter() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void done(IJobChangeEvent event) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (event.getResult().isOK())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; postMessage(&quot;Job completed successfully&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;postError(&quot;Job did not complete successfully&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;job.setSystem(true);<br />&nbsp;&nbsp;&nbsp;&nbsp; job.schedule(); // start as soon as possible</pre>
<p><br />
<br />
　　monitor是一个进度显示条，它会在运行job时自动显示，如果任务成功运行完成，返回Status.OK_STATUS，如果中途被用户在进度显示条那里中断，就返回Status.CANCEL_STATUS.上面schedule(60000);它是让job每过1小时就自动运行，Job又一个非常强大的功能。然后后面是可以给job添加监听器，<br />
job.setSystem(true);这一句是把这个job设置为系统级别的.如果调用setUser(true)，那么就被定义为用户级别的，用户级别和默认级别的job。<br />
<br />
　　在运行时会以UI形式反映出来，如果是用户job，那么会弹出一个进度显示窗口，能让用户选择在后台里运行，下图是一个job自动运行时的效果:<br />
<br />
<br />
<br />
　　再介绍job常常用到的一个方法Job#join()，系统调用到某个job，调用它的run()方法。再看下面这个例子:<br />
<br />
&nbsp;</p>
<pre class="overflow">
&nbsp;&nbsp;&nbsp;&nbsp;class TrivialJob extends Job {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public TrivialJob() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super(&quot;Trivial Job&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public IStatus run(IProgressMonitor monitor) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;This is a job&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Status.OK_STATUS;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp; }</pre>
<p><br />
&nbsp;&nbsp; <br />
　　job的创建和计划如下所示:<br />
<br />
&nbsp;</p>
<pre class="overflow">
&nbsp;&nbsp; TrivialJob job = new TrivialJob();<br />&nbsp;&nbsp; System.out.println(&quot;About to schedule a job&quot;);<br />&nbsp;&nbsp; job.schedule();<br />&nbsp;&nbsp; System.out.println(&quot;Finished scheduling a job&quot;);</pre>
<p><br />
&nbsp;&nbsp; <br />
　　他们的执行是和时间没关系的，输出可能如下:<br />
<br />
&nbsp;&nbsp; About to schedule a job<br />
&nbsp;&nbsp; This is a job<br />
&nbsp;&nbsp; Finished scheduling a job<br />
<br />
　　也可能是:<br />
<br />
&nbsp;&nbsp; About to schedule a job<br />
&nbsp;&nbsp; Finished scheduling a job<br />
&nbsp;&nbsp; This is a job<br />
&nbsp;&nbsp; <br />
　　如果希望某个job运行完成后在继续时，可以使用join()方法，join()会一直阻塞到该job运行完。<br />
&nbsp;&nbsp; <br />
　　例子:<br />
<br />
&nbsp;</p>
<pre class="overflow">
&nbsp;&nbsp; TrivialJob job = new TrivialJob();<br />&nbsp;&nbsp; System.out.println(&quot;About to schedule a job&quot;);<br />&nbsp;&nbsp; job.schedule();<br />&nbsp;&nbsp; job.join();<br />&nbsp;&nbsp; if (job.getResult().isOk())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;Job completed with success&quot;);<br />&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;Job did not complete successfully&quot;);</pre>
<p><br />
<br />
　　上面的代码执行后，输出应该就是这样:<br />
<br />
　About to schedule a job<br />
&nbsp;&nbsp; This is a job<br />
&nbsp;&nbsp; Job completed with success<br />
<br />
　　Job的功能是很强大的，还有很多功能我以后会介绍，也可以查阅官方帮助文档，这里先把几个常用的问题解决掉。参见:<br />
<br />
http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/runtime_jobs.htm<br />
<br />
　　3、如果在Job中加上改变UI的代码就会失败。原因如下:<br />
<br />
　　如果是在非UI线程中调用UI，SWT就会抛出一个SWTException，要在一个非UI线程改变UI的话有几种技术:<br />
<br />
　　第一种，用:<br />
<br />
Display#syncExec(Runnable)或<br />
Diaplay#asyncExec(Runnable)<br />
<br />
　　第二种:<br />
<br />
　　已经开发了另外一种Job，就是UIJob，可以直接在它里面运行改变UI的代码，其实它就是在SWT的asyncExec()方法里运行的.所有继承UIJob的类应该覆写runInUIThread方法而不是run方法。<br />
<br />
　<span style="color: blue">　3.关于进度显示</span><br />
<br />
　　在Jface中:<br />
<br />
　　org.eclipse.jface.operations包定义了一些接口用来在进度条下运行长时间的任务。可以参见:<br />
http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/jface_operations.htm<br />
<br />
　　在eclipse插件和RCP开发中:<br />
<br />
　　用户级别的job是互操作性最强的，它不仅能够让用户用Cancel键取消job，而且可以在Detail中展示具体情况，但是注意:<br />
<br />
　　Detail只会在下面两种方法中出现:<br />
<br />
　　IProgressService#busyCursorWhile或<br />
　　IProgressService#runInUI<br />
<br />
　　1)IProgressService#busyCursorWhile的用法例子:<br />
<br />
　　注意这里的run()中做些和UI无关的事：<br />
<br />
&nbsp;</p>
<pre class="overflow">
IProgressService progressService = PlatformUI.getWorkbench().getProgressService();<br />&nbsp;&nbsp; progressService.busyCursorWhile(new IRunnableWithProgress(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void run(IProgressMonitor monitor) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //do non-UI work<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp; });</pre>
<p><br />
<br />
　　效果:<br />
<br />
<br />
<br />
　　2) IProgressService#runInUI的用法例子:<br />
<br />
　　注意这里的run()中可以做些和UI有关的事。<br />
<br />
&nbsp;</p>
<pre class="overflow">
progressService.runInUI(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlatformUI.getWorkbench().getProgressService()，<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new IRunnableWithProgress() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void run(IProgressMonitor monitor) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//do UI work<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}，<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Platform.getWorkspace().getRoot());</pre>
<p><br />
<br />
　　效果:<br />
<br />
<br />
<br />
　　这里最后一个参数可以是null，或者是这个操作的规则，在这里我们是设定运行这个UI操作时锁定工作台.<br />
<br />
　　更加具体的可以参见:<br />
<br />
http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_jobs.htm<br />
<br />
　　另外，有少数时候，我们不想弹出一个进度条窗口，而是只在最底下的状态栏显示就可以了，很简单，写自己的Job类时，在构造方法里加上一句:<br />
setUser(false);就可以了.<br />
&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=375" /> 
	  <id>http://blog.y6cn.com/default.asp?id=375</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转载]Java语言编码规范(Java Code Conventions)晨光]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=5" label="J2SE" /> 
	  <updated>2008-08-10T08:08:38+08:00</updated>
	  <published>2008-08-10T08:08:38+08:00</published>
		  <summary type="html"><![CDATA[<p>Java语言编码规范(Java Code Conventions)</p>
<p><a target="_blank" href="http://blog.y6cn.com/article/javacodeconv.html">查看地址</a></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=374" /> 
	  <id>http://blog.y6cn.com/default.asp?id=374</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转载]ie6绿色版下载]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=3" label="软件收集" /> 
	  <updated>2008-08-08T10:33:35+08:00</updated>
	  <published>2008-08-08T10:33:35+08:00</published>
		  <summary type="html"><![CDATA[做个皮肤css在ie7和6中不兼容，我不可能装两个浏览器吧，所以找了个绿色版。很方便的。<br/>下载：<a target="_blank" href="http://www.0771px.com/blog/uploads/soft/IE6-Standalone.rar" rel="external">IE6-绿色版.rar</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=373" /> 
	  <id>http://blog.y6cn.com/default.asp?id=373</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[原创]盟军敢死队2部分关节密码]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=7" label="游戏相关" /> 
	  <updated>2008-08-07T16:57:05+08:00</updated>
	  <published>2008-08-07T16:57:05+08:00</published>
		  <summary type="html"><![CDATA[<p>这是我在整理物品时翻出来的，具体是不是第二版我也记不清了，贴出来供大家参考。</p>
<p>YS2B7</p>
<p>4MD1T</p>
<p>GDNCQ</p>
<p>24TCG</p>
<p>QT1WN</p>
<p>1QVJV</p>
<p>D99XC</p>
<p>7LPB8</p>
<p>K4CMY</p>
<p>AD0DD(这个0具体是什么我忘了，自己在数字和字母间换一下)</p>
<p>2FHD3</p>
<p>GSUWW</p>
<p>A18D1</p>
<p>共13个，其它的我没时间玩了，所以放在那里了，欢迎补充。</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=372" /> 
	  <id>http://blog.y6cn.com/default.asp?id=372</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[原创]tomcat虚拟目录配置]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=4" label="J2EE" /> 
	  <updated>2008-08-07T08:30:16+08:00</updated>
	  <published>2008-08-07T08:30:16+08:00</published>
		  <summary type="html"><![CDATA[<p>如果tomat&nbsp;(我的版本是6.0)安装在c:\tomcat下<br />
在它下面的conf目录中新建文件夹Catalina<br />
然后在Catalina里新建文件夹localhost<br />
然后在localhost下面新建一个xml文件，名字任意，内容如下：<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; <br />
&lt;Context&nbsp;<br />
path=&quot;/site（地址栏访问的路径：http://localhost:8080/site）&quot;&nbsp;<br />
reloadable=&quot;true&quot;&nbsp;<br />
debug=&quot;0&quot;<br />
docBase=&quot;你的项目所在的绝对路径（D:\jsp）&quot;&nbsp;<br />
workDir=&quot;D:\jsp\work&quot;&gt;<br />
&lt;/Context&gt;<br />
&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=371" /> 
	  <id>http://blog.y6cn.com/default.asp?id=371</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转载]WinXP安装IIS 遇到0x4b8错误的问题解决]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=12" label="资料收集" /> 
	  <updated>2008-07-30T03:34:41+08:00</updated>
	  <published>2008-07-30T03:34:41+08:00</published>
		  <summary type="html"><![CDATA[<p>1、测试secedit.sdb完整性：<br />
开始--运行--cmd<br />
esentutl /g c:\windows\security\database\secedit.sdb<br />
返回<br />
integritychecksuccessful.</p>
<p>2、修复数据库：<br />
esentutl /p c:\windows\security\database\secedit.sdb<br />
然后再次尝试安装iis，通过！</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=354" /> 
	  <id>http://blog.y6cn.com/default.asp?id=354</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转载]组策略中创建管理单元失败]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=12" label="资料收集" /> 
	  <updated>2008-07-30T01:59:46+08:00</updated>
	  <published>2008-07-30T01:59:46+08:00</published>
		  <summary type="html"><![CDATA[<p>前几天重装了系统，在设置&ldquo;<b>组策略</b>&rdquo;的时候，突然出现了这个现象。<br />
<font size="2">现象： 运行gpedit.msc 提示如下:<br />
　　　 管理单元初始化失败。<br />
　　　 名称：<b>组策略</b>　　　</font><br />
<font size="2">CLS<font color="#8d8d8d">ID</font>:{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}</font><br />
如图：<br />
<br />
<br />
<br />
<br />
在网上查找了一些资料后，总共总结出一下几种方法，供大家学习参考：<br />
法一、&nbsp;&nbsp;1、点击『开始』菜单 <br />
　　　　2、点击&ldquo;运行&rdquo; <br />
　　　　3、键入&quot;regedit&quot;（不包括感叹号） <br />
　　　　4、在注册表键值HKEY_CURRENT_USERSoftwarePoliciesMicrosoftMMC<br />
　　　　请将 RestrictToPermittedSnapins 的值设置为 0<br />
<br />
方法二、1、点击『开始』菜单 <br />
　　　　2、点击&ldquo;运行&rdquo; <br />
　　　　3、键入&quot;regedit&quot;（不包括感叹号） <br />
　　　　4、在注册表键值　 HKEY_CURRENT_USERSoftwarePoliciesMicrosoftMmc{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}Restrict_Run <br />
和HKEY_CURRENT_USERSoftwarePoliciesMicrosoftMMC{0F6B957E-509E-11D1-A7CC-0000F87571E3}Restrict_Run 请将 Restrict_Run 的值设置为 0 <br />
&nbsp; &nbsp;&nbsp; &nbsp; 5、修改完毕后重启。<br />
<br />
方法三、1、点击『开始』菜单 <br />
　　　　2、点击&ldquo;运行&rdquo; <br />
　　　　3、键入&quot;regedit&quot;（不包括感叹号） <br />
　　　　4、在注册表键值HKEY_CLASSES_ROOTCLS<a href="http://www.suoxie.com/?id" target="_blank"><font size="2"><font color="#8d8d8d">ID</font></font></a><font size="2">{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}InProcServer32 把其中的default改成：%SystemRoot%System32GPEdit.dll<br />
&nbsp; &nbsp;&nbsp; &nbsp; 5、修改完毕后重启。<br />
<br />
方法四、检查环境变量： <br />
　　　&nbsp;&nbsp;a、右击&ldquo;我的电脑&rdquo;点击&ldquo;属性&rdquo;出现&ldquo;系统属性&rdquo;面板 <br />
　　　　d、在&ldquo;系统属性&rdquo;中点击&ldquo;高级&rdquo;标签 <br />
　　　　e、在&ldquo;高级&rdquo;标签页中点击&ldquo;环境变量&rdquo;按钮 <br />
　　　　f、在&ldquo;环境变量&rdquo;中的&ldquo;系统变量&rdquo;框中的变量名为Path中修改变量值为： <br />
　　　　　　　%Systemroot%System32;%Systemroot%;%Systemroot%system32WBEM <br />
<br />
方法五、运行regsvr32 filemgmt.dll <br />
　　　　a、点击『开始』菜单 <br />
　　　　b、点击&ldquo;运行&rdquo; <br />
　　　　c、键入&quot;regsvr32 filemgmt.dll&quot;（不包括感叹号）<br />
<br />
方法六、如果<b>组策略</b>找不到 framedyn.dll，就可能会出现这种错误。如果使用安装脚本，要确保脚本置于系统路径中的%windir%system32wbem 目录下。默认情况下，%windir%system32wbem 已经存在于系统路径中，因此，如果您不使用安装脚本，就不可能遇到这个问题。或试着将将Framedyn.dll文件从windows\system32wbem目录下拷贝到windows\system32目录下！ <br />
<br />
附：如果在方法一/二中提到的MMC项在你的计算机注册表中找不到，那么就手动建立即可。或者直接将下面内容复制粘贴进入记事本，并保存为后缀名为.reg的文件，双击运行该.reg文件即可。 </font><br />
<font size="2">我用到的是方法6，在windows\system32目录下没有framedyn.dll文件，把它考过去及解决了。</font><!--++ plugin_code qcomic begin--></p>
<p><font size="2">
<div style="padding-right: 1px; padding-left: 1px; padding-bottom: 5px; padding-top: 5px"><strong><font color="#008800">软件简介：</font></strong><br />
filemgmt.dll (5.1.2600.0)<br />
包含在软件 <br />
名字: Windows XP Home Edition, Deutsch <br />
执照: 商业 <br />
信息链接: <a href="http://www.microsoft.com/windowsxp/">http://www.microsoft.com/windowsxp/</a> <br />
文件细节 <br />
文件道路: C:\WINDOWS\system32 \ filemgmt.dll <br />
文件日期: 2002-08-29 14:00:00 <br />
版本: 5.1.2600.0 <br />
文件大小: 330.752 字节 <br />
检查和和文件hashes <br />
CRC32: 1E03306A <br />
MD5: 4651 7D71 BF9E 7986 6547 79D9 0580 8244 <br />
SHA1: 7C18 EA10 BDF3 487D 76C2 FFA4 F928 A3B7 3E71 AEDE <br />
版本资源信息 <br />
公司名称: Microsoft Corporation <br />
文件描述: Dienste und freigegebene ordner <br />
文件操作系统: Windows NT, Windows 2000, Windows XP, Windows 2003 <br />
文件类型: Dynamic Link Library (DLL) <br />
文件版本: 5.1.2600.0 <br />
内部名: FILEMGMT <br />
法律版权: &copy; Microsoft Corporation. Alle Rechte vorbehalten. <br />
原始的文件名: filemgmt.dll <br />
产品名称: Betriebssystem Microsoft&reg; Windows&reg; <br />
产品版本: 5.1.2600.0 <br />
&nbsp;</div>
</font></p>
<p><a class="downLinks" href="http://www.zhaodll.net/dll/download.asp?softid=1859&amp;downid=7&amp;id=1858" target="_blank">WEB迅雷专用下载地址</a></p>
<p><a class="downLinks" href="http://www.zhaodll.net/dll/download.asp?softid=1859&amp;downid=2&amp;id=1858" target="_blank">下载地址一</a></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=353" /> 
	  <id>http://blog.y6cn.com/default.asp?id=353</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转载]winxp添加组件中没有 Internet 信息服务（IIS）解决办法]]></title>
	  <author>
		 <name>y6cn</name>
		 <uri>http://blog.y6cn.com/</uri>
		 <email>y6cn@163.com</email>
	  </author>
	  <category term="" scheme="http://blog.y6cn.com/default.asp?cateID=12" label="资料收集" /> 
	  <updated>2008-07-30T00:49:58+08:00</updated>
	  <published>2008-07-30T00:49:58+08:00</published>
		  <summary type="html"><![CDATA[<p>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text"><font color="#000000" size="3">按下面的方法解决问题:<br />
            　　在运行中输入&quot;c:\windows\inf\sysoc.inf&quot;，系统会自动使用记事本打开sysoc.inf这个文件。在sysoc.inf中找到&quot;[Components]&quot;这一段，并继续找到类似&quot;iis=iis.dll,OcEntry,iis.inf,hide,7&quot;的一行字,把这一行替换为&quot;iis=iis.dll,OcEntry,iis.inf,,7&quot;。之后保存并关闭。(如果你怕改错，先把C:\WINDOWS\INF\SYSOC.INF做一份备份)<br />
            　　然后把winxp安装盘目录i386里的两个文件IIS.DL_和IIS.IN_拷贝到一个临时的目录（例如C:\AAA），然后在命令提示符状态下将当前目录转到C:\AAA，执行<br />
            　　EXPAND IIS.DL_ IIS.DLL<br />
            　　EXPAND IIS.IN_ IIS.INF<br />
            　　当然也可以用解压软件把两个文件的后缀都改为CAB,全部解压。<br />
            　　解出IIS.DLL及IIS.INF两个文件，将IIS.INF复制到C:\WINDOWS\INF目录下，将IIS.DLL 复制到C:\WINDOWS\SYSTEM32\SETUP目录下。<br />
            　　现在按&ldquo;开始-&gt;设置-&gt;控制面板-&gt;添加或删除程序-&gt;添加/删除Windows组件&rdquo;，这时你可以很兴奋地发现IIS出现了!!!<br />
            　　此后的过程就和PRO版的XP安装IIS差不多了，过程中会要求你选择winxp安装光盘的位置，只要输入指定的目录即可正常安装。（如果系统要认证版本，你可以选择取消）<br />
            　　安装完毕以后也许还不能直接用的，需要对IIS进行一些设置：<br />
            　　控制面板-&gt;管理工具-&gt;Internet服务管理器<br />
            　　然后点&ldquo;默认WEB站点&rdquo;的右键，转到&ldquo;目录安全性&rdquo;选项卡，点&ldquo;匿名访问和验证控制&rdquo;的&ldquo;编辑&rdquo;按钮，回弹出匿名方法新窗口，再点击其中&ldquo;匿名访问&rdquo;中的&ldquo;编辑&rdquo;按钮，将&ldquo;允许IIS控制密码&rdquo;全面的勾去掉，然后一路确定返回即可</font></div>
            </td>
        </tr>
    </tbody>
</table>
</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://blog.y6cn.com/article.asp?id=352" /> 
	  <id>http://blog.y6cn.com/default.asp?id=352</id>
  </entry>	
		
</feed>
