﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-HiccDS俱乐部</title><link>http://hiccds.cnblogs.com</link><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;为了技术的梦想，为了人生的目标，……，一起前进吧！QQ群：13496209　
团队博客文章移除列表及说明 </description><language>zh-cn</language><lastBuildDate>Fri, 04 Jul 2008 19:18:39 GMT</lastBuildDate><pubDate>Fri, 04 Jul 2008 19:18:39 GMT</pubDate><ttl>60</ttl><item><title>PHP之Smarty简单实现</title><link>http://www.cnblogs.com/zhuboxingzbx/articles/1235437.html</link><dc:creator>碎梦</dc:creator><author>碎梦</author><pubDate>Fri, 04 Jul 2008 03:55:00 GMT</pubDate><guid>http://www.cnblogs.com/zhuboxingzbx/articles/1235437.html</guid><description><![CDATA[首先，加载 Smarty 模版引擎，建立 Smarty 对象，设定 Smarty 对象的参数。
<br />
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #008000;">//</span><span style="color: #008000;">调用&nbsp;Smarty</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$template_name</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">test</span><span style="color: #000000;">'</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">模版文件夹名</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">require_once</span><span style="color: #000000;">(&nbsp;ROOT_PATH&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">includes/smarty/Smarty.class.php</span><span style="color: #000000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">包含smarty类文件</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Smarty;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">初始化Smarty</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">compile_check&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">打开模版编译检查</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">debugging&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">关闭调试</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">caching&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">关闭缓存</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">template_dir&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">template/{</span><span style="color: #800080;">$template_name</span><span style="color: #000000;">}/</span><span style="color: #000000;">"</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">设置模版路径</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">compile_dir&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">template_c</span><span style="color: #000000;">'</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">设置编译文件存放的文件夹</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">left_delimiter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">[##</span><span style="color: #000000;">'</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">设置左边界符</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">right_delimiter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">##]</span><span style="color: #000000;">'</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">设置右边界符号</span></div>
然后，调用函数：<br />
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff;">require_once</span><span style="color: #000000;">(&nbsp;ROOT_PATH&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">mods/mod_main.php</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$func</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">main_page</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$main_body</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$func</span><span style="color: #000000;">();&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">调用函数，实现不同功能，并用$main_body接收返回结果（其实就是一堆HTML）</span></div>
main_page函数如下：<br />
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;main_page()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">默认调用的函数</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">global</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$smarty</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">require_once</span><span style="color: #000000;">(&nbsp;ROOT_PATH&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">includes/ubb.inc.php</span><span style="color: #000000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">包含UBB文件</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$message_array</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">array</span><span style="color: #000000;">();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #800080;">$i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;</span><span style="color: #800080;">$i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;</span><span style="color: #800080;">$i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">循环取出结果</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">把结果存成二维数组</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$message_array</span><span style="color: #000000;">[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">array</span><span style="color: #000000;">(<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">id</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$i</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">username</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">测试username</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">content</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=&gt;</span><span style="color: #000000;">&nbsp;ubb(</span><span style="color: #000000;">'</span><span style="color: #000000;">测试content</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">用ubb函数过滤变量</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">assign(</span><span style="color: #000000;">'</span><span style="color: #000000;">message</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$message_array</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">替换模板变量</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">fetch(</span><span style="color: #000000;">'</span><span style="color: #000000;">message.tpl</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />}</span></div>
利用 Smarty 的 display 方法将网页秀出：<br />
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">assign(</span><span style="color: #000000;">'</span><span style="color: #000000;">main_body</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$func</span><span style="color: #000000;">());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">smarty方法，用来把模板里的[##$main_body##]部分用变量$main_body替换。</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #800080;">$smarty</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">display(</span><span style="color: #000000;">'</span><span style="color: #000000;">test.tpl</span><span style="color: #000000;">'</span><span style="color: #000000;">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">输出模板</span></div>
<br />
源代码：<a href="http://www.cnblogs.com/Files/zhuboxingzbx/Smarty.rar">Smarty简单示例</a>
<br />
Smarty中文文档：<a href="http://www.cnblogs.com/Files/zhuboxingzbx/Smarty%E6%89%8B%E5%86%8C.rar">Smarty中文文档</a>
<img src ="http://hiccds.cnblogs.comaggbug/1235437.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37528/" target="_blank">[新闻]《福布斯》:暴雪的新一波完美风暴已经到来</a>]]></description></item><item><title>JSP环境配置全解！</title><link>http://www.cnblogs.com/shiyangxt/archive/2008/06/30/1232392.html</link><dc:creator>施杨</dc:creator><author>施杨</author><pubDate>Mon, 30 Jun 2008 04:26:00 GMT</pubDate><guid>http://www.cnblogs.com/shiyangxt/archive/2008/06/30/1232392.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 14pt; color: #ff0000; font-family: 方正姚体">实现JSP文件环境配置除了MyEclipse外，最通俗的还是jdk加Tomcat。<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp; <br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp; 今天上午刚把期末考试搞定，就紧迫不及待的在李超和超哥的指导下完成了JSP环境配置。以后要专心搞JAVA了，呵呵。。。<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为了让我以后可以快速的独立配置环境。所以发这个帖子，方便自己同时也方便大家。<br style="font-family: " />
<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Windows系统的配置！<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp; <br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp; 下面进入正题------------&gt;<br style="font-family: " />
&nbsp;<span style="color: #333399">第一步：&nbsp; 在 <a style="font-family: " href="http://java.sun.com/jdk/">http://java.sun.com/jdk/</a>&nbsp;处下载JDK文件<br style="font-family: " />
&nbsp;第二步：&nbsp; 在 <a style="font-family: " href="http://jakarta.apache.org/">http://jakarta.apache.org/</a> 处下载Tomcat 6.0<br style="font-family: " />
&nbsp;第三步：&nbsp; 下载 <font style="font-family: " face="Verdana">jdk-6u4-windows-i586-p.exe 文件用于驱动jdk<br style="font-family: " />
&nbsp;第四步：&nbsp; 开始把文件解压缩并安装<br style="font-family: " />
&nbsp;第五步：&nbsp; 设置环境变量，把路径连到jdk函数文件，并在tomcat安装过程中设置路径<br style="font-family: " />
&nbsp;第六步：&nbsp; 检验tomcat是否安装成功，在浏览器中输入<a style="font-family: " href="http://localhost:8080/">http://localhost:8080/</a>&nbsp; ,然后如果成功，会给你提<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 示。<br style="font-family: " />
&nbsp;第七步：&nbsp; 在任意盘中，建立一个文件夹，命名work（随便起名），复制路径。<br style="font-family: " />
&nbsp;第八步：&nbsp; 修改tomcat的conf中的sever.xml文件（用记事本打开）<br style="font-family: " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;然后在文件末尾的&lt;/Host&gt;前加上<font style="font-family: " face="Courier New"><font style="font-family: " face="Verdana">&lt;Context path="" docBase= "D:\work"&nbsp; /&gt;</font></font>&nbsp;（我是在D盘<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下建的文件夹，命名为work）<br />
&nbsp;第九步：&nbsp; 完成，呵呵，庆祝一下吧！<br style="font-family: " />
</font></span><font style="font-family: " face="Verdana"><br style="font-family: " />
<span style="color: #800080">施杨</span>出品！<img style="font-family: " alt="" src="http://www.cnblogs.com/Emoticons/face/020.gif" />，<span style="background-color: #ccffff">谢绝转载</span>！<br style="font-family: " />
</font></span>
<img src ="http://hiccds.cnblogs.comaggbug/1232392.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37527/" target="_blank">[新闻]中国互联网公司在哪儿</a>]]></description></item><item><title>Zend Studio 实用快捷键一览表</title><link>http://www.cnblogs.com/zhuboxingzbx/articles/1231512.html</link><dc:creator>碎梦</dc:creator><author>碎梦</author><pubDate>Sat, 28 Jun 2008 01:28:00 GMT</pubDate><guid>http://www.cnblogs.com/zhuboxingzbx/articles/1231512.html</guid><description><![CDATA[注：本文省略&#8220;通用快捷键&#8221;描述，诸如：ctrl+N=新建，ctrl+O=打开，ctrl+C=复制，ctrl+V，ctrl+X&#8230;&#8230;等等几乎所有软件
都通用的一组快捷键，而着重介绍zde独有的快捷键，了解并灵活运用这些快捷键以后，一定能帮助您在实际的项目操作中更加游刃有余。
（怎么越写越觉得我是在做游戏秘籍，哈哈！）
<table border="1" cellpadding="0" cellspacing="0" width="100%">
    <caption><strong>编辑功能</strong> </caption>
    <tbody>
        <tr>
            <th scope="col" width="20%" height="23">组合键</th><th scope="col" width="52%">实现功能</th><th scope="col" width="28%">适用条件</th>
        </tr>
        <tr>
            <td align="center">Ctrl+/</td>
            <td>单行注释。当前为php代码时，则在光标所在行添加双斜杠行注释，选择多行则每一行都添加双斜杠；而当代码为html时则在行前后添加&lt;!-- --&gt;注释，选中多行将在选区前后添加&lt;!-- --&gt;注释，而非每行添加</td>
            <td>PHP代码、html代码全部适用，不适用于CSS部分</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Shift+/</td>
            <td>块注释，为选择的PHP代码添加/* */块注释，如果没有选择任何代码，则将光标所在行添加块注释</td>
            <td>PHP代码适用，对HTML代码其功能与Ctrl+/相同</td>
        </tr>
        <tr>
            <td align="center">Ctrl+U</td>
            <td>选择的代码片段全部转换为大写</td>
            <td>php、html等均适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+L</td>
            <td>选择的代码片段全部转换为小写</td>
            <td>php、html等均适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+D</td>
            <td>复制光标所在行</td>
            <td>所有代码均适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+E</td>
            <td>删除光标所在行</td>
            <td>所有代码均适用</td>
        </tr>
        <tr>
            <td align="center">Tab/Shift+Tab</td>
            <td>按tab增加代码缩进，默认为4个空格位置，可在首选项中进行设置，Shift+Tab则减少缩进，此操作对多行操作同样有效。即多行同时增加/减少缩进。</td>
            <td>所有代码均适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Alt+F</td>
            <td>在文件中查找，打开&#8220;在文件中查找&#8221;对话框</td>
            <td>整个ZDE环境适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+BackSpace</td>
            <td>删除光标前一个单词，或者一个符号，注意这里的&#8220;一个单词&#8221;是由ZDE自行理解的，与英文中的一个单词有一定出入</td>
            <td>所有代码均适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+G</td>
            <td>转到行。打开转到行对话框，填写行数字即可转到相应行，此为通用快捷键</td>
            <td>整个ZDE环境适用</td>
        </tr>
        <tr>
            <td align="center">Alt+ &#8594;,&#8592;</td>
            <td>右箭头是定位到光标的下一个位置，左箭头则是定位到光标的上一个位置。</td>
            <td>整个ZDE环境适用</td>
        </tr>
    </tbody>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
    <caption><strong>环境切换</strong> </caption>
    <tbody>
        <tr>
            <th scope="col" width="20%">组合键</th><th scope="col" width="52%">实现功能</th><th scope="col" width="28%">适用条件</th>
        </tr>
        <tr>
            <td align="center">Esc</td>
            <td>隐藏辅助窗口，以便让编辑区域最大，而文件管理器窗口不会隐藏</td>
            <td rowspan="4">整个ZDE环境适用</td>
        </tr>
        <tr>
            <td align="center">Ctrl+W</td>
            <td>切换自动换行，即当代码超长时是否出现横向滚动条</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Tab</td>
            <td>在各个编辑器标签页之间切换，也可描述为在多个打开的文件窗口间切换</td>
        </tr>
        <tr>
            <td align="center">Ctrl+F4</td>
            <td>关闭当前标签页，Alt+F4是关闭整个ZDE环境，注意下区别</td>
        </tr>
    </tbody>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
    <caption><strong>HTML标记</strong> </caption>
    <tbody>
        <tr>
            <th scope="col" width="20%">组合键</th><th scope="col" width="52%">实现功能</th><th scope="col" width="28%">适用条件</th>
        </tr>
        <tr>
            <td align="center">Ctrl+1,2,3</td>
            <td>分别添加一对&lt;h1&gt;、&lt;h2&gt;、&lt;h3&gt; html标签，</td>
            <td rowspan="5">所有代码部分</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Enter</td>
            <td>断行，即产生一个&lt;br /&gt;标签，这里注意ZDE自动产生的为&lt;br&gt;标签，不符合web标准</td>
        </tr>
        <tr>
            <td align="center">Ctrl+~</td>
            <td>空格即一个 注意：~键位于PC键盘数字1左侧，tab键上方</td>
        </tr>
        <tr>
            <td align="center">Ctrl+B</td>
            <td>粗体，产生一对&lt;b&gt;标签，web标准似乎提倡使用&lt;strong&gt;&lt;/strong&gt;</td>
        </tr>
        <tr>
            <td align="center">Alt+I</td>
            <td>斜体，产生一对&lt;i&gt;标签</td>
        </tr>
    </tbody>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
    <caption><strong>书签操作</strong> </caption>
    <tbody>
        <tr>
            <th scope="col" width="20%">组合键</th><th scope="col" width="52%">实现功能</th><th scope="col" width="28%">适用条件</th>
        </tr>
        <tr>
            <td align="center">F2</td>
            <td>添加/删除书签</td>
            <td rowspan="5">所有代码部分</td>
        </tr>
        <tr>
            <td align="center">Ctrl+F2</td>
            <td>跳到当前文件的下一个书签</td>
        </tr>
        <tr>
            <td align="center">Alt+F2</td>
            <td>在当前项目的所有书签间切换</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Shift+F2</td>
            <td>删除所有书签</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Shift+M</td>
            <td>显示书签对话框</td>
        </tr>
    </tbody>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
    <caption><strong>Zend Studio调试快捷键列表</strong> </caption>
    <tbody>
        <tr>
            <th scope="col" width="20%">组合键</th><th scope="col" width="52%">实现功能</th><th scope="col" width="28%">适用条件</th>
        </tr>
        <tr>
            <td align="center">F9</td>
            <td>添加/删除断点</td>
            <td rowspan="12">所有代码部分</td>
        </tr>
        <tr>
            <td align="center">F10</td>
            <td>逐过程。单步执行调试文件到下一行</td>
        </tr>
        <tr>
            <td align="center">F5</td>
            <td>开始执行。执行调试文件，直到遇到断点。</td>
        </tr>
        <tr>
            <td align="center">F8</td>
            <td>调试URL。打开调试URL对话框</td>
        </tr>
        <tr>
            <td align="center">F12</td>
            <td>概要文件URL。打开profile URL对话框</td>
        </tr>
        <tr>
            <td align="center">Shift+F8</td>
            <td>添加监视点。打开添加监视点对话框</td>
        </tr>
        <tr>
            <td align="center">Shift+F11</td>
            <td>跳出。单步执行到返回后执行的第一行</td>
        </tr>
        <tr>
            <td align="center">F11</td>
            <td>逐语句。单步执行到下一被执行的行</td>
        </tr>
        <tr>
            <td align="center">Shift+F10</td>
            <td>执行到光标行。执行代码到光标所在行。</td>
        </tr>
        <tr>
            <td align="center">Ctrl+F5</td>
            <td>无中断的执行脚本</td>
        </tr>
        <tr>
            <td align="center">Shift+F5</td>
            <td>停止调试器</td>
        </tr>
        <tr>
            <td align="center">Ctrl+Alt+B</td>
            <td>在浏览器中显示</td>
        </tr>
    </tbody>
</table>
注：调试快捷键只有在调试代码的时候才会用到。
<img src ="http://hiccds.cnblogs.comaggbug/1231512.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37526/" target="_blank">[新闻]微软:Silverlight内容也可被搜索引擎检索</a>]]></description></item><item><title>MySQL数据库操作类</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/25/1229317.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Tue, 24 Jun 2008 22:04:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/25/1229317.html</guid><description><![CDATA[摘要:  开始弄PHP，发现和ASP超像，OO还处于初级阶段，发现PHP自带的类库太强了，只要熟悉了类库，基本不用自己写什么了，先搞掂一个数据库操作类。CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1&lt;?php2//--------------&nbsp;&nbsp;<a href='http://www.cnblogs.com/amboyna/archive/2008/06/25/1229317.html'>阅读全文</a><img src ="http://hiccds.cnblogs.comaggbug/1229317.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37525/" target="_blank">[新闻]内置AI技术 三星聪明微波炉还能上网</a>]]></description></item><item><title>C语言结构体的使用！简易学生成绩统计程序发布！</title><link>http://www.cnblogs.com/shiyangxt/archive/2008/06/19/1226161.html</link><dc:creator>施杨</dc:creator><author>施杨</author><pubDate>Thu, 19 Jun 2008 11:41:00 GMT</pubDate><guid>http://www.cnblogs.com/shiyangxt/archive/2008/06/19/1226161.html</guid><description><![CDATA[编写环境C-Free（很很好用的编辑器，支持中文输出，而且非常清晰）由于压缩之后还是不让上传，所以留个邮箱我给发过去。<br />
下面进入正题：<br />
<font face="Verdana">#include &lt;stdio.h&gt;<br />
struct student<br />
{int num;<br />
char name[30];<br />
char sex;<br />
float Chinese;<br />
float Math;<br />
float English;<br />
}stu[4]={{2007480001,"hehe",'F',77.5,120.5,14.5},<br />
{2007480002,"haha",'M',13.5,10.5,1190.5},<br />
{2007480003,"dede",'F',10.5,90.5,119.5},{}};<br />
void main()<br />
{<br />
&nbsp;printf("********全班最好成绩*********\n\n");<br />
if ((stu[1].Chinese+stu[1].Math+stu[1].English)&gt;(stu[2].Chinese+stu[2].Math+stu[2].English))<br />
&nbsp;&nbsp;&nbsp; stu[4]=stu[1];<br />
&nbsp;else<br />
&nbsp;&nbsp;&nbsp; stu[4]=stu[2];</font>
<p><font face="Verdana">&nbsp;if ((stu[0].Chinese+stu[0].Math+stu[0].English)&gt;(stu[4].Chinese+stu[4].Math+stu[4].English))<br />
&nbsp;&nbsp;&nbsp; printf("第一名是 %s",stu[0].name);<br />
&nbsp;else<br />
&nbsp;&nbsp;&nbsp; printf("第一名是 %s\n\n",stu[4].name);</font></p>
<font face="Verdana">
<p><br />
&nbsp;printf("********及格情况*********\n\n");</p>
<p>int j,c=0,m=0,e=0;</p>
<p>&nbsp; for(int i=0;i&lt;3;i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; {if(stu[i].Chinese&lt;60)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {++c;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(stu[i].Math&lt;60)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {++m;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(stu[i].English&lt;60)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {++e;}<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
printf("语文不及格的人数有%d个。\n数学不及格的有%d个。\n英语不及格的有%d个.\n\n",c,m,e);<br />
float k,q,p;<br />
&nbsp;&nbsp;&nbsp; k=c/3.0f*100;<br />
&nbsp;&nbsp;&nbsp; q=m/3.0f*100;<br />
&nbsp;&nbsp;&nbsp; p=e/3.0f*100;<br />
printf("\n语文不及格的人数占%f%%。\n数学不及格的占%f%%。\n英语不及格的占%f%%.\n\n",k,q,p);</p>
<p>printf("********个人成绩数据*********\n\n");</p>
<p><br />
printf("姓名:%s 总分:%f 平均分:%f\n",stu[0].name,(stu[0].Chinese+stu[0].Math+stu[0].English),(stu[0].Chinese+stu[0].Math+stu[0].English)/3.0);<br />
printf("姓名:%s 总分:%f 平均分:%f\n",stu[1].name,(stu[1].Chinese+stu[1].Math+stu[1].English),(stu[1].Chinese+stu[1].Math+stu[1].English)/3.0);<br />
printf("姓名:%s 总分:%f 平均分:%f\n",stu[2].name,(stu[2].Chinese+stu[2].Math+stu[2].English),(stu[2].Chinese+stu[2].Math+stu[2].English)/3.0);<br />
}<br />
</font></p>
<br />
如果你想更复杂一点，可以把初定义去了，手写输入数据。<br />
只要用链表插入数据就可以，我这里就省了。<br />
总之可以做的复杂一点。挺实用的。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://hiccds.cnblogs.comaggbug/1226161.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37524/" target="_blank">[新闻]盛大设文学公司 原新浪博客负责人侯小强任CEO</a>]]></description></item><item><title>新遇到的系统编译问题！已解决！</title><link>http://www.cnblogs.com/shiyangxt/archive/2008/06/19/1226150.html</link><dc:creator>施杨</dc:creator><author>施杨</author><pubDate>Thu, 19 Jun 2008 11:06:00 GMT</pubDate><guid>http://www.cnblogs.com/shiyangxt/archive/2008/06/19/1226150.html</guid><description><![CDATA[<p>今天做C语言题真的遇到了很多麻烦。先是很慢很慢的做了几道程序设计。<br />
然后在结构体这块又遇到了系统编译错误。<br />
不过经过丰哥和百度的指导，已解决，如果大家有类似问题，可以参考。<br />
——————————————————————————————————————————————————————————<br />
在我运行程序时弹出了一个系统错误信息：&#8220;Visual Studio Just-In-Time Debugger&#8221; <br />
内容是：&#8216;An unhanled win32 exception occurred in explorer.exe[2548]. just-in-time debuenabled. in visual studio,just-in-debugging can be enabled from tools/options/debugging/just-in-time.&#8217; <br />
check the documentation index for 'just-in-time debugging,errors'for more information</cd><br />
这串代码把我搞糊涂了。<br />
然后是解决方案-------&gt;<br />
主要是因为系统的设定还是会去找VS.NET成为预设的侦错工具，但是您目前系统中已经没有VS.NET了，所以才会出现这个讯息。 <br />
点选[开始]&gt;[运行]，在"开启"对话框中键入以下指令： <br />
drwtsn32 -i <br />
点选[确定]，这个指令将会把Dr.Watson设定成预设的Debugger工具，这样就不会让您每次都会跳出这样的错误讯息了。<br />
————————————————————————————————————<br />
我由于以前装过.net系统，后来一直没做有关这方面的东西，于是就卸了。<br />
现在改了一下，就没问题了。<img src="http://www.cnblogs.com/Emoticons/QQ/thumbsup.gif"  alt="" /><br />
</ca></p>
<img src ="http://hiccds.cnblogs.comaggbug/1226150.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37523/" target="_blank">[新闻]Gmail、Hotmail和Yahoo验证码被攻破</a>]]></description></item><item><title>Apache Velocity实现模板化的最简实例</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/19/1225105.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Wed, 18 Jun 2008 22:23:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/19/1225105.html</guid><description><![CDATA[摘要:   现在发现了Apache Velocity，好东西呀，可以应用在很多领域，目前只用到他在Struts中做页面显示，以免同一个url负载过重&nbsp;&nbsp;<a href='http://www.cnblogs.com/amboyna/archive/2008/06/19/1225105.html'>阅读全文</a><img src ="http://hiccds.cnblogs.comaggbug/1225105.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37520/" target="_blank">[新闻]史玉柱称花掉8亿美元不容易 坚持谨慎投资原则</a>]]></description></item><item><title>用Apache Velocity模板引擎速造网站</title><link>http://www.cnblogs.com/zhuboxingzbx/articles/1225103.html</link><dc:creator>碎梦</dc:creator><author>碎梦</author><pubDate>Wed, 18 Jun 2008 21:54:00 GMT</pubDate><guid>http://www.cnblogs.com/zhuboxingzbx/articles/1225103.html</guid><description><![CDATA[<br />
<span class="a14c" id="zoom">基于Java的网站开发，很多人都采用JSP作为前端网页制作的技术，尤其是在国内。这种技术通常会存在一些问题，可以通过简单地分析网站开发过程来看看这些问题。通常网站开发采用以下两种方式：<br />
<br />
◆ 网站功能确定后，由美工设计网页的UI（界面）部分，然后由程序员在其上加入代码显示逻辑（比如循环、判断显示数据结果）。这就是通常的JSP页面制作，当然这部分可以由美工完成模板，然后由JSP工程师以它为原型创建相应的JSP页面。<br />
<br />
◆ 网站功能确定后，由美工设计网页的UI（界面）部分，然后由网页制作人员在其上加入代码显示逻辑（比如循环、判断显示数据结果）。在这一步的JSP页面制作中，网页制作人员通常只需要懂JavaScript和HTML，在工程师的指导下学会如何嵌入JSP taglib标记，然后以美工的模板为原型制作JSP网页。<br />
<br />
显然后一种方式要比前一种方式分工明确。然而在很多小公司，或者项目紧急的情况下，JSP网页制作和后台程序开发都是同一个人，这样无疑加大了程序员的负担。后一种情况也有两个缺点，一是网页制作人员必须学会如何使用JSP taglib，这将加大网页制作人员的负担；二是如果页面因为客户的要求重新设计，那么无论哪种情况，网页制作人员都要将显示逻辑重新嵌入JSP网页。<br />
<br />
虽然从性能角度和taglib的使用上来说，JSP比PHP和ASP做得要好，但它在设计上同样类似PHP这种服务器页面语言，即在页面中嵌入脚本语言的技术。这使得它虽然比传统基于CGI脚本语言的开发模式速度快，但却将后台程序逻辑与页面显示混淆。<br />
<br />
<strong>用MVC模式开发网站</strong><br />
<br />
现在更多的网站制作采用一种称为MVC的模式，也就是将网站制作工作分工，分为M（Model，模型）、V（View，视图）和C（Controller，控制器）。<br />
<br />
◆ M（Model，模型） M包括后台的事务逻辑、真正处理事务的代码和商业逻辑等，它们是整个网站最重要的工作部分。通常这部分代码相对比较稳定，不会经常变动，就是有所变动也不会对前端的页面产生影响。<br />
<br />
◆ V（View，视图） V是网页的显示部分，这部分接受来自后台程序的结果或数据，进行显示。V视图通常是变化比较大的部分，比如网站界面的每日更新，每隔一段时间更新网页风格等都会造成V视图部分的大量更改工作。<br />
<br />
◆ C（Controller，控制器） C在视图和模型之间传递控制，并根据要求调用相应的视图显示模型返回的数据，主要负责调度工作。<br />
<br />
这种职责的分工到底有什么好处呢？它简化了软件开发过程中所有相关人员的工作，使不同部分的修改通常不会影响到其它部分的工作。比如，修改后台某些程序的算法并不影响前台的页面显示，前台页面的修改也不影响后台程序的开发。<br />
<br />
这种分工合作比起JSP混淆代码逻辑和显示层的方式要好得多。所以越来越多的国外程序员在不断提出替代JSP的方案。在众多方案中，基于Java模板引擎的技术脱颖而出，其中著名的有Velocity和Webmacro两种模板技术。</span><br />
<br />
<span class="a14c" id="zoom">
<p style="text-indent: 2em"><strong>Velocity模板引擎</strong><br />
<br />
模板引擎的设计思想最早由Webmacro提出，并被应用在一个著名的搜索引擎www.altavista.com上。后来，这种思想渐渐被Apache开发小组所采用，并作为一个子项目被提出来，这就是现在的Velocity。<br />
<br />
模板引擎与MVC中视图部分的关系更为密切。Velocity可以应用在任何需要格式化数据显示的Java程序中。那么Velocity到底是什么呢？它的官方解释是：&#8220;Velocity是一种基于Java的模板引擎，它允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象。&#8221;<br />
<br />
使用Velocity的优点在于：<br />
<br />
◆ 很容易集成在各种各样的程序领域中；<br />
<br />
◆ 为网页制作人员提供了一种清晰而简单的语法；<br />
<br />
◆ 因为模板和代码是分离的，所以可以分别独立的开发和维护它们；<br />
<br />
◆ Velocity引擎可以很容易地集成到一些Java运行环境，特别是Servlet中；<br />
<br />
◆ Velocity使得模板可以访问任何环境对象中的共有方法。<br />
<br />
Velocity的强大之处还在于它严格地区分程序开发功能的职责划分。它通过限制模板可能访问的对象（即后台程序允许其得到的对象）来实现这一点。这意味着网页设计人员可以只把精力放在数据的显示部分（View），而程序员则只要关注如何写好程序的控制层（Controller）、商业逻辑与数据管理（Model）。这就是典型的MVC开发模式，它简化了开发和日益复杂的应用和维护工作。<br />
<br />
Velocity最擅长做的工作包括：<br />
<br />
◆ 基于Servlet的网站制作；<br />
<br />
◆ Java和SQL代码生成；<br />
<br />
◆ XML处理和转换；<br />
<br />
◆ 文字处理，比如生成trf文件等。<br />
<br />
不过，Velocity用得最多的还是在基于Java Servlet的网页程序中做生成网页的引擎，以替代JSP等技术。除了使用比较容易外，它提供了强大的模板语言来显示和操作数据。注意，不是生成数据，这点很重要，因为生成工作应该是程序逻辑的部分。<br />
<br />
Velocity非常适合在J2EE（Java 2 Platform，Enterprise Edition）的网站开发中替代JSP，做输出页面的技术工作。虽然JSP包含在J2EE规范中，但是J2EE本身并不需要JSP。<br />
<br />
<strong>用Velocity做网页</strong><br />
<br />
Velocity是如何工作的呢？虽然大多数Velocity的应用都是基于Servlet的网页制作，但是为了说明Velocity的使用，这里将采用更通用的Java Application来说明它的工作原理。<br />
<br />
任何Velocity的应用都包括模板制作和程序部分两个方面。按照惯例，采用HelloWorld来作为第一个程序的示例。<br />
<br />
1． 模板制作模板示例hellosite.vm的内容如下（虽然其不是以HTML为主，但很容易改成一个HTML的页面）： </ccid_nobr></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>Hello $name!  Welcome to $site world!</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">2．Java程序部分 </p>
<p style="text-indent: 2em">下面是Java代码： </p>
<p style="text-indent: 2em"></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>import java.io.StringWriter;
            import org.apache.velocity.app.VelocityEngine;
            import org.apache.velocity.Template;
            import org.apache.velocity.VelocityContext;
            public class HelloWorld
            {
            public static void main( String[] args )
            throws Exception
            {
            /*  first, get and initialize an engine  */
            VelocityEngine ve = new VelocityEngine();
            ve.init();
            /*  next, get the Template  */
            Template t = ve.getTemplate( "hellosite.vm" );
            /*  create a context and add data */
            VelocityContext context = new VelocityContext();
            context.put("name", "Eiffel Qiu");
            context.put("site", "http://www.eiffelqiu.com");
            /* now render the template into a StringWriter */
            StringWriter writer = new StringWriter();
            t.merge( context, writer );
            /* show the World */
            System.out.println( writer.toString() );
            }
            }</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">将这两个文件放在同一个目录下，编译运行，结果是： </p>
<p style="text-indent: 2em"></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>Hello Eiffel Qiu!  Welcome to http://www.eiffelqiu.com world</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">为了保证运行顺利，请从Velocity的网站http://jakarta.apache.org/velocity/上下载Velocity的运行包，并将其中Velocity Jar包的路径放在系统的Classpath中，这样就可以顺利编译和运行以上程序了。 <br />
<span class="a14c" id="zoom"></p>
<p style="text-indent: 2em">这个程序很简单，但是它能清楚地说明Velocity的基本工作原理。程序中的其它部分基本上很固定，最主要的部分在以下几段代码。<br />
<br />
◆ Velocity获取模板文件，得到模板引用：<br />
<br />
</ccid_nobr></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>Template t = ve.getTemplate( "hellosite.vm" );</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">◆ 初始化环境，并将数据放入环境： </p>
<p style="text-indent: 2em"></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>VelocityContext context = new VelocityContext();
            context.put("name", "Eiffel Qiu");
            context.put("site", "http://www.eiffelqiu.com");</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">◆ 初始化Velocity模板引擎： </p>
<p style="text-indent: 2em"></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>VelocityEngine ve = new VelocityEngine();
            ve.init();</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">◆ 将环境变量和输出部分结合： </p>
<p style="text-indent: 2em"></p>
<center><ccid_nobr>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tbody>
        <tr>
            <td class="code" style="font-size: 9pt" bgcolor="#e6e6e6">
            <pre><ccid_code>StringWriter writer = new StringWriter();
            t.merge( context, writer );
            /* show the World */
            System.out.println( writer.toString() );</ccid_code></pre>
            </td>
        </tr>
    </tbody>
</table>
</ccid_nobr></center>
<p style="text-indent: 2em">这一部分在将来的Servlet应用中会有所区别，因为网页输出并不和命令行输出相同，如果用于网页输出，将并不通过System.out输出。 </p>
<p style="text-indent: 2em"><strong>小结</strong> </p>
<p style="text-indent: 2em">Velocity解决了如何在Servlet和网页之间传递数据的问题，当然这种传输数据的机制是在MVC模式上进行的，也就是View、Modle和Controller之间相互独立工作，一方的修改不影响其它方面的变动。 </p>
<p style="text-indent: 2em">他们之间的联系通过环境变量（Context）来实现，当然网页制作方和后台程序方要相互约定好对所传递变量的命名，比如上个程序例子中的site、name变量，它们在网页上就是$name、$site。 </p>
<p style="text-indent: 2em">这样只要双方约定好变量名字，就可以独立工作了。无论页面如何变化，只要变量名不变，后台程序无需改动，前台网页也可以任意由网页制作人员修改。 </p>
<p style="text-indent: 2em">通常简单变量名无法满足网页制作显示数据的需要，比如经常会循环显示一些数据集，或者是根据一些数据的值来决定如何显示下一步的数据等。 </p>
<p style="text-indent: 2em">Velocity同样提供了循环、判断的简单语法以满足网页制作的需要。Velocity提供了一个简单的模板语言，供前端网页制作人员使用，这个模板语言简单到大部分懂得JavaScript的人都可以很快掌握，其甚至比JavaScript更简单。 </p>
<p style="text-indent: 2em">当然这种简单是刻意的，因为不需要Velocity什么都能完成，而只需专注于其应该完成的。View层不应该包含更多的逻辑，Velocity的简单模板语法完全可以满足所有对页面显示逻辑的需要，并且也不会发生像JSP那样因为一个无限循环语句而毁掉系统的情况。 </p>
</span></span>&nbsp; <a title="程序代码" href="http://www.cnblogs.com/Files/zhuboxingzbx/Velocity.rar">程序代码</a> 
<img src ="http://hiccds.cnblogs.comaggbug/1225103.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37519/" target="_blank">[新闻]我乐网(56.com)关停1月 套牢2亿风投</a>]]></description></item><item><title>Struts传值中文乱码最简解决方案</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/18/1224596.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Wed, 18 Jun 2008 05:29:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/18/1224596.html</guid><description><![CDATA[摘要: 　　又有一个新的项目快开始了，可能还是要用到SSH框架，于是决定重新总结一下SSH的使用，其实框架的使用还是很简单的，应该把更多的精力放到框架实现原理的学习上。&nbsp;&nbsp;<a href='http://www.cnblogs.com/amboyna/archive/2008/06/18/1224596.html'>阅读全文</a><img src ="http://hiccds.cnblogs.comaggbug/1224596.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37518/" target="_blank">[新闻]微软七月安全公告预告:四个重要等级更新</a>]]></description></item><item><title>JAVA写入Mysql中文乱码解决方法</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/18/1224570.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Wed, 18 Jun 2008 04:50:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/18/1224570.html</guid><description><![CDATA[摘要: 　　页面传值中有中文的时候，可以使用filter来搞掂，可是好容易System.out.println可以出中文了，可以插入到Mysql里，还是乱码。（超，你的免费空间可能也是这个问题）&nbsp;&nbsp;<a href='http://www.cnblogs.com/amboyna/archive/2008/06/18/1224570.html'>阅读全文</a><img src ="http://hiccds.cnblogs.comaggbug/1224570.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37517/" target="_blank">[新闻]雅虎:一颗棋子的起落</a>]]></description></item><item><title>整出一个css书写规范</title><link>http://www.cnblogs.com/sikeart/articles/1224544.html</link><dc:creator>gaoleilucky</dc:creator><author>gaoleilucky</author><pubDate>Wed, 18 Jun 2008 04:04:00 GMT</pubDate><guid>http://www.cnblogs.com/sikeart/articles/1224544.html</guid><description><![CDATA[<p><font face="Verdana">一、 基本书写规范　　 </font></p>
<p><font face="Verdana">1、所有的CSS的尽量采用外部调用 <br />
　　 &lt;LINK href="style/style.css" rel="stylesheet" type="text/css"&gt; <br />
　　 <br />
　　书写时重定义的最先，伪类其次，自定义最后（其中a:link a:visited a:hover a:actived 要按照顺序写）便于自己和他人阅读。 <br />
　　 <br />
　　为了保证不同浏览器上字号保持一致，字号建议用点数pt和像素px来定义，pt一般使用中文宋体的9pt和11pt，px一般使用中文宋体12pt 和14.7px 这是经过优化的字号，黑体字或者宋体字加粗时，一般选用11pt和14.7px 的字号比较合适。 <br />
　　 <br />
2、CSS推荐模板: <br />
　　 <br />
　　&lt;style type="text/css"&gt; <br />
　　&lt;!— <br />
body { font-size:9pt; font-family:Arial, Helvetica, sans-serif; color:#333333; text-align:center; margin:0px;} <br />
ul { margin:auto; } <br />
img { border:0px; } <br />
a { font-size:9pt; text-decoration:none;color:#FFFFFF; } <br />
a:hover { font-size:9pt; text-decoration:underline; color:#990000; } <br />
a.1 { font-size: 9pt; color: #3366cc; text-decoration: none} <br />
a.1:hover { font-size: 9pt; color: #FF9900; text-decoration: none} </font></p>
<p><font face="Verdana">.colorblue,colorblue:hover { color:#003366 ;} <br />
.blue { font-family: "宋体"; font-size: 9pt; line-height: 20px; color: #0099FF; letter-spacing: 5em} </font></p>
<p><font face="Verdana">.colorRed,a.colorRed:hover{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color: #FF0000; } <br />
.colorLime,a.colorLime:hover{&nbsp;&nbsp;&nbsp; color: #00FF00; } <br />
.colorGreen,a.colorGreen:hover{&nbsp;&nbsp;&nbsp; color: #008000; } <br />
.colorBlue,a.colorBlue:hover{&nbsp;&nbsp;&nbsp; color: #0000FF; } <br />
.colorOrange,a.colorOrange:hover{&nbsp; color: #FFA500; } <br />
　　--&gt; <br />
　　&lt;/style&gt; <br />
　　 <br />
　　 <br />
　　为了保证浏览器的兼容性，必须设置页面背景&lt;body bgcolor="#FFFFFF"&gt; </font></p>
<p><font face="Verdana">3、其中注释写法，例：/*header begin!*/ </font></p>
<font face="Verdana">
<p><br />
二、CSS命名参考 </p>
<p>1、常用的CSS命名规则： <br />
头：header <br />
内容：content/container <br />
尾：footer <br />
导航：nav <br />
侧栏：sidebar <br />
栏目：column </p>
<p>2、直观命名 </p>
<p>当在设计Web页面以及需要对一个div进行标识的时候，最自然的想法就是使用可以描述元素所在页面位置的词汇来对其命名。这种方法使得类以及id的名称如下面所示： </p>
<p>自上而下小组：top-panel </p>
<p>横向：horizontal-nav </p>
<p>左面：left-side </p>
<p>中心-栏目：center-column </p>
<p>右面：right-col </p>
<p>这些是CSS以及XHTML类和id的有效命名方式。这些词汇简单并且能够使人顾名思义，因此满足了标识页面元素以及相应的CSS样式的需要。 </p>
<p>但问题是这样的名称同页面内容的特定表达方式相关联。这些命名参考了某种特定页面布局中的页面元素位置，因此在这样的布局之外使用就会显得不合适甚至造成理解混乱。同时，这些命名没有涉及文档内容的结构。因此，下面给出了对CSS类以及ID命名更好的方法。 </p>
<p>3、结构化命名 </p>
<p>结构化的标记意味着表达方式/位置信息同内容的完全分离——这其中包括出现在标记（markup）中的类和id名称。 </p>
<p>有标记的相关信息都是用来描述文档的结构而不是外观。这样的特点使得我们可以通过简单的改变CSS的方式来对不同外观格式下的内容（content）以及标记（markup）进行重用。当你理解这种方式时，很容易就可以发现采用页面位置来为类以及id命名的方式在处理如音频（audio）等外观格式上显得非常不合适。因此，应当根据在文档中的使用目的而非出现位置来对类以及id进行结构化命名。 </p>
<p>可以按照如下所示的结构化方式来对类以及id名称命名： </p>
<p>顶部抢眼部分：branding </p>
<p>导航部分：main-nav </p>
<p>主要内容部分：main-content </p>
<p>这些名字同直观命名方式一样非常易懂，但他们描述了页面元素的作用而非位置。这使得代码更加符合使用纯粹的结构化标记（structural markup）的初衷，即开发人员可以在不改变标记的情况下对各种各样媒体下的显示格式进行处理。 </p>
<p>即使你不打算在其他的媒体上对Web页面进行格式修改，使用结构化命名方式还可以帮助你在日后的站点升级或重新设计中更为轻松。例如，结构化命名避免了当一个div同id right-column移动到页面左边后所带来的混乱。对div sidebar的采用这样的命名方式就显得更加适当，因为无论它出现在页面的哪一边，这个名字仍然对开发人员来说直观易懂。 </p>
<p>4、惯例 </p>
<p>Andy Clarke分析了40份由推崇标准化Web设计理念的开发人员所设计的Web站点的源代码。尽管类以及id名称很不统一，但是还是发现了一些频繁出现的常用名称。这里给出了最常用类/id名称的示例列表： </p>
<p>header </p>
<p>content </p>
<p>nav </p>
<p>sidebar </p>
<p>footer </p>
<p>如果要查看完整的列表，可以看看最常见命名惯例表 </p>
<p>这些常见的类以及id名称是否标志着一种标准的诞生或是普遍接受惯例的形成呢？尽管这是我所希望的，但我并不这么认为。我的确希望能够看见一整套对于我们每天都可以看到的常用页面元素的命名标准。同时，使用标准化的命名方式可以使得寻找页面元素以及对Web站点升级带来方便，尤其当需要在由不同开发人员在不同时间所开发站点中换来换去工作的时候。 </p>
<p>review: </p>
<p>大的布局div可以以外观的方式命名(如header,footer)，其他的我觉得还是应该以描述所含内容的标准来命名（如menu，news） </p>
<p>5、自定义命名： </p>
<p>根据w3c网站上给出的,最好是用意义命名 <br />
比如：是重要的新闻高亮显示（像红色） <br />
有两种 <br />
.red{color:red} <br />
.important-news{color:red} <br />
很显然第二种传达的意义更加明确,所以尽量不要用意义不明确的作为自己自定义的名字 </p>
<p>&nbsp;</p>
<p>三、CSS样式书写顺序 </p>
<p>1、显示属性 <br />
* display * list-style * position * float * clear </p>
<p>2、自身属性 <br />
* width * height * margin * padding * border * background </p>
<p>3、文本属性 <br />
* color * font * text-decoration * text-align <br />
* vertical-align * white-space * other text * content </p>
<p>四、修正IE5解释容器宽度的方法 </p>
<p>E 6.0 Firefox Opera等是 <br />
真实宽度=width+padding+border+margin <br />
IE5.X <br />
真实宽度=width-padding-border-margin </p>
<p>方法1. <br />
div.content { <br />
width:400px; //这个是错误的width(对于ie5来说是正确的），所有浏览器都读到了 <br />
voice-family: "\"}\""; //IE5.X/win忽略了"\"}\""后的内容 <br />
voice-family:inherit; <br />
width:300px; //包括IE6/win在内的部分浏览器读到这句，新的数值(300px)覆盖掉了旧的 <br />
} </p>
<p>方法2. <br />
div.content { <br />
width:400px; <br />
} <br />
html&gt;body .content { //html&gt;body是CSS2的写法 <br />
width:300px; //支持CSS2该写法的浏览器(非IE5)有幸读到了这一句 <br />
} </p>
<p>方法3. <br />
div.content { <br />
width:300px !important; //这个是正确的width，大部分支持!important标记的浏览器使用这里的数值 <br />
width(空格)/**/:400px; //IE6/win不解析这句，所以IE6/win仍然认为width的值是300px；而IE5.X/win读到这句，新的数值(400px)覆盖掉了旧的，因为!important标记对他们不起作用 <br />
} </p>
<p>五、修正iE双倍计算容器内紧靠浮动元素的边距 </p>
<p>iE会双倍计算容器内紧靠浮动元素的边距 <br />
即：容器A里有一浮动元素B,哪么容器A与元素B相临的其它元素(c)在ie里显示时，c的边距会被重复计算。 <br />
我们要想解这决这个问题有几中办法： <br />
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <br />
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <br />
方法１： </p>
<p>我们想要c的正确左边距是12px; <br />
.left{ <br />
margin-left:6px; <br />
} <br />
html&gt;body.left{ <br />
margin-left:12px; <br />
} <br />
&#8220;&gt;&#8221;符号ie不识别，ff、opera可以识别，意思是说html子标签下的body标签里面的left的margin-left为12px;因为ie不识别，就跳过，ff、opera可以识别，后定义的属性就覆盖先前定义的 <br />
left{ <br />
margin-left:6px; <br />
margin-left:12px;!important; <br />
} <br />
!important指定样式规则的应用优先级，但这个我特性ie不支持，但其它标准的浏览器支持 <br />
------------------------------------------------------------------------------------------------------------- <br />
方法３： </p>
<p>.left{ <br />
display:inline: <br />
} <br />
还没有时候验证</font></p>
  <img src ="http://hiccds.cnblogs.comaggbug/1224544.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37516/" target="_blank">[新闻]Firefox联合搜狐推出奥运浏览器</a>]]></description></item><item><title>网络logo的设计原理</title><link>http://www.cnblogs.com/sikeart/articles/1224543.html</link><dc:creator>gaoleilucky</dc:creator><author>gaoleilucky</author><pubDate>Wed, 18 Jun 2008 04:02:00 GMT</pubDate><guid>http://www.cnblogs.com/sikeart/articles/1224543.html</guid><description><![CDATA[<font face="Verdana">一、标识的职能：通过对标识的识别、区别、引发联想、增强记忆，促进被标识体与其对象的沟通与交流，从而树立并保持对被标识体的认知、认同，达到高效提高认知度、美誉度的效果。作为时代的前卫，网络LOGO的设计，更应遵循CIS的整体规律并有所突破。<br />
二、网络LOGO设计的基本应用原理：　在网络LOGO设计中极为强调统一的原则。统一并不是反复某一种设计原理，应该是将其他的任何设计原理如：主导性、从属性、相互关系、均衡、比例、反复、反衬、律动、对称、对比、借用、调和、变异等设计人员所熟知的各种原理，正确地应用于设计的完整表现。统一也可解释为，共通以上所述各原理，而更高、更概括、更综合的原理。1、特示图案：　属于表象符号，独特、醒目、图案本身易被区分、记忆，通过隐寓、联想、概括、抽象等绘画表现方法表现被标识体，对其理念的表达概括而形象，但与被标识体关联性不够直接，受众容易记忆图案本身，但对被标识体的关系的认知需要相对较曲折的过程，但一旦建立联系，印象较深刻，对被标识体记忆相对持久。2、特示文字：属于表意符号。在沟通与传播活动中，反复使用的被标识体的名称或是其产品名，用一种文字形态加以统一。涵义明确、直接，与被标识体的联系密切，易于被理解，认知，对所表达的理念也具有说明的作用，但因为文字本身的相似性易模糊受众对标识本身的记忆，从而对被标识体的长久记忆发生弱化。</font>
 <img src ="http://hiccds.cnblogs.comaggbug/1224543.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37515/" target="_blank">[新闻]Google音乐搜索即将上线</a>]]></description></item><item><title>团队博客中的文章移除列表及移除说明</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/17/1222047.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Tue, 17 Jun 2008 09:27:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/17/1222047.html</guid><description><![CDATA[摘要: <p><img src="http://www.cnblogs.com/images/cnblogs_com/amboyna/td.gif" align="right"/>注：本文在团队博客中的“团队简介”栏目中有永久固定链接。   </p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/amboyna/archive/2008/06/17/1222047.html'>阅读全文</a><img src ="http://hiccds.cnblogs.comaggbug/1222047.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37514/" target="_blank">[新闻]哪一个 Linux 发行版最流行?</a>]]></description></item><item><title>闭关贴！（含Java实践经验）</title><link>http://www.cnblogs.com/shiyangxt/archive/2008/06/16/1222946.html</link><dc:creator>施杨</dc:creator><author>施杨</author><pubDate>Mon, 16 Jun 2008 03:32:00 GMT</pubDate><guid>http://www.cnblogs.com/shiyangxt/archive/2008/06/16/1222946.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 由于下周就考试了，所以最近两周减少写或着就不写随笔了，但编程的学习是不会停止的。<br />
附加Java实践经验：<br />
<br />
<p><font face="Verdana">Java对象通过*对象地址*被访问。但实际上所有参数都是以*值*方式传递。</font></p>
<p><font face="Verdana">对不变值和对象变量使用final。<br />
final只限制变量。不限制所指对象的改变。</font></p>
<p><font face="Verdana">非静态函数在缺省下都可被subclass覆写。<br />
若加final，可防止被覆写。</font></p>
<p><font face="Verdana">多态polymorphism优于instanceof</font></p>
<p><font face="Verdana">及时将不需要的对象函数，设为null。可使代码高效。</font></p>
<p><font face="Verdana">Java是面向对象语言，但其操控的东西并非都是对象。</font></p>
<p><font face="Verdana">区分==和equals（）</font></p>
<p><font face="Verdana">==测试基本类型的相等性，及判定对象变量是否指向同一个对象。<br />
若测试值或语义相等，使用equals（）。</font></p>
<p><font face="Verdana">别依赖equals（）的缺省实现。<br />
java.lang.object提供的equals（）大多时候并非进行你想要的比较。</font></p>
<p><font face="Verdana">若某个类生成的两个对象，那么就该为这个类提供一个equals（）。</font></p>
<p><font face="Verdana">隶属于同一个类下的对象才能被视为相等。所以使用equals（）前应该先优先考虑使用getclass（）。</font></p>
<p><font face="Verdana">调用super.equals（）唤起基类的相关行为。<br />
只有允许derived class对象可以等于其基类对象时，才在equals（）中使用instanceof。<br />
处理异常期间又从catch或finally区段抛出异常，原先的异常会因而被隐蔽起来。我们应该处理这种情形的代码，即将所有异常回传给调用者。</font></p>
<p><font face="Verdana">一个异常加入某函数throw子句中，会影响所有调用者。</font></p>
<p><font face="Verdana">任何函数throw子句都应列出它所传播的所有异常。</font></p>
<p><font face="Verdana">使用finally避免资源泄漏。</font></p>
<p><font face="Verdana">不要从try区段发出return语句，因为此函数未必会立即从那里返回。</font></p>
<img src ="http://hiccds.cnblogs.comaggbug/1222946.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37513/" target="_blank">[新闻]方兴东证实博客网因业务调整裁员</a>]]></description></item><item><title>final的作用总结</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/14/1222059.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Sat, 14 Jun 2008 14:04:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/14/1222059.html</guid><description><![CDATA[<br />
　　看了一些关于final的资料，总结一下final的作用：<br />
<br />
　1.final 修饰的变量值不可更改：这里的不可更改对基本类型来说是其值不可变，而对于对象变量来说其引用不可再变；<br />
<br />
&nbsp;&nbsp;&nbsp;2.final 修饰的方法不可被覆写; <br />
<br />
&nbsp;&nbsp; 3.final 修改的类不可被继承，类中的方法自动升级为final方法；<br />
<br />
&nbsp;&nbsp; 此外：使用final关键字可以优化性能，使ＪＶＭ单独处理final变量．
 <img src ="http://hiccds.cnblogs.comaggbug/1222059.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37512/" target="_blank">[新闻]Sandcastle项目全部开源</a>]]></description></item><item><title>＂by value＂与＂by reference＂的传递方式</title><link>http://www.cnblogs.com/amboyna/archive/2008/06/14/1222040.html</link><dc:creator>张玉峰</dc:creator><author>张玉峰</author><pubDate>Sat, 14 Jun 2008 13:32:00 GMT</pubDate><guid>http://www.cnblogs.com/amboyna/archive/2008/06/14/1222040.html</guid><description><![CDATA[<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对一个方法（函数）来说呢，传入的参数是以 by value的方式，而不是以by reference 方式传递的．<br />
<br />
　　看起来好像是没啥，只是定义，不过由此会引发的问题是如果传入的是对象的话，实际上的＂值＂是对象在内存中类似指针一样的地址．　所以方法会影响对象的值．&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 看看例子：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_15_116_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_15_116_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_15_116_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_15_116_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_15_116_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_15_116_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_15_116_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_15_116_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;A&nbsp;</span><span id="Codehighlighter1_15_116_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_15_116_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_53_69_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_53_69_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_53_69_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_53_69_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_53_69_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_53_69_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_53_69_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_53_69_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;getA()&nbsp;</span><span id="Codehighlighter1_53_69_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_53_69_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;a;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_96_114_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_96_114_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_96_114_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_96_114_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_96_114_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_96_114_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_96_114_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_96_114_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setA(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a)&nbsp;</span><span id="Codehighlighter1_96_114_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_96_114_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;a;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">=============================================</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000"><br />
<img id="Codehighlighter1_185_368_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_185_368_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_185_368_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_185_368_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_185_368_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_185_368_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_185_368_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_185_368_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestA&nbsp;</span><span id="Codehighlighter1_185_368_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_185_368_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_229_309_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_229_309_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_229_309_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_229_309_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_229_309_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_229_309_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_229_309_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_229_309_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id="Codehighlighter1_229_309_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_229_309_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;A();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.setA(</span><span style="color: #000000">1</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changeA(a);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(a.getA());<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_346_365_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_346_365_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_346_365_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_346_365_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_346_365_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_346_365_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_346_365_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_346_365_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;changeA(A&nbsp;aa)&nbsp;</span><span id="Codehighlighter1_346_365_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_346_365_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa.setA(</span><span style="color: #000000">10</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后的显示结果是：10<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所以呢，如果一个方法传入的是对象的话，得注意不要一不小心就改变了对象的状态．
   <img src ="http://hiccds.cnblogs.comaggbug/1222040.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37511/" target="_blank">[新闻]“博客园开发者征途系列” 即将发布重磅级新书</a>]]></description></item><item><title>求助！！！中文乱码</title><link>http://www.cnblogs.com/xiaoao808/archive/2008/06/12/1218137.html</link><dc:creator>破名"超"难起</dc:creator><author>破名"超"难起</author><pubDate>Thu, 12 Jun 2008 02:10:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaoao808/archive/2008/06/12/1218137.html</guid><description><![CDATA[<p>我在国外一网站申请了一个免费个人空间玩，想在上面配置一个Jive（J道版）的论坛，用本机的服务器和数据库中文显示正常，可是上传到服务器上就会出现中文乱码，新建的论坛名称全都是问号。数据库设置应该没什么问题，我直接将中文插入到数据库里面没有问题，可是如果用网页新建论坛时插入的就全都是问号了，各位高手帮帮忙，怎么解决啊？？？</p>
<img src ="http://hiccds.cnblogs.comaggbug/1218137.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37510/" target="_blank">[新闻]Google官方推出Google Talk苹果iPhone版</a>]]></description></item><item><title>我用Visual Basic做的多模式计算器（应用小软件）！</title><link>http://www.cnblogs.com/shiyangxt/archive/2008/06/09/1216369.html</link><dc:creator>施杨</dc:creator><author>施杨</author><pubDate>Mon, 09 Jun 2008 13:22:00 GMT</pubDate><guid>http://www.cnblogs.com/shiyangxt/archive/2008/06/09/1216369.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前一段时间参加了一个校内组织的IT实践大赛，虽然当时没什么成熟的技术，但是还是参加了。Visual Basic刚学也没多长时间，于是就做了这个多模式计算器，虽然技术含量不算高，一些Bug也没有解决。但是正常使用是没有问题的。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个小软件有三个计算模式，而且使用非常方便。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个有快捷键功能，一个是最为传统的计算器，一个是可视化计算器。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用惯了传统windows计算器的朋友，可以下载玩玩！<a href="/Files/shiyangxt/pp.rar">点击下载</a>
  <img src ="http://hiccds.cnblogs.comaggbug/1216369.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37508/" target="_blank">[新闻]研究称Windows使用份额将很快低于90％</a>]]></description></item><item><title>java基础进阶（文件列表，线程，线程组）编程实例（4篇）</title><link>http://www.cnblogs.com/shiyangxt/archive/2008/06/09/1216339.html</link><dc:creator>施杨</dc:creator><author>施杨</author><pubDate>Mon, 09 Jun 2008 11:59:00 GMT</pubDate><guid>http://www.cnblogs.com/shiyangxt/archive/2008/06/09/1216339.html</guid><description><![CDATA[<p><span style="font-family: Arial"><font face="Verdana"></font></span><font face="#ce_temp_font#"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp; 此处刊登代码均测试通过，完全准确！<br />
import java.io.*;<br />
public class DirList{<br />
public static void main(String[] args){<br />
try{<br />
File path=new File(".");<br />
/*&#8220;.&#8221;指当前目录*/<br />
String[] list;<br />
if(args.length==0)<br />
list=path.list();/*列出当前文件*/<br />
else<br />
&nbsp;list=path.list(new DirFilter(args[0]));<br />
for(int i=0;i&lt;list.length;i++)<br />
System.out.println(list[i]);<br />
}<br />
catch(Exception e){<br />
e.printStackTrace();<br />
}<br />
}<br />
static class DirFilter implements FilenameFilter{<br />
String afn;<br />
DirFilter(String afn){this.afn=afn;}<br />
public boolean accept(File dir,String name)/*name是文件名*/{<br />
String f=new File(name).getName();<br />
/*getName得到文件名的非目录部分，只有文件名*/<br />
return f.indexOf(afn)!=-1;<br />
}<br />
}<br />
}<br />
---------------------------------------------------------------------------------------------------------------------------------------<br />
<font face="Verdana">public class SimpleRunnable implements Runnable{<br />
private String message;<br />
public static void main(String[] args){<br />
SimpleRunnable r1=new SimpleRunnable("Hello");<br />
Thread t1=new Thread(r1);<br />
t1.start();<br />
for(;;)/*死循环*/{<br />
System.out.println("Bye-bye");<br />
}<br />
}<br />
public SimpleRunnable(String message){<br />
this.message=message;<br />
}<br />
public void run(){<br />
for (;;)/*死循环*/{<br />
System.out.println(message);<br />
}<br />
}<br />
}</font><br />
---------------------------------------------------------------------------------------------------------------------------------------<br />
</p>
<p><font face="Verdana">public class MethodText{<br />
public static void main(String[] args){<br />
FirstThread first=new FirstThread();<br />
SecondThread second=new SecondThread();<br />
first.start();<br />
second.start();<br />
try{<br />
System.out.println("Waiting for first thread to finish!");<br />
first.join();<br />
System.out.println("It's a long wait!");</font></p>
<p><font face="Verdana">System.out.println("Waking up second thread...");<br />
second.resume();<br />
System.out.println("Waiting for second thread to finish!");<br />
second.join();<br />
}catch(InterruptedException e){<br />
}<br />
System.out.println("I'm ready to finish too.");<br />
}<br />
}<br />
class FirstThread extends Thread{</font></p>
<p><font face="Verdana">public void run(){<br />
try{<br />
System.out.println("First thread starts running!");<br />
sleep(10000);<br />
System.out.println("First thread finishes running!");<br />
}catch(InterruptedException e){<br />
}<br />
}<br />
}<br />
class SecondThread extends Thread{</font></p>
<p><font face="Verdana">public void run(){<br />
System.out.println("Second thread starts running.");<br />
System.out.println("Second thread suspend itself.");<br />
suspend();<br />
System.out.println("Second thread runs again and finishes.");<br />
}<br />
}</font></p>
<p><br />
---------------------------------------------------------------------------------------------------------------------------------------<br />
<font face="Verdana">public class Grp implements Runnable{<br />
public void run(){<br />
for (;;){<br />
System.out.println("thread"+Thread.currentThread().getName());<br />
try{<br />
Thread.sleep(500);<br />
}catch(Exception e){<br />
}<br />
}<br />
}<br />
public static void main(String[] args)<br />
{<br />
ThreadGroup g=new ThreadGroup("My Group");<br />
Runnable r=new Grp();<br />
Thread t=new Thread(g,r);<br />
t.start();<br />
t=new Thread(g,r);<br />
t.start();<br />
for(;;){<br />
try{<br />
Thread.sleep(5000);<br />
}catch(Exception e){<br />
}<br />
g.suspend();<br />
System.out.println("thread"+Thread.currentThread().getName());<br />
try{<br />
Thread.sleep(5000);<br />
}catch(Exception e){<br />
}<br />
g.resume();<br />
}<br />
}<br />
}</font><br />
<br />
<br />
<br />
<br />
---------------------------------------------------------------------------------------------------------------------------------------</font></font></p>
 <img src ="http://hiccds.cnblogs.comaggbug/1216339.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37507/" target="_blank">[新闻]苹果App Store公布应用程序提交最后期限</a>]]></description></item><item><title>JS调试工具</title><link>http://www.cnblogs.com/xiaoao808/archive/2008/06/04/1213244.html</link><dc:creator>破名"超"难起</dc:creator><author>破名"超"难起</author><pubDate>Wed, 04 Jun 2008 01:30:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaoao808/archive/2008/06/04/1213244.html</guid><description><![CDATA[<font face="Verdana">
<p><font face="Verdana">做web开发的朋友都清楚，js程序的调试是相当郁闷的，因为首先这种语言语法比较灵活，它是一种弱类型的脚本语言，很多错误是无法控制的，这些不谈，最痛苦的是没有什么好的调试工具，现在的情况比以前稍好，在Firefox下还有firebug，这的确是一个不错的js调试工具，但在IE下使用就很麻烦，而且效果很不好，鄙人一直苦于寻找一个很好的IE下的js调试工具，能够自动捕获错误，并定位位置和原因，没想到今天竟在无意中寻找到了这么个好工具，不敢私藏，共享出来，希望能为各位web开发者带来方便</font></p>
<p><font face="Verdana">这个工具的名字叫Companion.JS，请注意，这可不是一个js文件，而是一个名字，它是作为ie的插件来安装使用的，而且需要结合Microsoft Script Debugger使用，通过安装这个工具，但页面出现错误时会在左上角弹出一个小错误提示，点击会在IE下面显示出一个错误控制台，就如FF下的firebug控制台一样。错误信息提示很详细。</font></p>
<font face="Verdana">
<p><img src="http://www.my-debugbar.com/wiki/uploads/CompanionJS/introducing-cjs.png" border="0"  alt="" /><br />
官网地址：http://www.my-debugbar.com/wiki/CompanionJS/HomePage</p>
<p>具体使用方法为：<br />
1、先下载Companion.JS安装文件，然后安装。<br />
2、下载安装Microsoft Script Debugger，如果您的机器已经安装过了就可以免过这一步。<br />
3、打开IE菜单&#8220;工具&#8221;--&#8220;Internet选项&#8221;--&#8220;高级&#8221;，找到&#8220;禁用脚本调试(Internet Explorer)&#8221;和&#8220;禁用脚本调试(在Internet Explorer之外)&#8221;，将两个选项前面的对钩都去掉，然后重启IE。<br />
4、在Ie中输入：http://www.my-debugbar.com/wiki/uploads/CompanionJS/dummy.htm，然后点击click me链接，如果左上角弹出一个小错误提示或下面控制台出现了错误信息提示，就说明您已经安装成功了。</p>
<p>提示：Microsoft Script Debugger下载可到MS官网(需要经过MS的操作系统正版验证)：http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=E606E71F-BA7F-471E-A57D-F2216D81EC3D#filelist或到baidu里输入&#8220;Microsoft Script Debugger 下载&#8221;寻找一下</font></p>
</font>
<img src ="http://hiccds.cnblogs.comaggbug/1213244.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/37506/" target="_blank">[新闻]Intel欲打造千核运算</a>]]></description></item></channel></rss>