<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[利剑之辉的博客]]></title> 
<link>http://www.cnljh.com/index.php</link> 
<description><![CDATA[世事如棋 乾坤莫测 笑尽英雄－－利剑之辉的个人站点，该站点记录了站长日常生活、学习和工作中的经历，同由于站长是个霹雳布袋戏爱好者，所以收集了很多的布袋戏剧情和资料发布在blog，供各位戏迷过瘾，同时欢迎各位同仁光临本站点]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[利剑之辉的博客]]></copyright>
<item>
<link>http://www.cnljh.com/read.php/366.htm</link>
<title><![CDATA[网站成功的指标]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[利剑之辉的快乐生活]]></category>
<pubDate>Mon, 12 Dec 2011 09:19:21 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/366.htm</guid> 
<description>
<![CDATA[ 
	如何衡量网站的成功，谷歌PageRank和纯粹的流量&ldquo;点击&rdquo;方式 ：所有这些旧的数据变得越来越没有意义在目前的网络环境。<br /><br />　　*为什么当他们衡量排名不同地点和计算机由于本地化和个性化的努力，谷歌和其他搜索引擎?<br /><br />　　* 为什么看一个网站的PageRank时，谷歌本身的承认，它只有一个200信号，确定评估一个网站的权威网站，谷歌认为PR3高于 PR7网站?<br /><br />　　* 为什么吹嘘流量当你能得到成千上万的人访问您通过Digg和喜欢只是瞬间关闭窗口?<br /><br />　　简单的单一考核网站成功已经成为历史。中小企业的需求不仅仅是流量和排名，获得更多的市场营销专业的网络，而不是12岁的孩子几乎都出生谁在网络上和新的网络分析工具终于使人们有可能考虑更为具体的数据比以往任何时候。因<br /><br />　　此，请检查这些网站的成功33个指标，而不是排名，谷歌PageRank和流量：<br /><br />　　业务指标<br /><br />　　网上做生意的人，无论是电子商务网站，例如商店，出版公司，咨询公司等也希望看到的结果人民币，在大多数情况下才有意义。虽然博客例如做提供的投资回报率是不容易衡量的。 通常它更需要品牌知名度，信誉建设等对于大多数商业网站决定是否成功的衡量可能收入是最好的，也是最现实的。<br /><br />　　投资回报率<br /><br />　　投资回报率是指是指达产期正常年度利润或年均利润占投资总额的百分比。如果您花1000到您的网站上并赚取2000 您的投资回报率是200 % 。 因此，只有投资利润率指标大于或等于无风险投资利润率的投资项目才具有财务可行性。<br /><br />　　销售<br /><br />　　投资回报率有时会难以确定和预估 。 什么是投资完全是花的时间对社会媒体如投资或工作，只在网站上? 因此，衡量销售，尤其是商店，要容易得多。 销售=良好的网站的优化过程。<br /><br />　　定位<br /><br />　　你在您的网站上什么也不直接销售? 您想通过您的网站直接找到你的准客户? SEO，效果达到了100比1 ，使100万的页面浏览量(PV)，但没有新的潜在客户。<br /><br />　　转换<br /><br />　　好吧，你不直接卖任何产品并且您不卖服务，不过你想加入的人，参加了调查，建议您的网站或直接订阅您的动态? 你应该做它的销售额和销售机会太多，但即使没有这些转换作出了非常可靠的网站或营销活动的成功指标。<br /><br />　　用户<br /><br />　　虽然用户可以被称为转换你可以指望的数量应该由每一个网站都提供RSS和追踪的RSS以及电子邮件订阅喜欢的博客做。 您的订阅者是最重要的网站的用户，即使不买任何东西。 所以，如果你没有的RSS / Atom或什么样的饲料获得一个。<br /><br />　　可用性指标<br /><br />　　虽然并非每一个网站的成功来衡量的收入，销售或潜在你总是可以而且应该衡量纯粹的可用性您的网站。 许多网站今天仍然集中在被漂亮， &ldquo;有一个更大的标志&rdquo;和一些特殊效果像Flash或AJAX技术，声音或视频。虽然这看起来可能会好在大多数情况下这不是最重要的因素，决定是否您的网站是要失败或成功，可用性是。<br /><br />　　回访者<br /><br />　　这是明显的，只有回访者真的很喜欢您的网站。所以，更多更好地回来了，比较成功的你。 有一次搜索的访问者和游客的休闲社交媒体没有的骨干您的网站。 用户和回访者(通常是同一人) 。<br /><br />　　每次访问的综合浏览量<br /><br />　　虽然有时是衡量综合浏览量徒劳的不良网站，你必须按一下更可以有较高的综合浏览量数目的每次访问的综合浏览量往往会告诉你一大堆多少访问者喜欢你的网站。 1至1的比例是坏的，除非他们所有点击立即购买按钮。<br /><br />　　页面停留时间<br /><br />　　花的时间可以在网页上阅读各种方式，视频网站，在线电影很占便宜，但扣除您可以从它人是否公正脱脂您的内容或阅读整篇文章等等。<br /><br />　　网站停留时间<br /><br />　　这并不总是更好，但时间越长， 5分钟是在大多数情况下，更好地超过30秒，尤其是对出版网站或只是一个博客。<br /><br />　　跳出率<br /><br />　　在跳出 率是一个最重要的可用性指标和感谢谷歌分析或Woopra操作容易，现在。 10万游客Digg的退回率为95 %意味着，实际上只有5.000实际访问您的网站。因此，一个网站要低得多游客数量和退回率可以更成功的一个&ldquo;愚蠢的流量&rdquo;网站的巨大流量数字。有针对性的高质量的流量是关键的一个成功的网站。<br /><br />　　购物车放弃率<br /><br />　　购物车是最重要的部分大多数网站在商业方面，无论是联系购物车的技术在大多数情况下是一种形式。现在想象一个超级市场一半或一半以上的客户放弃其购物车中的结帐程序或在阅读市场。 指望这些人，并设法使他们留下来。最简单的方法就是检查购物车放弃率是通过发电子邮件至客户支持每一次车或其他形式被放弃。 有时候，你可以要回的潜在客户，他的不完整的数据输入。<br /><br />　　下一个页面<br /><br />　　使人们访问多个页面的网站上，我们使用内部链接。 一些链接联系我们真正想要的人遵循。选中&ldquo;下一个页面&rdquo;从一个特定的目标网页，我们可以判断是否遵循我们的读者意见或希望看到更多的。 当您的主页上的下一个网页是在大多数情况下，搜索的网站或网页你有一个问题。<br /><br />　　点击链接(热图)<br /><br />　　现代&ldquo;网络2.0 &rdquo; 的网站分析解决方案 ，有时热图意见或至少是网站覆盖方式检查点击。 这样就可以判断您的访问者点击或尝试单击(有时是徒劳的案件没有关联的标识或强调的话是没有联系) 。 这样做的人点击您想他们点击或没有?<br /><br />　　eyetracking<br /><br />　　甚至优于热图点击行为的热图 ， 实际眼睛的运动 。 你需要一个多网络分析软件包来检查您所需要的真实的人 ， 参加了一项研究 ，但如果你是大公司根据您的网站应该检查这是肯定的。 这样的人看看你的主要信息呢?他们是否真正看到&ldquo;立即购买&rdquo;按钮?<br /><br />　　内部搜索<br /><br />　　最访客无言以对或者目标?你就会发现通过分析内部搜索。 甚至有工具来做到这一点。 谷歌分析也可以说 。<br /><br />　　搜索引擎优化指标<br /><br />　　来衡量搜索引擎优化的效果。 测量的PageRank ，排名和流量，seoer仍然需要一些遵循这一要求。那么，仍然有很多措施，超越严格的业务或可用性指标。守旧派搜索引擎优化仍然是有意义的许多案件，特别是与反向仍然决定你的成功首先在谷歌搜索。我会集中在这里谷歌，但在美国市场上它仍然也是有道理的检查这些与雅虎及其他。 此外，检查反向与谷歌是不是乐趣(只有一小部分数据是由谷歌，除非您检查您自己的网站在谷歌网站管理员工具)，所以建议您来衡量他们与雅虎工具测量工具，它使用Yahoo数据。<br /><br />　　反向链接数<br /><br />　　您仍然需要知道有多少人或者页面链接到你 。 特别是如果这个星期或多或少地做到这一点。 数量之多，可能是毫无意义的如果您有10.000链接从一个网站的。 因此，重点域名受欢迎(链接从一个域名算作1 ) 。<br /><br />　　高质量的反向链接<br /><br />　　使用一卡车的链接可能毫无意义相比于一个链接从百度。因此，确定的质量，相关链接：是否连接网页许多其他外向链接? 它PageRank吗?这是一个老权威域名等?<br /><br />　　谷歌缓存日期<br /><br />　　许多搜索引擎优化专家诉诸检查缓存迄今在谷歌(谷歌保存最网页在&ldquo;缓存&rdquo; )确定的质量和成功的网站在谷歌。如果缓存的日期是1个月以上的网站要么死亡(不新鲜的内容)或非常低管理局与谷歌。当然，你总是应该检查是否有一个缓存的网站在所有。 没有缓存的网站大概索引(沙盒处罚)。<br /><br />　　谷歌机器人访问频率<br /><br />　　您的缓存可能会一周岁，但如果谷歌robots访问每天都OK在大多数情况下。您可以检查与大多数服务器端的网络分析解决方案，那些依赖于服务器日志或者PHP 。<br /><br />　　最后一次访问谷歌bot<br /><br />　　这是几乎相同跟上一点。如果你有一个新的内容页和Bot访问昨天和您仍然没有在谷歌索引有可能是错误的(如重复的内容的问题)。<br /><br />　　网页索引<br /><br />　　这是很少那样简单&ldquo;索引的网页越多就越好&rdquo; ，但对小网站往往是。 如果您有50页，但只有20在线索引您的网站没有成功spidered的谷歌。 site：yoursite.com搜索谷歌就足以找到。<br /><br />　　PageRank的&ldquo;合格率&rdquo;<br /><br />　　虽然我认为，着眼于实际的工具栏的PageRank没有多大意义了。现在你一定要来看看的及格率的PageRank 。 谷歌PageRank是通过通过网站上的链接。 网站PR5应与PR4或至少3 ，否则，你有太多的链接，或您的内部链接结构被打破了。<br /><br />　　Alexa的排名<br /><br />　　虽然Alexa的是没有真正可靠的或从未被许多广告客户使用它来检查您的流量数字。 此外， Alexa的流量估算可适用于同行业网站的对比，其他的时间段(更多流量今年比去年? )和其他流量估算工具。<br /><br />　　社会媒体数据<br /><br />　　时代的社会媒体，用户生成的内容你不能仅仅依靠漫游和其他自动收集数据，收集数据，在您的网站上取得成功。 你必须了解你的用户喜欢什么，其实说的你，或者至少多久。<br /><br />　　delicious书签<br /><br />　　网站或网页 ， 几百个或几千书签的delicious不能说不好，可以吗? 另一方面，网站也没有不能成功的可能呢?<br /><br />　　其他书签<br /><br />　　你有时感到惊讶有多少人收藏你的文章或网站你甚至不知道的。具体就不一一说了，光QQ书签的流量就够你打注意的了。<br /><br />　　tweets (t/w/i/t/t/e/r mentions)<br /><br />　　被提到或建议对t/w/i/t/t/e/r的是一个真正成功的，因为这里的人与他们的同行和球迷，只有他们真正的网页链接建议。 这意味着2或3的人说200或者200人，你的关注者。 TweetBeep将向您发送电子邮件，每次。<br /><br />　　公司评语反馈<br /><br />　　用户的口碑，另一种说法是网站的信任度。<br /><br />　　名人博客<br /><br />　　Keso曾经评论过很多网站，我印象最深的就是豆瓣。 如果你经常联订阅其他博客，你会发现很多话题会影响了你，深深的。在keso的权威不是作为一个最可靠的指标，但是我只是举例。<br /><br />　　谷歌BlogSearch链接<br /><br />　　虽然主要的谷歌搜索能源部许多无法显示您的链接是谷歌博客搜索擅长。 它会告诉您的合法的其他博客链接，而不是spam博客。留意这些，最简单的方法来监测他们是使用AideRSS 。<br /><br />　　你们当中有些人可能会一直在关注这些，这一切是过于复杂，事实也许并非如此。免费提供的工具，如谷歌分析使每一个网站管理员，了解更多关于网站不仅仅是一个几年前，我们的PageRank ，排名和流量已不够。真正的网络数据专家在大多数情况下可能开始将这个名单作为SEO数据及网络分析，远远超出了如何在这里提到。<br />
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/365.htm</link>
<title><![CDATA[JavaScript的document和window对象详解 ]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[JAVA SSH学习]]></category>
<pubDate>Mon, 12 Dec 2011 08:41:11 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/365.htm</guid> 
<description>
<![CDATA[ 
	[<strong>document对象</strong> ]<br />　　该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。<br />　　<strong>属性</strong><br />　　alinkColor 活动链接的颜色(ALINK)<br />　　anchor 一个HTMI锚点,使用标记创建(该属性本身也是一个对象)<br />　　anchors array 列出文档锚点对象的数组()(该属性本身也是一个对象)<br />　　bgColor 文档的背景颜色(BGCOLOR) <br />　　cookie 存储于cookie.txt文件内的一段信息,它是该文档对象的一个属性<br />　　fgColor 文档的文本颜色(标记里的TEXT特性)<br />　　form 文档中的一个窗体()(该属性本身也是一个对象)<br />　　forms anay 按照其出现在文档中的顺序列出窗体对象的一个数组(该属性本身也是一个对象)<br />　　lastModified 文档最后的修改日期<br />　　linkColor 文档的链接的颜色,即标记中的LINK特性(链接到用户没有观察到的文档)<br />　　link 文档中的一个标记(该属性本身也是一个对象)<br />　　links array 文档中link对象的一个数组,按照它们出现在文档中的顺序排列(该属性本身也是一个对象)<br />　　location 当前显示文档的URL。用户不能改变document.location(因为这是当前显示文档的位置)。但是,可以改变window.location (用其它文档取代当前文档)window.location本身也是一个对象,而document.location不是对象<br />　　referrer 包含链接的文档的URL,用户单击该链接可到达当前文档<br />　　title 文档的标题((TITLE&gt;)<br />　　vlinkColor 指向用户已观察过的文档的链接文本颜色,即标记的VLINK特性<br />　　<strong>方法</strong><br />　　clear 清除指定文档的内容<br />　　close 关闭文档流<br />　　open 打开文档流<br />　　write 把文本写入文档<br />　　writeln 把文本写入文档,并以换行符结尾<br /><br />[<strong>window对象</strong> ]<br />　　它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口。<br />　　<strong>属性</strong><br />　　defaultStatus 缺省的状态条消息<br />　　document 当前显示的文档(该属性本身也是一个对象)<br />　　frame 窗口里的一个框架((FRAME&gt;)(该属性本身也是一个对象)<br />　　frames array 列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出(该属性本身也是一个对象)<br />　　history 窗口的历史列表(该属性本身也是一个对象)<br />　　length 窗口内的框架数<br />　　location 窗口所显示文档的完整(绝对)URL(该属性本身也是一个对象)不要把它与如document.location混淆,后者是当前显示文档的URL。用户可以改变window.location(用另一个文档取代当前文档),但却不能改变document.location(因为这是当前显示文档的位置)<br />　　name 窗口打开时,赋予该窗口的名字<br />　　opener 代表使用window.open打开当前窗口的脚本所在的窗口(这是Netscape Navigator 3.0beta 3所引入的一个新属性)<br />　　parent 包含当前框架的窗口的同义词。frame和window对象的一个属性<br />　　self 当前窗口或框架的同义词<br />　　status 状态条中的消息<br />　　top 包含当前框架的最顶层浏览器窗口的同义词<br />　　window 当前窗口或框架的同义词,与self相同<br />　　<strong>方法</strong><br />　　alert() 打开一个Alert消息框<br />　　clearTimeout() 用来终止setTimeout方法的工作<br />　　close() 关闭窗口<br />　　confirm() 打开一个Confirm消息框,用户可以选择OK或Cancel,如果用户单击OK,该方法返回true,单击Cancel返回false<br />　　blur() 把焦点从指定窗口移开(这是Netscape Navigator 3.0 beta 3引入的新方法)<br />　　focus() 把指定的窗口带到前台(另一个新方法)<br />　　open() 打开一个新窗口<br />　　prompt() 打开一个Prompt对话框,用户可向该框键入文本,并把键入的文本返回到脚本<br />　　setTimeout() 等待一段指定的毫秒数时间,然后运行指令事件处理程序<br />　　<strong>事件处理程序</strong><br />　　Onload() 页面载入时触发<br />　　Onunload() 页面关闭时触发<br />
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/364.htm</link>
<title><![CDATA[struts2.1.X关于配置redirect-action启动出错的解决方法 ]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[JAVA SSH学习]]></category>
<pubDate>Sat, 10 Dec 2011 09:09:13 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/364.htm</guid> 
<description>
<![CDATA[ 
	<p>最近在学习Struts2,在配置struts-spring.xml的时候,我的配置文件struts-spring.xml如下:</p><div class="dp-highlighter"><div class="bar"><div class="tools">Xml代码 <a href="http://wubin850219.iteye.com/blog/521385#" title="复制代码"><img src="http://wubin850219.iteye.com/images/icon_copy.gif" border="0" alt="复制代码" /></a> <a href="javascript:void()" title="收藏这段代码"><img class="star" src="http://wubin850219.iteye.com/images/icon_star.png" border="0" alt="收藏代码" /><img style="display: none" class="spinner" src="http://wubin850219.iteye.com/images/spinner.gif" border="0" /></a></div></div><ol class="dp-xml"><li><span><span class="tag">&lt;</span><span class="tag-name">action</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;userlogin&quot;</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;UserLoginAction&quot;</span><span> </span><span class="attribute">method</span><span>=</span><span class="attribute-value">&quot;userlogin&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">result</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;success&quot;</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;redirect-action&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;actionName&quot;</span><span class="tag">&gt;</span><span>login</span><span class="tag">&lt;/</span><span class="tag-name">param</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;namespace&quot;</span><span class="tag">&gt;</span><span>/</span><span class="tag">&lt;/</span><span class="tag-name">param</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">result</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">result</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;error&quot;</span><span class="tag">&gt;</span><span>/login.jsp</span><span class="tag">&lt;/</span><span class="tag-name">result</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="tag">&lt;/</span><span class="tag-name">action</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li></ol></div><pre class="xml" style="display: none">&lt;action name=&quot;userlogin&quot; class=&quot;UserLoginAction&quot; method=&quot;userlogin&quot;&gt; &nbsp;&nbsp;&lt;result name=&quot;success&quot; type=&quot;redirect-action&quot;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;param name=&quot;actionName&quot;&gt;login&lt;/param&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;param name=&quot;namespace&quot;&gt;/&lt;/param&gt; &nbsp;&nbsp;&lt;/result&gt; &nbsp;&nbsp;&lt;result name=&quot;error&quot;&gt;/login.jsp&lt;/result&gt; &lt;/action&gt;</pre><p> 然后我启动TOMCAT,出现如下错误</p><div class="dp-highlighter"><div class="bar"><div class="tools">Java代码 <a href="http://wubin850219.iteye.com/blog/521385#" title="复制代码"><img src="http://wubin850219.iteye.com/images/icon_copy.gif" border="0" alt="复制代码" /></a> <a href="javascript:void()" title="收藏这段代码"><img class="star" src="http://wubin850219.iteye.com/images/icon_star.png" border="0" alt="收藏代码" /><img style="display: none" class="spinner" src="http://wubin850219.iteye.com/images/spinner.gif" border="0" /></a></div></div><ol class="dp-j"><li><span><span>Unable to load configuration. - action - file:/E:/apache-tomcat-</span><span class="number">5.5</span><span>.</span><span class="number">25</span><span>/webapps/wftang/WEB-INF/classes/struts-spring.xml:</span><span class="number">46</span><span>:</span><span class="number">23</span><span>&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:<span class="number">58</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:<span class="number">360</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:<span class="number">403</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:<span class="number">190</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:<span class="number">221</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:<span class="number">302</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:<span class="number">78</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:<span class="number">3635</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.StandardContext.start(StandardContext.java:<span class="number">4222</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:<span class="number">1014</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.StandardHost.start(StandardHost.java:<span class="number">736</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:<span class="number">1014</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:<span class="number">443</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.StandardService.start(StandardService.java:<span class="number">448</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.core.StandardServer.start(StandardServer.java:<span class="number">700</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.startup.Catalina.start(Catalina.java:<span class="number">552</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&nbsp;&nbsp;</span></li><li><span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:<span class="number">39</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:<span class="number">25</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at java.lang.reflect.Method.invoke(Method.java:<span class="number">585</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:<span class="number">295</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:<span class="number">433</span><span>)&nbsp;&nbsp;</span></span></li><li><span>aused by: Error building results <span class="keyword"><strong><span style="color: #7f0055">for</span></strong></span><span> action userlogin in namespace / - action - file:/E:/apache-tomcat-</span><span class="number">5.5</span><span>.</span><span class="number">25</span><span>/webapps/wftang/WEB-INF/classes/struts-spring.xml:</span><span class="number">46</span><span>:</span><span class="number">23</span><span>&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:<span class="number">366</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:<span class="number">460</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:<span class="number">265</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:<span class="number">111</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:<span class="number">189</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:<span class="number">55</span><span>)&nbsp;&nbsp;</span></span></li><li><span>... <span class="number">21</span><span> more&nbsp;&nbsp;</span></span></li><li><span>aused by: There is no result type defined <span class="keyword"><strong><span style="color: #7f0055">for</span></strong></span><span> type </span><span class="string"><span style="color: #0000ff">'redirect-action'</span></span><span> mapped with name </span><span class="string"><span style="color: #0000ff">'success'</span></span><span>.&nbsp;&nbsp;Did you mean </span><span class="string"><span style="color: #0000ff">'redirectAction'</span></span><span>? - result - file:/E:/apache-tomcat-</span><span class="number">5.5</span><span>.</span><span class="number">25</span><span>/webapps/wftang/WEB-INF/classes/struts-spring.xml:</span><span class="number">50</span><span>:</span><span class="number">53</span><span>&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:<span class="number">613</span><span>)&nbsp;&nbsp;</span></span></li><li><span>at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:<span class="number">364</span><span>)&nbsp;&nbsp;</span></span></li><li><span>... <span class="number">26</span><span> more&nbsp;&nbsp;</span></span></li></ol></div><pre class="java" style="display: none"> Unable to load configuration. - action - file:/E:/apache-tomcat-5.5.25/webapps/wftang/WEB-INF/classes/struts-spring.xml:46:23 &nbsp;&nbsp;at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58) &nbsp;&nbsp;at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360) &nbsp;&nbsp;at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403) &nbsp;&nbsp;at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190) &nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221) &nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302) &nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:78) &nbsp;&nbsp;at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635) &nbsp;&nbsp;at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222) &nbsp;&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) &nbsp;&nbsp;at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) &nbsp;&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) &nbsp;&nbsp;at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) &nbsp;&nbsp;at org.apache.catalina.core.StandardService.start(StandardService.java:448) &nbsp;&nbsp;at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) &nbsp;&nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java:552) &nbsp;&nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) &nbsp;&nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) &nbsp;&nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) &nbsp;&nbsp;at java.lang.reflect.Method.invoke(Method.java:585) &nbsp;&nbsp;at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) &nbsp;&nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) Caused by: Error building results for action userlogin in namespace / - action - file:/E:/apache-tomcat-5.5.25/webapps/wftang/WEB-INF/classes/struts-spring.xml:46:23 &nbsp;&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:366) &nbsp;&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:460) &nbsp;&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:265) &nbsp;&nbsp;at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111) &nbsp;&nbsp;at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:189) &nbsp;&nbsp;at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55) &nbsp;&nbsp;... 21 more Caused by: There is no result type defined for type 'redirect-action' mapped with name 'success'.&nbsp;&nbsp;Did you mean 'redirectAction'? - result - file:/E:/apache-tomcat-5.5.25/webapps/wftang/WEB-INF/classes/struts-spring.xml:50:53 &nbsp;&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:613) &nbsp;&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:364) &nbsp;&nbsp;... 26 more</pre><p></p><p>在网上搜索了一通,发现原来我前面的那个配置是支持struts2.0.X的配置,而我的struts的JAR的版本为struts2.1.6,在struts2.1.X中针对redirect-action的配置全面变了.配置如下:</p><div class="dp-highlighter"><div class="bar"><div class="tools">Xml代码 <a href="http://wubin850219.iteye.com/blog/521385#" title="复制代码"><img src="http://wubin850219.iteye.com/images/icon_copy.gif" border="0" alt="复制代码" /></a> <a href="javascript:void()" title="收藏这段代码"><img class="star" src="http://wubin850219.iteye.com/images/icon_star.png" border="0" alt="收藏代码" /><img style="display: none" class="spinner" src="http://wubin850219.iteye.com/images/spinner.gif" border="0" /></a></div></div><ol class="dp-xml"><li><span><span class="tag">&lt;</span><span class="tag-name">action</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;userlogin&quot;</span><span> </span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;UserLoginAction&quot;</span><span> </span><span class="attribute">method</span><span>=</span><span class="attribute-value">&quot;userlogin&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">result</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;success&quot;</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;redirectAction&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;actionName&quot;</span><span class="tag">&gt;</span><span>login</span><span class="tag">&lt;/</span><span class="tag-name">param</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">param</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;namespace&quot;</span><span class="tag">&gt;</span><span>/</span><span class="tag">&lt;/</span><span class="tag-name">param</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">result</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">result</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;error&quot;</span><span class="tag">&gt;</span><span>/login.jsp</span><span class="tag">&lt;/</span><span class="tag-name">result</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="tag">&lt;/</span><span class="tag-name">action</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li></ol></div><pre class="xml" style="display: none">&lt;action name=&quot;userlogin&quot; class=&quot;UserLoginAction&quot; method=&quot;userlogin&quot;&gt; &nbsp;&nbsp;&lt;result name=&quot;success&quot; type=&quot;redirectAction&quot;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;param name=&quot;actionName&quot;&gt;login&lt;/param&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;param name=&quot;namespace&quot;&gt;/&lt;/param&gt; &nbsp;&nbsp;&lt;/result&gt; &nbsp;&nbsp;&lt;result name=&quot;error&quot;&gt;/login.jsp&lt;/result&gt; &lt;/action&gt;</pre><p></p><p>最后发现奇迹出现了,成功了!</p>
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/363.htm</link>
<title><![CDATA[如何进行人才网站推广（下）]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[利剑之辉的快乐生活]]></category>
<pubDate>Mon, 28 Nov 2011 06:08:09 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/363.htm</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;无论是人才网站还是其他类型的网站，营销推广的主要方式是相似的。大体分为线上推广和线下推广方式。<br />&nbsp;&nbsp;&nbsp;&nbsp; 接着谈谈线下推广方式。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>媒体推广</strong>：媒体的传播力量众所周知，务必重视这个推广方式。无论你在发展的哪个阶段，媒体公关都在市场营销中占有越来越重要的地位。通常媒体推广两种做法，一种是你找媒体，也就是想办法吸引媒体关注并得以报道，这里涉及到如何与媒体记者打交道以及各种公关技巧；二是媒体找你。如果你是业界专家和有行业影响力的人，那非常好。善待他们，当媒体记者主动找到你时，给你力所能及的支持，对你和他都会双赢。<br />&nbsp;&nbsp;&nbsp;&nbsp;在效率方面，如果你是行业专家，可以通过媒体尤其是传统媒体的访谈和约稿谈你的经验和观点，并把自己的网站作为案例或者例子结合进去。如果能在一些主流权威媒体（如人物对于《21世纪经济报道》、《中国经营报》等）或者人力资源方面专业媒体（如《人力资本》、《首席人才官》、《人力资源》等）达成则效果更佳，如果是行业性人才网站，那么还可去找本行业的权威媒体也是个值得考虑的办法。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>会议营销</strong>：和媒体推广有异曲同工之处。你的业界影响力和资源整合能力决定会议营销的效率。现在每个行业的会议都很频繁，这是个很好的推销平台。如果作为网站创办人在行业内有较大影响和较高专业水平，会比较有可能被邀请去行业会议或者专业会议上去发言（当然你得注意一下你的演讲技巧来让你的演讲变得生动而有吸引力）。对于人才网站来说，如何利用好招聘会和人才市场进行推广也非常重要。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>俱乐部营销</strong>：组建俱乐部，或者成为目标俱乐部的成员，是开展俱乐部营销的前提和基础。这在很多行业都得以广泛应用，比如汽车、房产、酒店等等。俱乐部往往是特定人群集中度比较高的，从市场细分来看，会员质量比较高，相互之间信任度和认可度也比较高，推广做得好，效果会很好。参与者一般做法有两种，一种是商业性的，比如你是这个俱乐部的赞助者（赞助方式可以很多），就可以从纯商业赞助到植入式广告，展示你自己的信息。比如俱乐部冠名、主题活动冠名、广告展示、俱乐部活动演讲等等，不一而足。另一种是非商业性的，用资源互换的方式或者公益的方式参与到俱乐部中去（举个例子，石安见过一家IT俱乐部所租用的咖啡吧，从上网的品牌电脑到桌上的杯子，都是相关赞助方免费提供的）这是一种双赢的做法。另外，可以考虑你或者你的网站做某个俱乐部活动的创建者和组织者，如果组织得好，则回报颇丰。但有一点要强调，无论哪种做法，请别让人反感或者生厌，否则效果适得其反。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>广告</strong>：在报纸、杂志、电视、网络、户外甚至是手机等等媒体上做广告也是网站推广的一种方法，投放广告可得花钱，甚至是很大一笔钱。前两年，人才网站的推广大都还以线上为主，这两年尤其几大门户人才网站拿到巨额投资后，各种线下媒体平台上到处可见他们的广告，不是小打小闹，是大手笔投放。虽然效果看起来不行（财报巨亏是个明证），但也着实为人才网站挣了回脸&mdash;&mdash;原来人才网站也可以有望做到&ldquo;路人皆知&rdquo;。只希望他们别有朝一日后悔烧钱过快。<br />&nbsp;&nbsp;&nbsp;&nbsp; 但对于他们的推广方式，石安不敢完全苟同。当然他们有钱，有资本可以这样烧钱，在中国存在&ldquo;广告一定有效&rdquo;的认识误区（即使是史玉柱的恶心脑白金广告，也是建立在非常科学和严密的策略之上的，另注）。如果从营销角度来看，则存在很多不合理性。我非常怀疑智联招聘委托的营销策划公司有没真正帮他们做过认真系统的营销分析。比如他们的定位在哪里？需要影响到的用户在哪里？投放的广告有效率会有多高。给别人的印象就是请了徐静蕾和黄健翔两名人，然后就是铺天盖地地到处砸钱做广告。可年终1.7亿的巨亏代价到底能给智联带来什么？<br />&nbsp;&nbsp;&nbsp;&nbsp; 回过头来说说怎么做人才网站的广告投放。石安认为广告投放有个原则：广告不只是广告。广告只是营销推广的一个组成部分，不是独立存在的推广形式，必须和其他营销活动结合才能更大地发挥效用。比如人才网站投放时，结合到公司的大事件里去，或者是网站改版、或者是投融资事件、或者是参与某项活动比如公益活动等等，具体投放时也一定要把广告和软文、新闻以及线下其他活动结合起来考虑。<br />&nbsp;&nbsp;&nbsp;&nbsp; 对智联招聘、中华英才这样的广告主来说钱不是问题，他们可以考虑包括电视、户外（比如地铁、公交）以及大版面的平面广告这样大手笔广告投入。对相对小的人才网站怎么办？比如可以考虑搜索引擎上做一定的竞价排名投放或者在其他门户网站（如新浪、腾讯）上投放网页广告也行，当然更加节约的做法是以招聘的名义做投放，以及在其他非完全同业竞争的人才网站上刊登广告（包括banner和文字等），人才网站既可以是广告投放平台，同时也可以是招聘单位。对很多起步或者小型人才网站来说，如何投放广告要更讲究技巧（常规的如何投放广告在石安的<a href="http://blog.sina.com.cn/s/blog_4899fd53010009uy.html" target="_blank"><span style="color: #ff7e00">《小预算大广告&mdash;&mdash;如何选择合适的广告媒体》</span></a>一文中有提到一些）。比如投放对象，可以在一些大型招聘会或者行业专场招聘会（对行业人才网站这个效果会更佳）上根据自己预算适当做些投入还是比较有效的。<br />&nbsp;&nbsp;&nbsp;&nbsp; 还有你知我知他知的许多推广小技巧，比如把网站地址放在名片、手提袋、T恤衫、邮件签名、电子贺卡、礼品、宣传资料等等里面，出现你对外沟通或者展示的任何场合，让它无处不在（但出现要自然，不要太功利性）&mdash;&mdash;都是些老套而普遍的做法，但的确还有效。<br />&nbsp;&nbsp;&nbsp;&nbsp; 和线上推广一样，线下推广同样大有文章，石安没有头绪地说了一些，未必都对，供方家评点交流。
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/362.htm</link>
<title><![CDATA[[转载]如何进行人才网站推广（上）]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[利剑之辉的快乐生活]]></category>
<pubDate>Mon, 28 Nov 2011 06:06:27 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/362.htm</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;无论是人才网站还是其他类型的网站，营销推广的主要方式是相似的。大体分为线上推广和线下推广方式。<br /><strong>&nbsp;&nbsp; </strong>&nbsp;&nbsp;先谈谈线上推广。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>SEO</strong>：谈到线上推广，一般大家会先想到SEO。SEO这是做网站推广的基本方式，人才网站也一样。比如你的关键词设置。在网站的重要位置如页首、关键词在网页文字的密度（5%的合理出现率），有点需要注意的是，网站搜索引擎推广关键词和友链推广关键词并不一定是一样的，应区别对待。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>搜索引擎收录</strong>。这个工作对网站推广必不可少，一般做网站都会想到向搜索引擎提交地址收录。当然，不一定需要每个搜索引擎都提交，可以先分析各搜索引擎在技术上的关系，先满足非相关技术搜索引擎的收录提交，比如Google、百度、Sohu采用的是不同的搜索技术，可以都提交。其他象sina、163实际用的是Google的技术，基本上在Google收录了，他们也就收录了。不过一般的做法是觉得研究技术太麻烦，有胜于无，占不了多少时间，一起上。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>网站内容更新</strong>。适度更新肯定对搜索引擎收录有帮助。大家在做站总是必提PR值，一个经常更新的网站肯定要比久不更新的网站PR值高。人才网站这块会比较简单，企业自助上传发布招聘信息、个人上传简历都是其中的工作，但网站自己并不是坐等其成，也需要主动更新一些信息。比如职场资讯、培训信息、行业动态等等。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>友情链接</strong>。高质量的友链很需要，尤其好的反向链接，比如PR值比你高得多的网站友链。PR值为3的网站如能和PR值6或7的网站做友链，肯定是非常值得的。但别人未必愿意跟你做链接，如果是非相熟网站，通常是找PR略高的交换链接成功率比较高，关键是沟通技巧。如果想跟PR值高得多的网站换链，那么可能的解决方法有三：1是你和网站站长是熟人或朋友，2是花钱买，网上有很多这样的操作工作室或者公司；3是如果你在业界有影响力或者名人，别人在非网站推广方面认可你的价值并期望未来有各形式的合作，那么也完全有可能。另外，值得注意的是要经常查看友情链接，比如隔几天看一下。有些网站会虚晃一枪，或者觉得双方不对等，总之可能有诸多原因，导致双方做好链接后回头就把你的站撤下的也是可能的。所以定期看看曾给你做过友链的网站的链接是否依然有效。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>网址导航收录</strong>。现在网址导航有很多，比较有影响的包括Hao123、265、360等等，这些大的网址导航站如果能收录你的网站的话，对二三线城市或者打工者、学生群体中的推广能起到事半功倍的作用。但这需要费用。看你的能量有多大，就能做到多深的效果。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>网络论坛</strong>。可以通过包括论坛、SNS、博客等方式做推广。这个需要和软文推广技巧结合，尤其是外站推广。想办法把自己网站的信息巧妙地融入到贴子里面或者文章中间，既有效，又不引起反感（尤其是版主的反感）就非常重要。具体怎么做可以上网搜索诸如&ldquo;如何写软文&rdquo;、&ldquo;公关稿写作&rdquo;等找到答案。另外，你以专家的身份在论坛、博客上大谈行业经验和职业指导咨询，把网站信息做些结合，这也是个不错的方法。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>病毒营销</strong>：比如QQ群、MSN群、电子邮件推广。一种是花钱请人做，一种是花时间自己做。这种方式近两年网站推广用得比较多，也有些泛，效果不比从前。但这种方式持之以恒很重要，别总想着把你的网站名称放在别人眼前，生怕别人看不见。通过经验交流，或者真的有价值的文章内容链接给到对方会更好。在石安所在的IT圈的QQ群和MSN群里，这种方法常见（更好的办法是建个自己的群，以群主的名义发文章链接），这个方法用得好不好的底限原则是你的内容链接对别人是不是真的有价值并有可读性。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>资源互换</strong>：把你网站的一些不错的内容（尤其是原创的）拿出来，和别人做内容互换，并标注各自的文章来源。或者准备些小的banner广告或软文，和别人交换，达到互惠互利的目的。当然交换的内容应该和网站经营方向一致和相关，毫不相关的不用做。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>做义工</strong>。做网站，赚钱说易也易，说难也难。有时别那么势利，老想着眼前挣钱的事，着眼于长远考虑，当当义工，比如给企业尤其是一些名企免费上招聘信息或者广告，或者帮他做做新闻，这一般对方不太会拒绝（这在石安的<a href="http://blog.sina.com.cn/s/blog_4899fd5301000ast.html" target="_blank"><span style="color: #ff7e00">《如何建一个行业权威论坛》</span></a>一文中也有提及），这有助于提高网站的品牌形象。如果你和名企有很好的人脉关系，石安建议你和他们先打个招呼，你的义工不会白做，未来很可能有很好的回报。另外，这些事情可结合自己的广告策略来做，平衡好义工和盈收之间的关系。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>&ldquo;双免费&rdquo;</strong>。&ldquo;双免费&rdquo;模式是一种人才网站的发展趋势。传统的人才网站要么向企业收费，要么向个人收费（向企业收费的居多），这是个好的营收方式，但不是个好模式。未来的模式应该是企业和个人双免费&mdash;&mdash;注册和发布、查看对方信息免费，但信息排位、广告刊登收费。也就是通过增值服务收费（以后人才网站还能和手机营销结合起来）。另一种模式是局部双免费，企业查看个人简历参照猎头公司做法，足以帮助企业初选的部分简历信息可见，完整信息（建议考虑到隐私因素，或许局部信息更好些），这个对高端人才更适用。<br />&nbsp;&nbsp;&nbsp;&nbsp; <strong>电子刊物推广</strong>。以网站的职场资讯频道内容为主体，每期找些精选内容放进去，也可以加点自己的教育培训内容，广告部分可以为你觉得有价值的客户提供广告页或者信息页（但别太多，另外首页不要放广告），把它做成一本看起来是专业的并以职场信息为主的杂志（电子版）。然后发送出去，终极目的就是让接收者爱看爱读。只要是为你的目标用户提供了有价值的信息，它就会被接受。这个花时间，但推广效果会很好。<br />&nbsp;&nbsp;&nbsp;&nbsp; 至于花钱的网站推广方式，也有很多。网站推广总的来说是花钱可以解决的事情，只要在遵纪守法的范围内花钱，你能想到的，绝大多数能达成，就不用多说了。
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/361.htm</link>
<title><![CDATA[转发5个减压方法-说的非常好，非常实用]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[利剑之辉的快乐生活]]></category>
<pubDate>Thu, 25 Aug 2011 01:49:37 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/361.htm</guid> 
<description>
<![CDATA[ 
	当向听众解释压力管理的时候，讲师拿起一杯水问道：这杯水有多重？20克到500克众说纷纭。 <br /><br />讲师回答说：实际有多重并不重要，这要看我拿着它的时间。一分钟，没有问题。如果一个小时呢，我的右臂就会疼痛。再进一步，一天，你应该给我叫救护车了。当然每种情况下杯子的重量是相同的，但是我拿的越久，它就显得越沉。 <br /><br />他继续说道：这就像压力管理，如果总是怀揣沉重的负担，随着压力越来越大，迟早我们会崩溃掉。 <br /><br />正如这杯水一样，你需要放下它休息一下，调整自己，继续前行。 <br /><br />所以，今晚在各位回家之前，放下工作上的负担。不要把它带到家里去，你可以明天继续肩负。无论你背负怎样的负担，如果可能，暂时忘掉它们。 <br /><br />这里有5个简单的方法，能为你带来平静的心情。 <br /><br />1.将最艰巨的任务放在早晨。 <br /><br />人们总是倾向于用简单的任务开始一天的工作，别这样做。将艰巨的任务拖到后面就像你伸开手臂举着杯子，开始没什么，但是随着时间的推移，你会很快感觉到压力。将最艰巨的任务放在早晨，这样你就能享受到效率提升及一天中剩下时间的平静带来的惬意。 <br /><br />2.放开你不能控制的事情 <br /><br />你和朋友计划好外出，但是最后关头下雨了，这时你会怎么想？ <br /><br />有些人会因此而失望、愤怒，然后跟周围的人抱怨：这不公平，为什么这种事总是让我遇到！ <br /><br />没什么可抱怨的，雨不会因为你抱怨而停止，老天才不在乎。这种情况下我会到公园里散步（因为雨也很有魅力），或者躺在床上一边读Terry Pratchett的书，一边听着雨水打在窗户上的声音。 <br /><br />将你能掌控的事情做到最好，但也不用太在意不能左右的事情。 <br /><br />3.不必担心别人的想法 <br /><br />我曾经对自己的舞技感到非常羞愧，因此很少与朋友外出。即使出去我也不跳舞，仅仅笨笨的站在一边。因为我担心别人嘲笑。 <br /><br />然而有一天我在学校里重重的下了决心，决定要改变这一现状。下一次和朋友们出去的时候，我走进了舞池，旁若无人的跳舞。有意思的是并没有人注意到我。实际上他们还想看我再跳，因为觉得我有意思。 <br /><br />不要担心别怎么看你，可能他们还在担心别人会怎么看他们呢 <br /><br />4.列出3件你喜爱的事情 <br /><br />我是在Positivity Blog中的The Plague of Happiness Ever After文章中第一次和读者分享这个技巧的。 <br /><br />仅仅是列出生活中你喜爱的3件简单的事情，如：这个屋子我最喜欢的3个地方，或这个星期我最喜欢的3件事，或是其他的什么。 <br /><br />在你堵车或排队而感到无聊的时候这个技巧就会显得尤为有用，你能立即把无聊的感觉一扫而光，取而代之的是幸福和平静。 <br /><br />5 走向窗前望向窗外，深呼吸。 <br /><br />我从禅师Mary Jaksch那里学到的这个技巧。仅仅是走向窗前望向窗外，深呼吸。将注意力集中到这次呼吸上并忘掉其他的一切。这听起来及其简单，但是你很难想象这样做能立即给你带来平静的心情。 <br /><br />这也是最后一个技巧，你可以在读完这篇文章后马上试一试。忘掉一切，体会空气在肺里的进出。<br />
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/360.htm</link>
<title><![CDATA[IT销售人员的基本素质]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[利剑之辉的快乐生活]]></category>
<pubDate>Mon, 16 May 2011 09:48:48 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/360.htm</guid> 
<description>
<![CDATA[ 
	<p>&nbsp; 之所以转这个文章，到不在于文章本身对销售人员基本素质的分析，而是感觉，一个销售人员应该具备一些基本的素质，而一个优秀的销售人员更是把这些基本的素 质或者是基本功做到了极致。要想成功这个行业的优秀者，必须对自己有所要求，你的要求越严格，自己成功的机会就越大。特别是一些新人，更应该如此。而那些 市场的老江湖们，静下心来，看看自己的基本功是不是都已经丧失殆尽了。</p> <p><br /> &nbsp;&nbsp; 都说销售行业的门槛低，是的，销售行业人才需求量大，销售人员进入这个行业的门槛相对是比较低。进入销售行业容易，但是做个优秀的销售人员却不是件容易的事，必须具备一些良好的个人素质，这些素质是做好销售工作的前提。<br /> 一．&nbsp;&nbsp;&nbsp;&nbsp;仪表与着装<br /> 一个客户对业务员的仪表产生好感的话，会给业务员产生很多自信，相反则可能影响到交易的进行。<br /> 举个例子：有个业务员在抬手为客户递文件时，露出腋下衬衣的一个口子，这使双方都感到非常尴尬，最主要是使业务员顿时失去了自信，满脸通红、手忙脚乱，后 果可想而知。无论是着装还是仪容仪表方面的这类例子很多，不一一例举，以免引起大家恶心。一句话，如果不注意仪表仪容、行为举止、个人卫生等方面的问题， 就很可能失去很多成交的机会，因为客户会对这种人产生心理障碍，谁还会去考虑他推荐的产品呢？<br /> 精干的外表、得体的着装、礼貌的举止会给人造成一个整体的印象，良好的印象会在推销中产生巨大的作用，尤其是初次拜访顾客时，第一印象的重要性绝对是不可忽视的。<br /> 二．&nbsp;&nbsp;&nbsp;&nbsp;恰当的表现<br /> 我们站在客户的角度来检查一下我们的业务员，看看在客户面前的表现是否恰当？：<br /> 1．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此人善于听别人说话吗？是否会经常打断别人说话。。。<br /> 2．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此人是否经常说老板、公司、朋友、或熟人的坏话？如果是，那此人也可能经常会在背后说我的坏话。。。。<br /> 3．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此人是否不懂一点礼节礼貌？。。。。<br /> 4．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此人表现的是神情自然还是过于装腔作势？。。。。<br /> 5．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此人表现的是轻松自若、不慌不忙还是坐立不安神情紧张？。。。。<br /> 三．业务员的个人素质<br /> 1．沉默是金<br /> 这句话人人都听过，它是我们做业务员的重要素质之一。一个婴儿先是听别人说话，一年后就开始慢慢学人说话。然后呢，却用一生的时间去领悟沉默的重要性。<br /> 我们一定要学会聆听，客户都喜欢那种不但善于语言表达，而且还善于听别人说话的业务员。善于倾听包括：聚精会神的聆听、点头示意表示理解、不轻易打断对方，尤其是不要乱插嘴。<br /> 我有个学生，曾经告诉我说&ldquo;老师，我今天把一个客户说的哑口无言&rdquo;，我问&ldquo;最后签单了吗？&rdquo;，她说&ldquo;没有&rdquo;。记住，我们说明产品不是在做大专辩论会，我们的目的是要签单，你把客户说得哑口无言又有什么用呢？客户心理会说：你说的再好，我就是不买！<br /> 一定要学会沉默，让客户把心理话说出来，他们说得越多，我们了解的情况也越多，我们才能说服客户购买我们的产品。<br /> 2．可信性<br /> 客户对我们的信任非常重要，因为客户对产品的信任首先来自于对我们业务员的信任。要做到使客户对我们的信任，首先我们要守时、守信。<br /> 与客户预约时间时，只能提前不能迟到。不守时也就是不守信，那我们对客户承诺的品质啊售后啊等等就都不会使客户相信。<br /> 一台机器每小时如果可以生产450个零件，就是450个零件，不能说成是451个。事实求实也是业务员素质的基本要求。<br /> 有个超市的老板曾跟我说，他的卷筒纸总是从一个固定的业务员那里进货，因为那个业务员很诚实，也很替我着想，从不干以次充好的事。<br /> 当客户信赖你的话，那么别的竞争者就很难抢走你的业务。<br /> 3．把握主动权<br /> 一个优秀的业务员必须能够把握谈话的主动权。可以把大部分的谈话机会让给客户，但一定要能够把握住谈话的主动权，不能被客户牵着鼻子走。<br /> 这也是推销的两大原则：一是不强行推销，二是把握推销的主动权。<br /> 4．自信心<br /> 缺乏自信的表现一般有：我长得不够漂亮、我个子太矮、我学历太低、我没有经验等。。。<br /> 不管工作中遇到什么困难，我都能解决、都能对付、都能完成任务，这样一种感觉就是自信心。<br /> 自信心是在工作中不断获取经验、业务技能不断提高的过程中建立起来的。新手缺乏自信是因为工作经验太少，对产品知识和营销知识了解不够造成的。提高自信的途径是向有经验的业务老手学习，从书本上学，从工作中慢慢积累。<br /> 对自己（相信自己是最棒的，别人能做到的事，我也能做到）自信、对产品（自信相信我们的产品是最棒的，一定能给客户带来益处）、对公司的自信（对公司没有 信心，就不会进入公司）。没有哪个业务高手是天生的，就象姚明、刘翔等也都是训练出来的，还有老鹰的故事都说明了这一点。<br /> 5.自律<br /> 业务员是一个相对自由的职业,上班时不会有人跟在我们屁股后面。因此，我们必须学会自己管理好自己。很多业务员就是因为时间上安排不好，造成业绩下降。就 其原因，就是缺乏毅力，经不起诱惑，一连几个小时泡在娱乐桌上不肯下来，并喜欢睡懒觉和提前下班。不管做哪一行，养成良好的个人习惯，是成功的关键。<br /> 6．乐观态度<br /> 时刻保持乐观的态度，展业过程中，拒绝、挫折每天都会遇到，我们应该时刻保持乐观的心态去对待。销售人的压力来自多方面，有领导施加的压力、有销售任务压 力、来自客户的压力、来自竞争对手的压力等等，并且这些压力每时每刻都存在，是否能够承受工作中强大的压力，是销售人能否成长的关键因素<br /> 7．开放的思想<br /> 时代在进步，我们应该怀着一颗开放的心态去接受新鲜事物，与时俱进，不能总是用老的经验和方法在原地踏步。<br /> 8．积极的心态<br /> &nbsp;&nbsp;美国推销员和日本推销员的故事，最能说明积极与消极的心态。<br /> 9．关心客户<br /> 客户是我们的衣食父母，我们只有用心去为客户服务，才会的得到相应的回报。有句话说得好&ldquo;真正给你发工资的人是客户，不是老板&rdquo;<br /> 　&nbsp;&nbsp; 10．勤奋工作<br /> &nbsp;&nbsp;&nbsp;&nbsp; 勤奋敬业是业务员迈向成功的前提，技巧和方法可以通过学习来提高，而缺乏了勤奋敬业的精神，一切都是纸上谈兵。<br /> 11．良好的沟通能力<br /> 良好的沟通能力，是客户接受我们产品的前提条件。客户对产品的兴趣，首先来自于对我们业务员的兴趣。其实真正的沟通是有效的传递和接受信息。是否能够对信息的有效性迅速作出判断并传递和接受才是良好沟通能力的体现。<br /> 12．诚恳的态度<br /> 没有哪个客户喜欢一个爱耍小聪明的人，只有勤勤恳恳、实事求是的业务员才最受客户的欢迎。<br /> 13．学习能力：<br /> 要想成为优秀的业务人员，必须学会学习，懂得虚心的向前辈、向上司、向客户等学习，学习交际艺术，谈判技巧，学习产品知识、营销知识、商务礼仪、管理、组织协调能力等等。<br /> 具备以上这些素质，就可以进入销售行业了，再加上勤奋、努力，就会有好的回报，能取得良好的成绩，如果觉得自己没有这些素质，甚至一个都不具备，那我劝你还是去其他行业试试，销售行业可能不适合你。<br /> 四.&nbsp;&nbsp;应当克服的坏毛病<br /> 人无完人，金无足赤。由于各种原因，我们每个人身上都会有一些影响个人发展的坏习惯和坏毛病。<br /> 1．拖延的习惯<br /> 不能严格按照客户分类（ABC）去拜访和跟踪。上午拖下午，今天拖明天；雨天拖晴天；冷天拖热天；<br /> 2．拜访的恐惧心理;担心被客户拒绝的恐惧心理。<br /> 这种恐惧心理实际上还是内心缺乏自信的表现。例如：拜访了10家被拒绝，第11家就不敢再去了。或者看见豪华的宾馆酒楼等就不敢进去等。<br /> 3．拜访时间的控制<br /> 拜访时间主要是指面谈的时间和拜访间隔时间的把握的问题。面谈时不要与客户聊个没完，成了客户的免费陪聊。<br /> 拜访的时间间隔，应严格按照客户的ABC分类去按时拜访。（要么太勤，要么隔很久都不去）<br /> 4．找藉口。<br /> 成功的人找方法，失败的人才找借口。推销工作是一项用业绩证明价值的工作，无论公司还是个人，最终还是要靠业绩生存。因此不要找藉口，找订单才有用。与其找些借口来安慰自己，还不如花点时间来研究一下别人是如何成功的。<br /> 5．急于求成<br /> 中国有句老话，欲速度则不达。市场的开拓、个人的成长、业绩的提升、经验的积累等都是一个循序渐进的过程。急噪、走捷径都是业务员成长的一个大忌。<br /> 4．做事无计划<br /> 做事无计划，使得工作效率低下，盲目性的工作造成工作无系统、没有延续等。一天到晚像个无头苍蝇毫无目的的到处乱窜，想到哪里就做到哪里。<br /> 二．产品及市场知识：<br /> ①产品知识：<br /> 真正的销售高手是那些对自己产品称得上&ldquo;半个专家&rdquo;的人，客户通常都喜欢的既敬业又专业的业务员。这样的业务员能够解答客户心中的所有疑惑，产品买了以后让人安心。产品知识内容包括：型号、价格、卖点、功能、质量、售后、荣誉、厂家背景等<br /> ②市场状况：<br /> 要了解各品牌的价格定位、市场占有率、优势及卖点、市场空间、市场环境、未来发展趋势等。<br /> ③竞争品牌：<br /> 对于竞争品牌的优势和弱势，以及经营状况、人员素质、营销策略等，都是我们需要弄清楚的。这就是商场上人们常说的的&ldquo;知己知彼&rdquo;，即使遇到客户用其他品牌来打压我们，也可以做到心中有数，不至于乱了阵脚。<br /> ④责任区域：<br /> 一般公司都会给业务员划分一定的责任区域，对于区域内的重点客户，应做好他们相关资料的收集工作。内容包括（企业或个人）企业名称（或个人姓名）、地址（或住址）、所属行业、企业规模、家庭状况、负责人姓名、联系方式、拜访和维护的情况等。<br /> 　三．销售技巧<br /> ①基础销售技巧<br /> 基础销售技巧包括寻找客户的技巧、拜访客户的技巧、商务礼仪等基础知识。<br /> ②提升销售技巧<br /> 内容包括市场细分、市场调研、大客户销售技巧、关系营销、顾问式营销、客户管理、市场环境分析等。<br /> 　四．自我鞭策<br /> 　　①责任区域内地毯式拜访<br /> 　&nbsp;&nbsp;②迅速处理客户意见<br /> 　　③对刁难的客户，永远保持和蔼的态度<br /> 　&nbsp;&nbsp;④决不放过任何机会<br /> 　　⑤不断维护及扩大人脉关系<br /> 　　⑥学无止境<br /> 五．履行职务<br /> 　　①了解公司方针、销售目标<br /> 　　②做好销售计划<br /> 　　③认真填写销售报表<br /> 　　④遵循业务管理规定</p>
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/359.htm</link>
<title><![CDATA[论IT行业销售人员的素质分类:销售知识]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[利剑之辉的快乐生活]]></category>
<pubDate>Mon, 16 May 2011 09:48:03 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/359.htm</guid> 
<description>
<![CDATA[ 
	<span style="color: #003399">在一个高技术公司做一个合格的销售人员不是一件容易的事，因为销售人员的责任<br />重大。<br />&nbsp;&nbsp;&nbsp;&nbsp;不管你的公司做什么样的产品，其最终目的是把你的产品卖到客户手中。因此，销<br />售应该是一个企业的核心。一个企业，一个公司在很大程度上是靠销售来养活的。销售的<br />成败一个公司一个企业的成败。所以在制定了正确的市场销售策略的前提下，销售人<br />员的素质是极其重要的。<br />销售人员是最典型的商人。&ldquo;无商不奸&rdquo;是对商人的一种历史的误解。真正成功的商人<br />并非靠奸诈取胜。古今中外有许多业界巨子是推销员出身的。通过销售来了解市场，锻炼<br />自己以适应市场，接近客户，了解需求是任何一个成功的商人的最实际有效而又不可跨越<br />的途径。同时，销售产品的过程也是销售自己的过程。<br />一次、两次的成功不能说明你是不是一个好的销售人才。那些一味靠降低价格取胜，纯<br />粹靠个人关系取胜，靠说假话取胜，做&ldquo;一锤子买卖&rdquo;的销售绝对不能说是好销售。<br />素质不是一种模式。你不必风度翩翩，虽然翩翩的风度可能会帮助你；你不必伶牙俐齿<br />，虽然好的口才会帮助你；你不必担心自己的性格内向，虽然销售是一项必须和人打交道<br />的工作。素质也不是与生俱来的，他需要主动的学习和锻炼。尽管如此，销售人员还是有<br />一些共同的素质，即：<br />（1） 要热爱销售工作<br />做销售是一件辛苦的事。所以要做销售，就最好喜欢它。如果不喜欢，就不要做。<br />（2） 要有永不服输的韧劲<br />做销售需要一种坚强的信念，充分的信心和一股永不服输，不拚到底不罢休，一往无前<br />的精神和韧劲。当然在同时也要掌握正确的策略和战术。<br />（3） 要能够&ldquo;aggressive&rdquo;<br />到外企面试过销售职位的人都知道&ldquo;aggressive&rdquo;这个英文词。这个词的意思是&ldquo;侵略<br />的、爱寻衅的、敢做敢为的、有进取心的&rdquo;。经理们希望销售们都能够&ldquo;aggressive&rdquo;<br />。<br />销售是一份经常要&ldquo;无事找事&rdquo;的工作，即&ldquo;把不可能的客户变成可能的客户&rdquo;。一个<br />新客户的信息应该是职业销售人员头脑中最大的兴奋点。要反映灵敏，闻风而动，一旦开<br />始则咬住不放，不怕被拒绝，不怕听冷漠的搪塞，不怕被人家从办公室赶出来，要有一种<br />信念：只要订单还没有被别人拿走，就有希望，就必须努力。<br />敢于进取的心理基础是自信。首先你必须对自己有信心，万不可因为你自己年轻，公司<br />小，产品不出色，客户的官大等等而失去自信。你可以在心里不停的向自己说：&ldquo;我是<br />最棒的，我所代表的公司是最好的，我所销售的产品是最适合你的，你一定会买我的产<br />品&rdquo;。这不是自欺欺人，如果没有这样的信心，你很难坚持下去。<br />（4） 要善于学习和交流<br />成功的开拓靠学习。销售人员时时刻刻都需要学习，首先你要向自己学，不断总结与提<br />高；向客户学，学习客户领域的知识、产品与应用，甚至向客户学习市场经验；向技术<br />人<br />员学习产品与技术；向老板和同事学，学习公司的策略与销售风格以及成功与失败的经<br />验；向社会学，因为你每天都在看到和听到销售与购买的工程；要多读书，对于做销售<br />的<br />人，你读的每一本书都会在工作中派上用场，多读书更会提高你的销售层次。<br />善于交流是销售人员所必备的基本素质。交流是生意的基础，交流是建立感情的基本途<br />径，语言是交流的重要手段，要把握语言交流的方法与艺术，要懂得&ldquo;到什么山上唱什<br />么歌&rdquo;。在任何可能的机会，和客户交流，和业务伙伴交流，和老板交流，和同事交流。<br />交流的目的在于沟通理解，交朋友。每一个客户都应该成为朋友。而且不是酒肉朋友，<br />是相互信任的朋友，有了朋友才有回头客。另一方面，每一个朋友都可能是潜在的客户，<br />每一个朋友都可能是客户的来源。其实，即便没有生意，朋友多了岂不是好事？销售人员<br />必须是&ldquo;杂家&rdquo;，你要了解业界的发展趋势，业界的历史与掌故。此外如果你有充分的各<br />个方面的常识或者业余爱好，你会发现，不管这种知识和爱好是在音乐、文学、历史、体<br />育，还是在其他什么方面，都会对你的销售工作大有帮助。<br />（5） 要有勤奋刻苦的精神<br />销售与很多其他工作不同，讲究&ldquo;天时、地利、人和&rdquo;。销售过程中有太多影响因素，<br />不是销售人员能够完全把握的。所以从某种意义上说，销售有时需要好运气。然而如果把<br />运气看得太重就大错而特错了，销售人员最需要的是勤奋。<br />人和工作要做好都需要勤奋，而销售则尤为甚之。每一个成功的销售人员都可以给你讲<br />出一连串成功或者失败的故事，而不管成功与失败，每一个故事的背后都有一份辛勤，甚<br />至辛酸。在每天夜幕落下，人们在家里享受一天工作之后的闲暇时，写字楼里通明的灯火<br />之下仍然辛苦工作的是那些销售人员。<br />销售人员首先要嘴勤，勤问勤说。勤问就能尽可能多地搜集信息，掌握项目进展情况，<br />得到别人的意见和建议。勤说就是要随时随地的在适当的场合宣传你的公司和你的产品。<br />第二是要腿勤，勤串勤跑。生意不是&ldquo;坐&rdquo;出来的，是跑出来的。要勤于访问你的客户<br />，你的伙伴。你要和客户建立感情、交朋友，不勤跑是做不到的。<br />第三是手勤，勤读勤记。随时更新你的公司产品市场知识，随时记录整理你的信息，并<br />且向有关人员提供信息。<br />第四是耳勤目勤，勤听勤看。如今的市场竞争在很大程度上是信息的竞争，在一个项目<br />上，谁掌握的信息完全准确谁的赢面就大。因此，随时掌握市场动向、客户动向、对手<br />动向、产品动向要求销售人员耳聪目明。<br />第五是脑勤，勤思勤省。要勤于思考你的计划和策略。善于分析、总结、改善、提高，<br />善于创造。要善于动用你所有的知识和思维对已经发生、正在发生的和将要发生的事情做<br />出认真的分析，分析不清是不轻易下结论的。在紧要时刻，&ldquo;吾日三省吾身&rdquo;恐怕是必要<br />的。<br />所有还没有做销售但想做销售的人都要做好吃苦的准备。首先是要吃得身体之苦，做销<br />售你要习惯于长途跋涉，频繁的旅行，居无定所，食寝无味；要经常长时间陪着客户，而<br />且通常要小心翼翼，不能说错话，不能出任何纰漏；要参加甚至作为一方的主要人物进行<br />马拉松式的谈判，要做好准备经常加班甚至是连夜加班（尤其是做投标项目）；你可能<br />要交出你的肠胃，听任他发炎溃疡，该喝五粮液时还得照喝。<br />更严重的是你还要准备承担心理之苦。你要耐得寂寞，因为经常只有你自己最清楚你的<br />案子中的真正情况，需要你独立判断，你可能会完不成定额，你签的订单可能会利润太低<br />，你请客户吃饭的开销可能太大，所有这一切都可能招来你老板的训斥。你被挨骂的地方<br />还远不止你的老板，你的同事、你的老婆（老公）、你的客户都可能会骂你，而且在他们<br />骂你的时候你在多数情况下只能忍气吞声。<br />然而比较起成功的喜悦，受气和辛苦都不算什么，做销售勤奋和多吃苦是必须的。<br />&nbsp;&nbsp;&nbsp;&nbsp;总之，一个好的销售人员要善于驾驭复杂的形势，善于扭转劣势，做那种双方都赢<br />（win/win）的生意；好的销售有很多回头客；好的销售人员与客户成为朋友；他们善于<br />从<br />每一个案子中学习；好销售所签订的订单/合同的遗留问题最少。好的销售人员容易得到<br />公司内的其他部门譬如市场、商务和技术部门的支持。<br />在激烈的竞争中，&ldquo;善胜者不争，善争者不战，善战者不败，善败者不乱&rdquo;，可以作为<br />一个好的销售人员的座右铭。 </span>
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/358.htm</link>
<title><![CDATA[将标准的java程序封装为Windows下面的服务]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[JAVA SSH学习]]></category>
<pubDate>Sun, 17 Apr 2011 08:50:33 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/358.htm</guid> 
<description>
<![CDATA[ 
	<p>1、首先到请下载最新版本的Java Service Wrapper， <br /> 可以到 <a href="http://wrapper.tanukisoftware.org/doc/english/introduction.html" target="_blank">http://wrapper.tanukisoftware.org/doc/english/introduction.html</a>&nbsp;&nbsp;原始站点下载最新版。 <br /> 2、准备如下文件，复制到test目录，这些文件可以从下载包中找到： <br /> wrapper.dll <br /> wrapper.exe <br /> wrapper.jar <br /> 3、编写wrapper.conf，也放在同一级目录下面，内容如下</p> <p>&nbsp;</p> <div class="dp-highlighter"><div class="bar"><div class="tools">Java代码 &nbsp;<a title="收藏这段代码"><img class="star" src="http://wjboy49.iteye.com/images/icon_star.png" border="0" alt="收藏代码" /></a></div></div><ol class="dp-j"><li><span><span>&nbsp;&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Java&nbsp;Application完整路径&nbsp;&nbsp;</span></li><li><span>wrapper.java.command=java&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#定义程序运行的classpath&nbsp;&nbsp;</span></li><li><span>##&nbsp;注意你需要的jar都写上，包括wrapper.jar和当前目录(点)&nbsp;&nbsp;</span></li><li><span>wrapper.java.classpath.<span class="number">1</span><span>=wrapper.jar&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.classpath.<span class="number">2</span><span>=d:/tomcat/shared/lib/commons-logging-</span><span class="number">1.1</span><span>.jar&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.classpath.<span class="number">3</span><span>&nbsp;=&nbsp;.&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;Java&nbsp;Library&nbsp;Path&nbsp;(location&nbsp;of&nbsp;Wrapper.DLL&nbsp;or&nbsp;libwrapper.so)&nbsp;&nbsp;</span></li><li><span>wrapper.java.library.path.<span class="number">1</span><span>=./&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;Java&nbsp;Additional&nbsp;Parameters&nbsp;&nbsp;</span></li><li><span>#wrapper.java.additional.<span class="number">1</span><span>=&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;Initial&nbsp;Java&nbsp;Heap&nbsp;Size&nbsp;(in&nbsp;MB)&nbsp;&nbsp;</span></li><li><span>#&nbsp;初始化的内存使用数量&nbsp;&nbsp;</span></li><li><span>#wrapper.java.initmemory=<span class="number">16</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;Maximum&nbsp;Java&nbsp;Heap&nbsp;Size&nbsp;(in&nbsp;MB)&nbsp;&nbsp;</span></li><li><span>#&nbsp;最大的内存使用数量&nbsp;&nbsp;</span></li><li><span>#wrapper.java.maxmemory=<span class="number">64</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;运行的Main&nbsp;Class&nbsp;&nbsp;</span></li><li><span>#&nbsp;请携带路径，写上完整的运行主类的全名&nbsp;&nbsp;</span></li><li><span>wrapper.app.parameter.<span class="number">1</span><span>=&nbsp;mypackage.MyMainService&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;Port&nbsp;which&nbsp;the&nbsp;<span class="keyword">native</span><span>&nbsp;wrapper&nbsp;code&nbsp;will&nbsp;attempt&nbsp;to&nbsp;connect&nbsp;to&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;占用的端口，不要可存在的有冲突即可。用于与服务的通信。&nbsp;&nbsp;</span></li><li><span>wrapper.port=<span class="number">15013</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>wrapper.console.format=PM&nbsp;&nbsp;</span></li><li><span>wrapper.console.loglevel=INFO&nbsp;&nbsp;</span></li><li><span>wrapper.logfile=Beanskt.log&nbsp;&nbsp;</span></li><li><span>wrapper.logfile.format=LPTM&nbsp;&nbsp;</span></li><li><span>wrapper.logfile.loglevel=INFO&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>wrapper.logfile.maxsize=<span class="number">0</span><span>&nbsp;&nbsp;</span></span></li><li><span>wrapper.logfile.maxfiles=<span class="number">0</span><span>&nbsp;&nbsp;</span></span></li><li><span>wrapper.syslog.loglevel=NONE&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#window服务配置&nbsp;&nbsp;</span></li><li><span>#在控制台运行时的标题&nbsp;&nbsp;</span></li><li><span>wrapper.console.title=My&nbsp;Service&nbsp;&nbsp;</span></li><li><span>#服务名&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.name=My&nbsp;Service&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;显示名称&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.displayname=&nbsp;My&nbsp;Service&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;描述&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.description=sample&nbsp;Service&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;依赖项&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.dependency.<span class="number">1</span><span>=&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;启动模式：&nbsp;AUTO_START&nbsp;or&nbsp;DEMAND_START&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.starttype=AUTO_START&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li><span>#&nbsp;是否交互.&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.interactive=<span class="keyword">false</span><span>&nbsp;&nbsp;</span></span></li></ol></div> <p>&nbsp;4、运行测试，安装服务 <br /> 》测试运行是否正常 <br /> wrapper.exe -c wrapper.conf&nbsp;&nbsp;<br /> 》安装服务 <br /> wrapper.exe -i wrapper.conf&nbsp;&nbsp;<br /> 》卸载服务 <br /> wrapper.exe -r wrapper.conf&nbsp;&nbsp;<br /> 》启动 <br /> wrapper.exe -t wrapper.conf&nbsp;&nbsp;<br /> 》停止 <br /> wrapper.exe -p wrapper.conf <br /><br /> 提示： <br />&nbsp;&nbsp; 服务一般都是连续运行的，所以你的代码一般都是包含在一个死循环里面的。比如 <br /> while(true)&#123; <br />&nbsp;&nbsp; if(forceStop)&#123; <br />&nbsp;&nbsp;&nbsp;&nbsp; break; <br />&nbsp;&nbsp; &#125; <br />&nbsp;&nbsp; try&#123; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 代码的主体 <br />&nbsp;&nbsp; &#125;catch(Exception ex)&#123; <br />&nbsp;&nbsp;&nbsp;&nbsp; // 异常处理，防止循环退出 <br />&nbsp;&nbsp; &#125; <br /> &#125; <br /><br /> 附属一个我的完整版的配置文件 </p> <p>&nbsp;</p> <div class="dp-highlighter"><div class="bar"><div class="tools">Java代码 &nbsp;<a title="收藏这段代码"><img class="star" src="http://wjboy49.iteye.com/images/icon_star.png" border="0" alt="收藏代码" /></a></div></div><ol class="dp-j"><li><span><span>&nbsp;&nbsp;&nbsp;</span></span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Wrapper&nbsp;Properties&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Java&nbsp;Application&nbsp;&nbsp;</span></li><li><span>wrapper.java.command=java&nbsp;&nbsp;</span></li><li><span>#&nbsp;Java&nbsp;Main&nbsp;<span class="keyword">class</span><span>.&nbsp;&nbsp;This&nbsp;</span><span class="keyword">class</span><span>&nbsp;must&nbsp;implement&nbsp;the&nbsp;WrapperListener&nbsp;</span><span class="keyword">interface</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;or&nbsp;guarantee&nbsp;that&nbsp;the&nbsp;WrapperManager&nbsp;<span class="keyword">class</span><span>&nbsp;is&nbsp;initialized.&nbsp;&nbsp;Helper&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;classes&nbsp;are&nbsp;provided&nbsp;to&nbsp;<span class="keyword">do</span><span>&nbsp;</span><span class="keyword">this</span><span>&nbsp;</span><span class="keyword">for</span><span>&nbsp;you.&nbsp;&nbsp;See&nbsp;the&nbsp;Integration&nbsp;section&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;of&nbsp;the&nbsp;documentation&nbsp;<span class="keyword">for</span><span>&nbsp;details.&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp&nbsp;&nbsp;</span></li><li><span>#&nbsp;Java&nbsp;Classpath&nbsp;(include&nbsp;wrapper.jar)&nbsp;&nbsp;Add&nbsp;<span class="keyword">class</span><span>&nbsp;path&nbsp;elements&nbsp;as&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;needed&nbsp;starting&nbsp;from&nbsp;<span class="number">1</span><span>&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.classpath.<span class="number">1</span><span>=d:/tomcat/shared/lib/java2000.jar&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.classpath.<span class="number">2</span><span>=d:/tomcat/shared/lib/commons-logging-</span><span class="number">1.1</span><span>.jar&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.classpath.<span class="number">3</span><span>=wrapper.jar&nbsp;&nbsp;</span></span></li><li><span>wrapper.java.classpath.<span class="number">4</span><span>=.&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Java&nbsp;Library&nbsp;Path&nbsp;(location&nbsp;of&nbsp;Wrapper.DLL&nbsp;or&nbsp;libwrapper.so)&nbsp;&nbsp;</span></li><li><span>wrapper.java.library.path=./&nbsp;&nbsp;</span></li><li><span>#&nbsp;Java&nbsp;Additional&nbsp;Parameters&nbsp;&nbsp;</span></li><li><span>#&nbsp;wrapper.java.additional.<span class="number">1</span><span>=-Djava.ext.dirs=../lib;../tools/lib&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;wrapper.java.additional.<span class="number">2</span><span>=-Dphoenix.home=..&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;wrapper.java.additional.<span class="number">3</span><span>=-Djava.security.policy=jar:file:phoenix-loader.jar!/META-INF/java.policy&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;wrapper.java.additional.<span class="number">4</span><span>=-Djava.security.manager&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Initial&nbsp;Java&nbsp;Heap&nbsp;Size&nbsp;(in&nbsp;MB)&nbsp;&nbsp;</span></li><li><span>wrapper.java.initmemory=<span class="number">16</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Maximum&nbsp;Java&nbsp;Heap&nbsp;Size&nbsp;(in&nbsp;MB)&nbsp;&nbsp;</span></li><li><span>wrapper.java.maxmemory=<span class="number">64</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Application&nbsp;parameters.&nbsp;&nbsp;Add&nbsp;parameters&nbsp;as&nbsp;needed&nbsp;starting&nbsp;from&nbsp;<span class="number">1</span><span>&nbsp;&nbsp;</span></span></li><li><span>wrapper.app.parameter.<span class="number">1</span><span>=com.triuse.tools.Downloador&nbsp;&nbsp;</span></span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Wrapper&nbsp;Advanced&nbsp;Properties&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Port&nbsp;which&nbsp;the&nbsp;<span class="keyword">native</span><span>&nbsp;wrapper&nbsp;code&nbsp;will&nbsp;attempt&nbsp;to&nbsp;connect&nbsp;to&nbsp;&nbsp;</span></span></li><li><span>wrapper.port=<span class="number">15013</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Number&nbsp;of&nbsp;seconds&nbsp;to&nbsp;allow&nbsp;<span class="keyword">for</span><span>&nbsp;the&nbsp;JVM&nbsp;to&nbsp;be&nbsp;launched&nbsp;and&nbsp;contact&nbsp;the&nbsp;wrapper&nbsp;before&nbsp;the&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;wrapper&nbsp;should&nbsp;assume&nbsp;that&nbsp;the&nbsp;JVM&nbsp;is&nbsp;hung&nbsp;and&nbsp;terminate&nbsp;the&nbsp;JVM&nbsp;process.&nbsp;&nbsp;<span class="number">0</span><span>&nbsp;means&nbsp;never&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;time&nbsp;out.&nbsp;&nbsp;Defaults&nbsp;to&nbsp;<span class="number">30</span><span>&nbsp;seconds.&nbsp;&nbsp;</span></span></li><li><span>wrapper.startup.timeout=<span class="number">30</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Number&nbsp;of&nbsp;seconds&nbsp;to&nbsp;allow&nbsp;between&nbsp;the&nbsp;wrapper&nbsp;pinging&nbsp;the&nbsp;JVM&nbsp;and&nbsp;the&nbsp;response.&nbsp;&nbsp;<span class="number">0</span><span>&nbsp;means&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;never&nbsp;time&nbsp;out.&nbsp;&nbsp;Defaults&nbsp;to&nbsp;<span class="number">30</span><span>&nbsp;seconds.&nbsp;&nbsp;</span></span></li><li><span>wrapper.ping.timeout=<span class="number">30</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Number&nbsp;of&nbsp;seconds&nbsp;to&nbsp;allow&nbsp;<span class="keyword">for</span><span>&nbsp;the&nbsp;JVM&nbsp;to&nbsp;shutdown&nbsp;before&nbsp;the&nbsp;wrapper&nbsp;should&nbsp;assume&nbsp;that&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;the&nbsp;JVM&nbsp;is&nbsp;hung&nbsp;and&nbsp;terminate&nbsp;the&nbsp;JVM&nbsp;process.&nbsp;&nbsp;<span class="number">0</span><span>&nbsp;means&nbsp;never&nbsp;time&nbsp;out.&nbsp;&nbsp;Defaults&nbsp;to&nbsp;</span><span class="number">30</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;seconds.&nbsp;&nbsp;</span></li><li><span>wrapper.shutdown.timeout=<span class="number">30</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;The&nbsp;Wrapper&nbsp;detects&nbsp;when&nbsp;an&nbsp;application&nbsp;calls&nbsp;System.exit()&nbsp;and&nbsp;treats&nbsp;<span class="keyword">this</span><span>&nbsp;as&nbsp;a&nbsp;request&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;to&nbsp;stop&nbsp;the&nbsp;server&nbsp;by&nbsp;<span class="keyword">default</span><span>.&nbsp;&nbsp;</span></span></li><li><span>#wrapper.disable_shutdown_hook=TRUE&nbsp;&nbsp;</span></li><li><span>#&nbsp;Tell&nbsp;the&nbsp;Wrapper&nbsp;to&nbsp;request&nbsp;a&nbsp;JVM&nbsp;thread&nbsp;dump&nbsp;<span class="keyword">if</span><span>&nbsp;the&nbsp;JVM&nbsp;fails&nbsp;to&nbsp;exit&nbsp;when&nbsp;requested.&nbsp;&nbsp;</span></span></li><li><span>#wrapper.request_thread_dump_on_failed_jvm_exit=TRUE&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Wrapper&nbsp;Logging&nbsp;parameters&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Format&nbsp;of&nbsp;output&nbsp;<span class="keyword">for</span><span>&nbsp;the&nbsp;console.&nbsp;&nbsp;(See&nbsp;docs&nbsp;</span><span class="keyword">for</span><span>&nbsp;formats)&nbsp;&nbsp;</span></span></li><li><span>wrapper.console.format=PM&nbsp;&nbsp;</span></li><li><span>#&nbsp;Log&nbsp;Level&nbsp;<span class="keyword">for</span><span>&nbsp;console&nbsp;output.&nbsp;&nbsp;(See&nbsp;docs&nbsp;</span><span class="keyword">for</span><span>&nbsp;log&nbsp;levels)&nbsp;&nbsp;</span></span></li><li><span>wrapper.console.loglevel=INFO&nbsp;&nbsp;</span></li><li><span>#&nbsp;Log&nbsp;file&nbsp;to&nbsp;use&nbsp;<span class="keyword">for</span><span>&nbsp;wrapper&nbsp;output&nbsp;logging.&nbsp;&nbsp;</span></span></li><li><span>wrapper.logfile=./logs/wrapper.log&nbsp;&nbsp;</span></li><li><span>#&nbsp;Format&nbsp;of&nbsp;output&nbsp;<span class="keyword">for</span><span>&nbsp;the&nbsp;log&nbsp;file.&nbsp;&nbsp;(See&nbsp;docs&nbsp;</span><span class="keyword">for</span><span>&nbsp;formats)&nbsp;&nbsp;</span></span></li><li><span>wrapper.logfile.format=LPTM&nbsp;&nbsp;</span></li><li><span>#&nbsp;Log&nbsp;Level&nbsp;<span class="keyword">for</span><span>&nbsp;log&nbsp;file&nbsp;output.&nbsp;&nbsp;(See&nbsp;docs&nbsp;</span><span class="keyword">for</span><span>&nbsp;log&nbsp;levels)&nbsp;&nbsp;</span></span></li><li><span>wrapper.logfile.loglevel=INFO&nbsp;&nbsp;</span></li><li><span>#&nbsp;Maximum&nbsp;size&nbsp;that&nbsp;the&nbsp;log&nbsp;file&nbsp;will&nbsp;be&nbsp;allowed&nbsp;to&nbsp;grow&nbsp;to&nbsp;before&nbsp;&nbsp;</span></li><li><span>#&nbsp;&nbsp;the&nbsp;log&nbsp;is&nbsp;rolled.&nbsp;Size&nbsp;is&nbsp;specified&nbsp;in&nbsp;bytes.&nbsp;&nbsp;The&nbsp;<span class="keyword">default</span><span>&nbsp;value&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;of&nbsp;<span class="number">0</span><span>,&nbsp;disables&nbsp;log&nbsp;rolling.&nbsp;&nbsp;May&nbsp;abbreviate&nbsp;with&nbsp;the&nbsp;</span><span class="string">'k'</span><span>&nbsp;(kb)&nbsp;or&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;<span class="string">'m'</span><span>&nbsp;(mb)&nbsp;suffix.&nbsp;&nbsp;For&nbsp;example:&nbsp;10m&nbsp;=&nbsp;</span><span class="number">10</span><span>&nbsp;megabytes.&nbsp;&nbsp;</span></span></li><li><span>wrapper.logfile.maxsize=5m&nbsp;&nbsp;</span></li><li><span>#&nbsp;Maximum&nbsp;number&nbsp;of&nbsp;rolled&nbsp;log&nbsp;files&nbsp;which&nbsp;will&nbsp;be&nbsp;allowed&nbsp;before&nbsp;old&nbsp;&nbsp;</span></li><li><span>#&nbsp;&nbsp;files&nbsp;are&nbsp;deleted.&nbsp;&nbsp;The&nbsp;<span class="keyword">default</span><span>&nbsp;value&nbsp;of&nbsp;</span><span class="number">0</span><span>&nbsp;implies&nbsp;no&nbsp;limit.&nbsp;&nbsp;</span></span></li><li><span>wrapper.logfile.maxfiles=<span class="number">0</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Log&nbsp;Level&nbsp;<span class="keyword">for</span><span>&nbsp;sys/event&nbsp;log&nbsp;output.&nbsp;&nbsp;(See&nbsp;docs&nbsp;</span><span class="keyword">for</span><span>&nbsp;log&nbsp;levels)&nbsp;&nbsp;</span></span></li><li><span>wrapper.syslog.loglevel=NONE&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Wrapper&nbsp;Unix&nbsp;daemon&nbsp;parameters&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;File&nbsp;to&nbsp;write&nbsp;process&nbsp;ID&nbsp;to&nbsp;&nbsp;</span></li><li><span>#wrapper.pidfile=/var/run/phoenix.pid&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Wrapper&nbsp;Windows&nbsp;Properties&nbsp;&nbsp;</span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Title&nbsp;to&nbsp;use&nbsp;when&nbsp;running&nbsp;as&nbsp;a&nbsp;console&nbsp;&nbsp;</span></li><li><span>wrapper.console.title=Triuse&nbsp;Downloador&nbsp;<span class="number">1.0</span><span>&nbsp;&nbsp;</span></span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;Wrapper&nbsp;Windows&nbsp;NT/<span class="number">2000</span><span>/XP&nbsp;Service&nbsp;Properties&nbsp;&nbsp;</span></span></li><li><span>#********************************************************************&nbsp;&nbsp;</span></li><li><span>#&nbsp;WARNING&nbsp;-&nbsp;Do&nbsp;not&nbsp;modify&nbsp;any&nbsp;of&nbsp;these&nbsp;properties&nbsp;when&nbsp;an&nbsp;application&nbsp;&nbsp;</span></li><li><span>#&nbsp;&nbsp;using&nbsp;<span class="keyword">this</span><span>&nbsp;configuration&nbsp;file&nbsp;has&nbsp;been&nbsp;installed&nbsp;as&nbsp;a&nbsp;service.&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;Please&nbsp;uninstall&nbsp;the&nbsp;service&nbsp;before&nbsp;modifying&nbsp;<span class="keyword">this</span><span>&nbsp;section.&nbsp;&nbsp;The&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;&nbsp;service&nbsp;can&nbsp;then&nbsp;be&nbsp;reinstalled.&nbsp;&nbsp;</span></li><li><span>#&nbsp;Name&nbsp;of&nbsp;the&nbsp;service&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.name=Triuse&nbsp;Downloador&nbsp;&nbsp;</span></li><li><span>#&nbsp;Display&nbsp;name&nbsp;of&nbsp;the&nbsp;service&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.displayname=Triuse&nbsp;Downloador&nbsp;&nbsp;</span></li><li><span>#&nbsp;Description&nbsp;of&nbsp;the&nbsp;service&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.description=Triuse&nbsp;Downloador&nbsp;<span class="number">1.0</span><span>&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Service&nbsp;dependencies.&nbsp;&nbsp;Add&nbsp;dependencies&nbsp;as&nbsp;needed&nbsp;starting&nbsp;from&nbsp;<span class="number">1</span><span>&nbsp;&nbsp;</span></span></li><li><span>wrapper.ntservice.dependency.<span class="number">1</span><span>=&nbsp;&nbsp;</span></span></li><li><span>#&nbsp;Mode&nbsp;in&nbsp;which&nbsp;the&nbsp;service&nbsp;is&nbsp;installed.&nbsp;&nbsp;AUTO_START&nbsp;or&nbsp;DEMAND_START&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.starttype=AUTO_START&nbsp;&nbsp;</span></li><li><span>#&nbsp;Priority&nbsp;at&nbsp;which&nbsp;the&nbsp;service&nbsp;is&nbsp;run.&nbsp;&nbsp;NORMAL,&nbsp;LOW,&nbsp;HIGH,&nbsp;or&nbsp;REALTIME&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.process_priority=NORMAL&nbsp;&nbsp;</span></li><li><span>#&nbsp;Allow&nbsp;the&nbsp;service&nbsp;to&nbsp;interact&nbsp;with&nbsp;the&nbsp;desktop.&nbsp;&nbsp;</span></li><li><span>wrapper.ntservice.interactive=<span class="keyword">false</span><span>&nbsp; <br /></span></span></li></ol></div>
]]>
</description>
</item><item>
<link>http://www.cnljh.com/read.php/357.htm</link>
<title><![CDATA[hibernate映射文件many-to-one元素属性]]></title> 
<author>ljh &lt;ljhjqk@126.com&gt;</author>
<category><![CDATA[JAVA SSH学习]]></category>
<pubDate>Wed, 13 Apr 2011 08:30:08 +0000</pubDate> 
<guid>http://www.cnljh.com/read.php/357.htm</guid> 
<description>
<![CDATA[ 
	<p>many-to-one 元素 </p><p>属性： </p><p><br />name：映射类属性的名字 <br />column：关联的字段 <br />class：关联类的名字 <br />cascade：设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行save和update操作时级联、delete执行删除操作时级联 <br />fetch：设置抓取数据的策略 默认值为select序列选择抓取 可选值为join外连接抓取 <br />update：进行update操作时是否包含此字段 <br />insert：进行insert操作时是否包含此字段 <br />property-ref：指定关联类的一个属性，这个属性将会和本类的外键相对应（当外键参照一键时需要指定改属性） <br />单向N&mdash;&mdash;1 关系 只需从多的一端访问1的一端； </p><p>应该在多的一端添加一个属性，改属性引用1端的关联实体； </p><p>A .--&gt;无连接表的N&mdash;&mdash;1 关联： </p><p>直接使用many-to-one 元素 来映射N&mdash;&mdash;1 关联时，hibernate将无须使用连接表，直接使用外键关联策略来处理这种关联映射； </p><p>eg：</p><p><br />&lt;!-- 用于映射N-1关联实体，指定关联实体类为Address<br />&nbsp;&nbsp; 指定外键列名为addressId,并指定级联全部操作 --&gt; <br />&nbsp; &lt;many-to-one name=&quot;address&quot; cascade=&quot;all&quot;<br />&nbsp;&nbsp; class=&quot;Address&quot; column=&quot;addressId&quot;/&gt; </p><p>B.--&gt;用连接表的N&mdash;&mdash;1关联： </p><p>如果需要使用连接表来映射单向N&mdash;&mdash;1关联，需要显示使用&lt;join.../&gt;该元素强制将一个类的属性映射到多张表中，通常也用于强制使用连接表！ </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join元素： </p><p>table：指定连接表名； </p><p>schema：指定连接表所在的Schema，用于覆盖根元素的default-Schema属性； </p><p>catalog：指定连接表所在的Catalog，用于覆盖根元素的default-Catalog属性； </p><p>eg： </p><p>&lt;!-- 使用join元素强制使用连接表 --&gt;<br />&nbsp;&nbsp; &lt;join table=&quot;person_address&quot; &gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- 映射连接表中参照本表主键的外键列 --&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key column=&quot;personid&quot;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- 映射连接表中参照关联实体的外键列 --&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;many-to-one name=&quot;address&quot; cascade=&quot;all&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class=&quot;Address&quot; column=&quot;addressId&quot;/&gt; <br />&nbsp;&nbsp;&nbsp; &lt;/join&gt; </p><p>通过many-to-one 元素,可以定义一种常见的与另一个持久化类的关联。 </p><p>这种关系模型是多对一关联（实际上是一个对象引用－译注）：这个表的一个外键引用目标表的 主键字段。</p><p>&lt;many-to-one<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name=&quot;propertyName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; column=&quot;column_name&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class=&quot;ClassName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (3)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cascade=&quot;cascade_style&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (4)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch=&quot;join&#124;select&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (5)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update=&quot;true&#124;false&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (6)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert=&quot;true&#124;false&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (6)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; property-ref=&quot;propertyNameFromAssociatedClass&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (7)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; access=&quot;field&#124;property&#124;ClassName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (8)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unique=&quot;true&#124;false&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (9)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not-null=&quot;true&#124;false&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (10)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; optimistic-lock=&quot;true&#124;false&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (11)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lazy=&quot;true&#124;proxy&#124;false&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (12)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not-found=&quot;ignore&#124;exception&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (13)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; entity-name=&quot;EntityName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (14)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node=&quot;<a href="mailto:element-name%7C@attribute-name%7Celement/@attribute">element-name&#124;@attribute-name&#124;element/@attribute</a>&#124;.&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; embed-xml=&quot;true&#124;false&quot;<br />/&gt;(1) name : 属性名。 <br />(2) column&nbsp;&nbsp; (可选): 外间字段名。它也可以通过嵌套的&nbsp; &lt;column&gt; 元素指定。 <br />(3) class&nbsp;&nbsp; (可选 - 默认是通过反射得到属性类型): 关联的类的名字。 <br />(4) cascade（级联）&nbsp;&nbsp; (可选): 指明哪些操作会从父对象级联到关联的对象。 <br />(5) fetch&nbsp;&nbsp; (可选 - 默认为&nbsp; select ): 在外连接抓取（outer-join fetching）和序列选择抓取（sequential select fetching）两者中选择其一。 <br />(6) update, insert&nbsp;&nbsp; (可选 - defaults to&nbsp; true ) 指定对应的字段是否包含在用于UPDATE&nbsp;&nbsp; 和/或&nbsp; INSERT&nbsp;&nbsp; 的SQL语句中。如果二者都是false ,则这是一个纯粹的 &ldquo;外源性（derived）&rdquo;关联，它的值是通过映射到同一个（或多个）字段的某些其他属性得到 或者通过trigger(触发器）、或其他程序。 <br />(7) property-ref : (可选) 指定关联类的一个属性，这个属性将会和本外键相对应。 如果没有指定，会使用对方关联类的主键。 <br />(8) access&nbsp;&nbsp; (可选 - 默认是&nbsp; property ): Hibernate用来访问属性的策略。 <br />(9) unique&nbsp;&nbsp; (可选): 使用DDL为外键字段生成一个唯一约束。此外， 这也可以用作property-ref 的目标属性。这使关联同时具有 一对一的效果。 <br />(10) not-null&nbsp;&nbsp; (可选): 使用DDL为外键字段生成一个非空约束。 <br />(11) optimistic-lock&nbsp;&nbsp; (可选 - 默认为&nbsp; true ): 指定这个属性在做更新时是否需要获得乐观锁定（optimistic lock）。 换句话说，它决定这个属性发生脏数据时版本（version）的值是否增长。 <br />(12) lazy&nbsp;&nbsp; (可选 - 默认为&nbsp; proxy ): 默认情况下，单点关联是经过代理的。lazy=&quot;true&quot; 指定此属性应该在实例变量第一次被访问时应该延迟抓取（fetche lazily）（需要运行时字节码的增强）。lazy=&quot;false&quot; 指定此关联总是被预先抓取。 <br />(13) not-found&nbsp;&nbsp; (可选 - 默认为&nbsp; exception ): 指定外键引用的数据不存在时如何处理：&nbsp; ignore 会将数据不存在作为关联到一个空对象（null）处理。 <br />(14) entity-name&nbsp;&nbsp; (optional): 被关联的类的实体名。 </p><p>cascade 属性设置为除了none 以外任何有意义的值， 它将把特定的操作传播到关联对象中。这个值就代表着Hibernate基本操作的名称，&nbsp; persist, merge, delete, save-update, evict, replicate, lock, refresh ， 以及特别的值delete-orphan 和all ，并且可以用逗号分隔符 来合并这些操作，例如，cascade=&quot;persist,merge,evict&quot; 或&nbsp; cascade=&quot;all,delete-orphan&quot; 。</p><p>一个典型的简单many-to-one 定义例子：</p><p>&lt;many-to-one name=&quot;product&quot; class=&quot;Product&quot; column=&quot;PRODUCT_ID&quot;/&gt;property-ref 属性只应该用来对付老旧的数据库系统， 可能有外键指向对方关联表的是个非主键字段（但是应该是一个惟一关键字）的情况下。 这是一种十分丑陋的关系模型。比如说，假设Product 类有一个惟一的序列号， 它并不是主键。（unique 属性控制Hibernate通过SchemaExport工具生成DDL的过程。）</p><p>&lt;property name=&quot;serialNumber&quot; unique=&quot;true&quot; type=&quot;string&quot; column=&quot;SERIAL_NUMBER&quot;/&gt;那么关于OrderItem&nbsp;&nbsp; 的映射可能是：</p><p>&lt;many-to-one name=&quot;product&quot; property-ref=&quot;serialNumber&quot; column=&quot;PRODUCT_SERIAL_NUMBER&quot;/&gt;当然，我们决不鼓励这种用法。</p><p>如果被引用的唯一主键由关联实体的多个属性组成，你应该在名称为&lt;properties&gt; 的元素 里面映射所有关联的属性。</p><p><a href="http://blog.csdn.net/qwerasdf123/archive/2010/11/15/6009466.aspx"></a></p>
]]>
</description>
</item>
</channel>
</rss>
