﻿<?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>BlogJava-即兴的灵感</title><link>http://www.blogjava.net/improviser/</link><description>思维是一种艺术，艺术需要灵感</description><language>zh-cn</language><lastBuildDate>Sat, 06 Sep 2008 06:32:56 GMT</lastBuildDate><pubDate>Sat, 06 Sep 2008 06:32:56 GMT</pubDate><ttl>60</ttl><item><title>验证身份证</title><link>http://www.blogjava.net/improviser/archive/2008/02/27/182504.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Wed, 27 Feb 2008 08:10:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2008/02/27/182504.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/182504.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2008/02/27/182504.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/182504.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/182504.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->				 1 &lt;script&gt; 2  function checkIdcard(idcard1){ 3  var idcard=document.forms[0].elements[idc...&nbsp;&nbsp;<a href='http://www.blogjava.net/improviser/archive/2008/02/27/182504.html'>阅读全文</a><img src ="http://www.blogjava.net/improviser/aggbug/182504.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2008-02-27 16:10 <a href="http://www.blogjava.net/improviser/archive/2008/02/27/182504.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>狼人传说</title><link>http://www.blogjava.net/improviser/archive/2008/01/03/172591.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Thu, 03 Jan 2008 14:32:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2008/01/03/172591.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/172591.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2008/01/03/172591.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/172591.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/172591.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 为了一个所谓滴狼人传说，我跨年装系统，不过视觉还是比较满意滴滴滴，晕滴！这几天也比较忙，所以来不及即<br>时贴出来分享分享！趁今天此时有空...<br>    最近也比较忙，都很久没来写薄壳了，一打开竟然是一个月没写了...<br>    叹！叹时速之快！<br>    时间！<br>    来不及等待<br>    二零零八已经来得差不多了<br>    告同行之软体工作者<br>    我们的生活并不只是那几行代码！&nbsp;&nbsp;<a href='http://www.blogjava.net/improviser/archive/2008/01/03/172591.html'>阅读全文</a><img src ="http://www.blogjava.net/improviser/aggbug/172591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2008-01-03 22:32 <a href="http://www.blogjava.net/improviser/archive/2008/01/03/172591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js搜索网页表格</title><link>http://www.blogjava.net/improviser/archive/2007/12/01/164441.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Fri, 30 Nov 2007 16:51:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/12/01/164441.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/164441.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/12/01/164441.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/164441.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/164441.html</trackback:ping><description><![CDATA[    <font size="4">表格在网页中应用十分广泛，一个表格的使用涉及到多种操作技术，各种灵活的操作可以形成一个功能强大的表格，而这些操作大都是基于javascript来完成的，下面就是使用javascript来实现对一个表格的所在列进行搜索，分别完成模糊搜索和绝对搜索功能。<br />    以下为模糊搜索并将搜索到的内容所在的行跳到当前面前中.</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">  <br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">   sousuo(table,vstr){  <br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   t</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">;  <br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   maxrow</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">table.rows.length;  <br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   maxcol</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">table.rows[</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">].cells.length;  <br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   tdcon; <br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">   <br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">(i</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;i</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">maxrow;i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">){  <br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">  for(j=0;j&lt;maxcol;j++)<br />     {<br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">  tdcon   </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">   table.rows[i].cells[</span><span style="color: rgb(0, 0, 0);">j</span><span style="color: rgb(0, 0, 0);">];  <br /></span><span style="color: rgb(0, 128, 128);">11</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(tdcon.innerHTML.indexOf(vstr)</span><span style="color: rgb(0, 0, 0);">&gt;=</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">){  </span><span style="color: rgb(0, 128, 128);"></span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 128, 0);"></span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 128, 0);"></span><span style="color: rgb(0, 0, 0);">  table.rows[i].scrollIntoView(); <br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);">  t</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">;  <br /></span><span style="color: rgb(0, 128, 128);">15</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">16</span><span style="color: rgb(0, 0, 0);">  }<br /></span><span style="color: rgb(0, 128, 128);">17</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">18</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(t){<br /></span><span style="color: rgb(0, 128, 128);">19</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">20</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);">   alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">没找到：“</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">   </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">   vstr   </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">   </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">”，请重新输入！</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);  <br /></span><span style="color: rgb(0, 128, 128);">21</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">22</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);"> </span></div><br />   <font size="4"> 以下为对一个表格中第一列中的数据进行绝对搜索，同样把所对应的内容所在行跳至当前页面。</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">  <br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">   she(table,vstr){  <br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   t</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">;  <br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   maxrow</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">table.rows.length;  <br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   maxc</span><span style="color: rgb(0, 0, 0);">ol=</span><span style="color: rgb(0, 0, 0);">table.rows[</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">].cells.length;  <br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">   tdcon; <br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">   <br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">(i</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;i</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">maxrow;i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">){  <br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">    <br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">  tdcon   </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">   table.rows[i].cells[</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">];  <br /></span><span style="color: rgb(0, 128, 128);">11</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(tdcon.innerHTML==vstr</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">){  </span><span style="color: rgb(0, 128, 128);"></span><span style="color: rgb(0, 128, 0);"></span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 128, 0);"></span><span style="color: rgb(0, 0, 0);">  table.rows[i].scrollIntoView(); <br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);">  t</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">;  <br /></span><span style="color: rgb(0, 128, 128);">15</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">16</span> <span style="color: rgb(0, 0, 0);"> <br /></span><span style="color: rgb(0, 128, 128);">17</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">18</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(t){<br /></span><span style="color: rgb(0, 128, 128);">19</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">20</span> <span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);">   alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">没找到：“</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">   </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">   vstr   </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">   </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">”，请重新输入！</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);  <br /></span><span style="color: rgb(0, 128, 128);">21</span> <span style="color: rgb(0, 0, 0);">  }  <br /></span><span style="color: rgb(0, 128, 128);">22</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);"> </span></div><br /><br /><img src ="http://www.blogjava.net/improviser/aggbug/164441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-12-01 00:51 <a href="http://www.blogjava.net/improviser/archive/2007/12/01/164441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>偶遇Spring MVC</title><link>http://www.blogjava.net/improviser/archive/2007/11/04/158025.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Sun, 04 Nov 2007 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/11/04/158025.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/158025.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/11/04/158025.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/158025.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/158025.html</trackback:ping><description><![CDATA[
		<font color="#0000ff" size="4">    个人认为Spring其核心是其IOC和AOP方面，对其SpirngMVC框架并不关注，我看好的是JSF，简单易懂。但最近由于工作上需要，所以有需要对SpringMVC做个了解学习，因此，本次对SpirngMVC的相遇纯属偶遇....<br />    SpingMVC的架构其实也很简单，它通过一个共通的入门DispatcherServlet来接收所有的request，接下来根据request要求的页面通过handler转送给Controller处理，处理结果返回View给用户，因此对SpringMVC来说，其核心为DispatcherServlet。<br />    DispatcherServlet作为一扇门，我们要使用这个门，首先得安装上这个门，安装在哪呢？没错，就安装在web.xml这个大屋子，象其他servlet一样，<span class="javascript" id="text151213">描述servlet的名字和类，再给他一个mapping描述对应映射的网页。在下例中，</span><span class="javascript" id="text151213">我们给DispatcherServlet的起名为</span><font color="#000080"><span class="javascript" id="text151213"><span style="color: rgb(0, 0, 0);"><font color="#0000ff">SpringMVCDemo，</font></span></span></font><span class="javascript" id="text151213">并让container知道所有.do结尾的request都丟给dispatcher。</span></font>
		<span class="javascript" id="text151213">
				<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="color: rgb(0, 0, 0);">    </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">servlet</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">servlet-name</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">SpringMVCDemo</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">servlet-name</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">servlet-class</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />            org.springframework.web.servlet.DispatcherServlet<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">servlet-class</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">load-on-startup</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">1</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">load-on-startup</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">servlet</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">servlet-mapping</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">servlet-name</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">SpringMVCDemo</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">servlet-name</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">url-pattern</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">*.do</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">url-pattern</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">servlet-mapping</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
				</div>
				<font color="#0000ff">   <font size="4"> 门安装好了之后，我们需要定义门能打开的范围，在哪定义呢？就在门的上面贴上一张“入门指导”，介绍从哪方面(hello.do)进门需要使用何种交通方式(springmvcController)进去，并定义该交通方式。</font></font>
				<br />
				<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="color: rgb(0, 0, 0);">    </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">bean </span>
						<span style="color: rgb(255, 0, 0);">id</span>
						<span style="color: rgb(0, 0, 255);">="urlMapping"</span>
						<span style="color: rgb(255, 0, 0);">
								<br />        class</span>
						<span style="color: rgb(0, 0, 255);">="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">property </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="mappings"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />            </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">props</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />                </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">prop </span>
						<span style="color: rgb(255, 0, 0);">key</span>
						<span style="color: rgb(0, 0, 255);">="/hello.do"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">springmvcController</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">prop</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />            </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">props</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">property</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">bean</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />
								<br />    </span>
						<span style="color: rgb(0, 128, 0);">&lt;!--</span>
						<span style="color: rgb(0, 128, 0);"> SpringmvcController </span>
						<span style="color: rgb(0, 128, 0);">--&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">bean </span>
						<span style="color: rgb(255, 0, 0);">id</span>
						<span style="color: rgb(0, 0, 255);">="springmvcController"</span>
						<span style="color: rgb(255, 0, 0);">
								<br />        class</span>
						<span style="color: rgb(0, 0, 255);">="org.improviser.webapp.controller.SpringmvcController"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">bean</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
				</div>    <font color="#0000ff" size="4">接下来该渲染一下页面了，下面为渲染所有以</font></span>
		<font color="#000080" size="4">
				<span class="javascript" id="text151213">
						<span style="color: rgb(0, 0, 0);">
								<font color="#0000ff">WEB-INF/pages/</font>
								<font color="#0000ff">开头</font>，<font color="#0000ff">并以.</font><font color="#0000ff">jsp结尾的页面。</font></span>
				</span>
		</font>
		<span class="javascript" id="text151213">
				<br />
				<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="color: rgb(0, 0, 0);">    </span>
						<span style="color: rgb(0, 128, 0);">&lt;!--</span>
						<span style="color: rgb(0, 128, 0);"> ViewSolver </span>
						<span style="color: rgb(0, 128, 0);">--&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">bean </span>
						<span style="color: rgb(255, 0, 0);">id</span>
						<span style="color: rgb(0, 0, 255);">="viewResolver"</span>
						<span style="color: rgb(255, 0, 0);">
								<br />        class</span>
						<span style="color: rgb(0, 0, 255);">="org.springframework.web.servlet.view.InternalResourceViewResolver"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">property </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="viewClass"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />            </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">value</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">org.springframework.web.servlet.view.JstlView</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">value</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">property</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">property </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="prefix"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />            </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">value</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">/WEB-INF/pages/</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">value</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">property</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">property </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="suffix"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />            </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">value</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">.jsp</span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">value</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />        </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">property</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">
								<br />    </span>
						<span style="color: rgb(0, 0, 255);">&lt;/</span>
						<span style="color: rgb(128, 0, 0);">bean</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
				</div>   <font size="4"></font><font color="#0000ff" size="4">上面提到的SpringmvcController，</font><font color="#0000ff" size="4">现在该作个定义了，该类需要实现Controller</font><font color="#0000ff" size="4">接口。</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);"> SpringmvcController </span><span style="color: rgb(0, 0, 255);">implements</span><span style="color: rgb(0, 0, 0);"> Controller {<br />    </span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"> Logger for this class and subclasses </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">protected</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">final</span><span style="color: rgb(0, 0, 0);"> Log logger </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> LogFactory.getLog(getClass());<br /><br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> ModelAndView handleRequest(HttpServletRequest request,<br />            HttpServletResponse response) </span><span style="color: rgb(0, 0, 255);">throws</span><span style="color: rgb(0, 0, 0);"> ServletException, IOException {</span><span style="color: rgb(0, 0, 0);"><br /><br />        Map model </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> HashMap();<br /><br />        String str </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">即兴诗人</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br />        logger.info(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">returning hello view with </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> currTime);</span><span style="color: rgb(0, 0, 0);"><br />        model.put(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">coldice</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, str);<br /><br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> ModelAndView(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">hello</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">message</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, model);<br />    }</span></div>   <font color="#0000ff"><font size="4">编写jsp</font></font><font color="#0000ff" size="4">测试页面。</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">head</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />        </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">Spring Application</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">head</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">body</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />        </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h1</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);"></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">br </span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br />            Hello <br /></span><span class="javascript" id="text151213"><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">            &lt;</span><span style="color: rgb(128, 0, 0);">c:out </span><span style="color: rgb(255, 0, 0);">value</span><span style="color: rgb(0, 0, 255);">="${message.coldice}"</span><span style="color: rgb(255, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">/&gt;&lt;/br&gt;</span></span><br /><span style="color: rgb(0, 0, 0);">            Spring MVC 测试成功！<br />        </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h1</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);"></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">body</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">html</span><span style="color: rgb(0, 0, 255);">&gt;</span><font color="#000000"><span class="javascript" id="text151213"><span style="color: rgb(0, 0, 255);"></span></span></font><span class="javascript" id="text151213"></span></div>  <b>  <font color="#000080" size="4">现在对以上内容作个总结，正如上面所叙述，SpringMVC框架的处理过程机制如下图所示，接收请求页面，通过DispatcherServlet映射到相应规则处理，并找到相应的控制器，结果控制器处理后返回相应的页面最后返回给用户。</font></b><br /><img src="http://www.blogjava.net/images/blogjava_net/improviser/138199405_8b54d56b71_o.png" alt="138199405_8b54d56b71_o.png" border="0" height="387" width="732" /><br /><br /></span>
<img src ="http://www.blogjava.net/improviser/aggbug/158025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-11-04 10:44 <a href="http://www.blogjava.net/improviser/archive/2007/11/04/158025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>邂逅JSF</title><link>http://www.blogjava.net/improviser/archive/2007/10/15/152827.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Sun, 14 Oct 2007 16:42:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/10/15/152827.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/152827.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/10/15/152827.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/152827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/152827.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#000080" size="4">JSF现在比较有优势的是对Ajax的集成，这一点走在了其他框架的前面。未来两年，JSF与Struts将展开Java Web框架的最终战争...</font>
		</p>
		<p>
				<font color="#000080" size="4">6%的JSF欲撼动21%的Struts...</font>
		</p>
		<p>
				<font color="#000080" size="4">JSF是什么东西...</font>
		</p>
		<p>
				<font color="#000080" size="4">JSF是一种能够简化Web应用程序表示层结构的标准服务器端框架...</font>
		</p>
		<p>
				<font color="#000080" size="4">与其他技术如JavaServer Pages或Apache Struts 相比，JavaServer Faces
(JSF)技术为创建交互式Web应用程序带来了很多便利。JSF在程序逻辑和GUI表示之间划出一条清晰的界限，提高了对Web程序的维护能力，并为
Web用户界面组件的开发和重用提供了一个框架...</font>
		</p>
		<font color="#000080" size="4">JSF在很大程度上类似Struts，而不是类似Tapestry，可以说是一种Struts
2.0，都是采取标签库+组件的形式，只是JSF的组件概念没有象Struts那样必须继承ActionForm的限制；JSF在事件粒度上要细腻，不象
Struts那样，一个表单一个事件，JSF可以细化到表单中的每个字段上...<br /><br />普通POJO,无需继承通过组件+标签库实现Subview,但如需重用Layout,还要结合Tiles...<br /><br />JSF的设计目标：第一，创建一个标准的GUI组
件框架，使工具使用者可以轻松地搭建高质量的图形用户界面,并管理界面与应用程序行为的连接；第二，为GUI组件、组件状态和输入事件定义一套轻量
Java基本类库，这些类库将处理GUI生命周期，特别是管理页面中组件的回归状态；第三，提供一套通用的GUI组件，包括标准HTML窗口输入元素；第四，提供一个JavaBean模型以处理客户端GUI控件和服务器端应用程序之间的事件；第五，定义一套判断输入有效性的API函数；第六，为GUI建立一套处理国际化和本地化的机制；第七，自动为不同的客户端生成不同的输出；第八，自动生成包含支持可访问性功能的输出...<br /><br />JSF如此神奇...JSF如此能耐...??<br /><br />JSF到底有多神奇...JSF到底有多能耐...<br /><br />但凭第一感觉觉得JSF是个好东西...<br /><br />今天在这里邂逅了JSF...<br /><br />并决定与这个JSF有个约会:)　<br />  ╭╮╭╮<br />╭☆┴┴★╮ <br />│︵　　︵│<br />╰○－－○╯  <br />　╰○○╯  <br /></font>
<img src ="http://www.blogjava.net/improviser/aggbug/152827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-10-15 00:42 <a href="http://www.blogjava.net/improviser/archive/2007/10/15/152827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate夜未眠(下)</title><link>http://www.blogjava.net/improviser/archive/2007/10/08/150944.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Sun, 07 Oct 2007 16:42:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/10/08/150944.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/150944.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/10/08/150944.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/150944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/150944.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 随着事务提交，我的“夜未眠”也全部提交完成，没有重点，只有基本点，没有高难性，只有实用性。在这中秋过后的季节，仍吹着夏天的风，似乎让我们丝毫无法感受到冬天在四季中的份额，当夏日依依不舍流连忘返不愿离去，我想，我喜欢的是秋天的清爽；我想，我更喜欢的是冬天的到来；我想，我不能再如此未眠...&nbsp;&nbsp;<a href='http://www.blogjava.net/improviser/archive/2007/10/08/150944.html'>阅读全文</a><img src ="http://www.blogjava.net/improviser/aggbug/150944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-10-08 00:42 <a href="http://www.blogjava.net/improviser/archive/2007/10/08/150944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate夜未眠(中)</title><link>http://www.blogjava.net/improviser/archive/2007/10/07/150764.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Sat, 06 Oct 2007 16:27:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/10/07/150764.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/150764.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/10/07/150764.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/150764.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/150764.html</trackback:ping><description><![CDATA[
		<div align="left">
				<font color="#000080" size="4">   我的</font>
				<br />
				<font color="#000080" size="4">   H...</font>
				<br />
				<font color="#000080" size="4">   ibernate拾锦...<br /></font>
		</div>
		<font color="#000080" size="4">
				<br />11、formula属性<br />   <font color="#0000ff"> property元素中的formula属性用于指定一个SQL表达式，可调用SQL函数货包括子查询。<br />    &lt;property name = "totalPrice" formula = "(select sum(o.price) from ORDERS o where o.CUSTUMER_ID = '1222')"/&gt;<br />    当查询CUSTOMER对象时，执行语句：select ID,NAME,(select SUM(O.PRICE) from ORDERS o where o.CUSTOMER_ID = '1222') from CUSTOMERS;</font><br />12、dynamic-insert和dynamic-update<br />    <font color="#0000ff">应用中把class中dynamic-insert和dynamic-update值设为true可以提高效率，即插入时仅包含字段取值不为null的字段，更新时仅包含字段值发生变化的属性。</font><br />13、Hibernate中package属性<br />    <font color="#0000ff">package属性用于指定本映射文件中包含类的包名为全局包，从而不必为每个类指定完整包名。</font><br />14、OID<br />    <font color="#0000ff">Hibernate中用对象标识符OID来维持java对象和表中记录的对应关系，OID定义为整数类型(short、int、long),通常由Hibernate或通过底层数据库给OID赋值。</font><br />15、标识符生成器<br /><font color="#0000ff">    Hibernate中内置标识符生成器，均适合代理主键<br />    increment：由Hibernate自增生成<br />    identity：由底层数据库生成<br />    sequence：底层数据库序列生成<br />    hilo：根据high/low等算法生成以特定表字段作high值<br />    native：自动选择identity、dequence、hilo<br />    assgned：自然主键(尽量避免使用)</font><br />16、inverse属性<br />    <font color="#0000ff">为避免Hibernate在清理缓存时对相关联对象都执行更新操作，将inverse设置为true，将主控权交给many一方，以仅控mamy方状态更新对象。</font><br />17、cascade属性<br />   <font color="#0000ff"> 级联属性，当cascade属性设置为delete，在删除一对象时自动删除与其级联的对象，删除后持久化对象变为临时状态。</font><br />18、session清理缓存时间点<br />   <font color="#0000ff"> a、commit()时先清理缓存，再向DATABASE提交事务<br />    b、执行find()和iterate()时，确保对象最新状态（<font color="#ff1493">iterate（）在Hibernate 3＃已取消</font>）<br />    c、显式调用flush()方法时</font><br />19、持久化对象三状态<br />   <font color="#0000ff"> a、临时状态，刚new，不处于session缓存中<br />    b、持久化状态，已持久化并加入session中<br />    c、游离状态，被持久化，但不在session中</font><br />20、load()和get()<br />    <font color="#0000ff">两者都可以由OID加载一个持久化对象，当DB中不存在与OID对应记录时，load()方法会抛出异常，而get()会返回Null值。<br /><br />    待续...<br /><br />（<font color="#ff3300">转载请注明出处</font>）<br /></font></font>
<img src ="http://www.blogjava.net/improviser/aggbug/150764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-10-07 00:27 <a href="http://www.blogjava.net/improviser/archive/2007/10/07/150764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate夜未眠(上)</title><link>http://www.blogjava.net/improviser/archive/2007/10/06/150635.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Fri, 05 Oct 2007 19:06:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/10/06/150635.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/150635.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/10/06/150635.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/150635.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/150635.html</trackback:ping><description><![CDATA[
		<font color="#000080" size="4">    Hibernate冬眠之意！何来夜未眠？何解之有！？是时凌晨2点来钟，得解！<br /><br />    我的...<br />    H<br />    ibernate拾锦...<br /><br />1、Object Relation Mapping<br />  <font color="#0000ff"> 持久化类与关系表对应，持久化类实例与表中一行记录对应。</font><br />2、Hibernate核心接口<br />   <font color="#0000ff">访问数据库接口：Session、Transation、Query、Criteria<br />   配置Hibernate接口：Configuration<br />   Configuration --(实例化创建)--&gt;SessionFaction--(实例化)--&gt;Session----&gt;(Qurey/Criteria/Transaction)</font><br />3、Hibernate使用步骤<br />  <font color="#0000ff"> a、创建Hibernate配置文件<br />   b、创建持久化类<br />   c、创建对象关系映射文件<br />   d、通过接口访问DATABASE</font><br />4、持久化类<br />   <font color="#0000ff">被Hibernate持久化到数据库中，通过Setter和Getter方法，若为boolean型则可用is*方法。Hibernate不要求持久化类必须实现Serializable，但在分布式不同结点间传输持久化类必须实现Serializable接口。</font><br />5、Hibernate与EJB<br />  <font color="#0000ff"> Hibernate为普通JAVA类，而EJB必须实现EJB各个接口，运行于容器之中。</font><br />6、链编程风格(初始化)<br />  <font color="#0000ff"> sessionFactory ＝ new Configuration()<br />              .addClass(AAA.class)<br />              .buildSessionFactory();</font><br />7、执行数据库操作<br />  <font color="#0000ff"> 初始化后由sessionFactory.openSession()方法获得session实例，并由session实例执行数据库有关操作，save()、update()、delete()、load()、find()。</font><br />8、属性作用范围<br />   <font color="#0000ff">在映射文件中元素class中属性scope－field设置全局属性作用域；<br />   在映射文件中元素property中scope－field设置为局部属性作用范围。</font><br />9、持久化类访问方法<br />  <font color="#0000ff"> 用户---&gt;应用程序---&gt;Setter()&lt;---Hibernate&lt;---DATABASE<br />   用户&lt;---应用程序&lt;---Getter()---&gt;Hibernate---&gt;DATABASE</font><br />10、持久化类中加入程序逻辑<br />   <font color="#0000ff">Student类中包含firstName、lastName，STUDENT表中只有NAME字段<br />   getName()<br />   {<br />       return firstName+lastName;<br />   }<br />   setName(String name)<br />   {<br />       firstName = ...;<br />       lastName  = ...;<br />   }  <br />   Hibernate映射文件中只需要映射name和NAME&lt;property name="name" column="NAME"/&gt;,就可以访问setName()和getName()方法，以映射文件为准。<br /><br />   待续...</font><br /><br /><br />  (<font color="#ff3300">转载请注明出处</font>)   <br /></font>
<img src ="http://www.blogjava.net/improviser/aggbug/150635.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-10-06 03:06 <a href="http://www.blogjava.net/improviser/archive/2007/10/06/150635.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle之函数与触发器</title><link>http://www.blogjava.net/improviser/archive/2007/10/05/150456.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Thu, 04 Oct 2007 16:04:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/10/05/150456.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/150456.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/10/05/150456.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/150456.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/150456.html</trackback:ping><description><![CDATA[   <font color="#000080" size="4"> 今天写有关Oracle中函数与触发器的内容，在数据库中定义并使用存储过程、函数、触发器，可以提高用户访问数据库的效率。<br /><br />    数据库中函数包含四个部分：<b>声明、返回值、函数体和异常处理</b>。</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);"> getname(sno </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar2</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">is</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">        name </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">12</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);"> ename </span><span style="color: rgb(0, 0, 255);">into</span><span style="color: rgb(0, 0, 0);"> name </span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);"> emp </span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);"> empno</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">sno;<br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> name;<br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);"> exception<br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">       ...</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 0, 0);"></span></div><br />   <font color="#000080"></font><font size="4"><font color="#000080">触发器是一种特殊的存储过程，类似于其它编程语言中的事件函数，允许为 INSERT、UPDATE、DELETE 创建触发器，当在表（视图）中插入、更新、删除记录(前、后)时，触发一个或一系列 T-SQL 语句。</font><span style="font-family: 宋体; color: blue;"><br /><br />    创建在</span><span style="color: blue;" lang="EN-US">STUDENT</span><span style="font-family: 宋体; color: blue;">表上的插入触发器，当在</span><span style="color: blue;" lang="EN-US">STUDENT</span><span style="font-family: 宋体; color: blue;">表中插入数据时候触发器将被触发，执行体将被执行</span></font><span style="color: blue;" lang="EN-US"><o:p></o:p></span><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);">   插入触发器<br /> 1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">trigger</span><span style="color: rgb(0, 0, 0);"> tg_insert<br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);"> before </span><span style="color: rgb(0, 0, 255);">insert</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">on</span><span style="color: rgb(0, 0, 0);"> student                </span><span style="color: rgb(128, 128, 128);">－－</span><span style="color: rgb(0, 0, 0);">可设置在插入前或插入后<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">       ...</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> <br /><br /></span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 128, 128);">   </span><span style="color: rgb(0, 0, 0);">更新触发器<br /></span><span style="color: rgb(0, 128, 128);"> 8</span>  <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">trigger</span><span style="color: rgb(0, 0, 0);"> tg_update<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);"> after </span><span style="color: rgb(0, 0, 255);">update</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">on</span><span style="color: rgb(0, 0, 0);"> student<br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> each row </span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 0, 0);">     ...</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">15</span> <span style="color: rgb(0, 0, 0);"></span></div><br /><p class="MsoNormal" style="margin-left: 21pt;"><font size="4"><b style=""><span style="font-family: 宋体; color: blue;">触发器两个特殊行级变量：</span><span style="color: red;" lang="EN-US"> :New</span></b><b style=""><span style="font-family: 宋体; color: blue;">新值</span><span style="color: blue;" lang="EN-US"><span style="">  </span></span></b><b style=""><span style="font-family: 宋体; color: blue;">和</span><span style="color: blue;" lang="EN-US"><span style="">  </span></span><span style="color: red;" lang="EN-US">:Old</span></b><b style=""><span style="font-family: 宋体; color: blue;">旧值</span><span style="color: blue;" lang="EN-US"><span style="">  </span></span></b><b style=""><span style="font-family: 宋体; color: blue;">分别代表更新值，被更新的值</span></b></font></p><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">trigger</span><span style="color: rgb(0, 0, 0);"> tg_insert<br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">after </span><span style="color: rgb(0, 0, 255);">update</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">on</span><span style="color: rgb(0, 0, 0);"> student<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> each row<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">when</span><span style="color: rgb(0, 0, 0);"> (:old.sex</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">’j’)        －－</span><span style="color: rgb(128, 128, 128);"></span><span style="color: rgb(0, 0, 0);">当old.sex为J时候才执行触发器内容<br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 128, 128);"></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">   DBMS_OUTPUT.PUT_LINE(:new.stuname</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">  </span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(0, 0, 0);">:old.stuname);<br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">   DBMS_OUTPUT.PUT_LINE(:new.sex</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">  </span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(0, 0, 0);">:old.sex);<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);"></span></div><br /><p class="MsoNormal" style="margin-left: 21pt;"><font size="4"><b style=""><span style="font-family: 宋体; color: blue;">判断复合型触发器</span></b></font></p><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">trigger</span><span style="color: rgb(0, 0, 0);"> trgstudeng<br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">before </span><span style="color: rgb(0, 0, 255);">insert</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">update</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">delete</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">on</span><span style="color: rgb(0, 0, 0);"> student<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> each row<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">  inserting </span><span style="color: rgb(0, 0, 255);">then</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">    ...</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> deleting </span><span style="color: rgb(0, 0, 255);">then</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">    ...</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 0, 0);">exception<br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);">    ...</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">16</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">17</span> <span style="color: rgb(0, 0, 0);"></span></div><br /> <font color="#000080" size="4">  触发器功能强大，可以实现许多复杂的功能，但如果滥用会造成数据库及应用程序的维护困难。<br /><br /></font><font color="#000080" size="4">  (<font color="#ff0000">转载请注明出处</font>)   </font><br /><img src ="http://www.blogjava.net/improviser/aggbug/150456.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-10-05 00:04 <a href="http://www.blogjava.net/improviser/archive/2007/10/05/150456.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle存储过程</title><link>http://www.blogjava.net/improviser/archive/2007/10/03/150224.html</link><dc:creator>improviser</dc:creator><author>improviser</author><pubDate>Tue, 02 Oct 2007 16:07:00 GMT</pubDate><guid>http://www.blogjava.net/improviser/archive/2007/10/03/150224.html</guid><wfw:comment>http://www.blogjava.net/improviser/comments/150224.html</wfw:comment><comments>http://www.blogjava.net/improviser/archive/2007/10/03/150224.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/improviser/comments/commentRss/150224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/improviser/services/trackbacks/150224.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="text-indent: 15.8pt;">
				<font size="4">
						<b style="">
								<span style="font-family: 宋体; color: blue;">存储过程</span>
						</b>
						<span style="font-family: 宋体; color: blue;">包含三部分：</span>
						<span style="font-family: 宋体; color: maroon;">声明，执行部分，异常。</span>
				</font>
		</p>
		<p class="MsoNormal" style="text-indent: 15.8pt;">
				<font color="#000080" size="4">可以有无参数程序和带参数存储过程。</font>
		</p>
		<p class="MsoNormal" style="text-indent: 15.8pt;">
				<font color="#000080">
						<b>
								<font size="4">无参程序语法</font>
						</b>
				</font>
		</p>
		<p class="MsoNormal" style="text-indent: 15.8pt;">
		</p>
		<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
				<span style="color: rgb(0, 128, 128);">1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">procedure</span><span style="color: rgb(0, 0, 0);"> NoParPro<br /></span><span style="color: rgb(0, 128, 128);">2</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);">  <img src="http://www.blogjava.net/images/dot.gif" />;<br /></span><span style="color: rgb(0, 128, 128);">3</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">4</span> <span style="color: rgb(0, 0, 0);"><img src="http://www.blogjava.net/images/dot.gif" />;<br /></span><span style="color: rgb(0, 128, 128);">5</span> <span style="color: rgb(0, 0, 0);">exception<br /></span><span style="color: rgb(0, 128, 128);">6</span> <span style="color: rgb(0, 0, 0);">    <img src="http://www.blogjava.net/images/dot.gif" />;<br /></span><span style="color: rgb(0, 128, 128);">7</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">8</span> <span style="color: rgb(0, 0, 0);"></span></div>
		<font color="#000080">
				<b>
						<br />   <font size="4">带参存储过程实例</font></b>
				<font size="4">
				</font>
		</font>
		<br />
		<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
				<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
				<span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">procedure</span><span style="color: rgb(0, 0, 0);"> queryempname(sfindno emp.empno</span><span style="color: rgb(128, 128, 128);">%</span><span style="color: rgb(0, 0, 0);">type) </span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">       sName emp.ename</span><span style="color: rgb(128, 128, 128);">%</span><span style="color: rgb(0, 0, 0);">type;<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">       sjob emp.job</span><span style="color: rgb(128, 128, 128);">%</span><span style="color: rgb(0, 0, 0);">type;<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">       ....</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">exception</span><span style="color: rgb(0, 128, 128);"><br />          ....<br /></span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">15</span> <span style="color: rgb(0, 0, 0);"></span></div>
		<font color="#000080">
				<span style="font-family: 宋体; color: black;">
						<br />   <font size="4">带参数存储过程含赋值方式</font></span>
		</font>
		<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
				<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
				<span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">or</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">replace</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">procedure</span><span style="color: rgb(0, 0, 0);"> runbyparmeters  (isal </span><span style="color: rgb(128, 128, 128);">in</span><span style="color: rgb(0, 0, 0);"> emp.sal</span><span style="color: rgb(128, 128, 128);">%</span><span style="color: rgb(0, 0, 0);">type, <br />                            sname out </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">,sjob </span><span style="color: rgb(128, 128, 128);">in</span><span style="color: rgb(0, 0, 0);"> out </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);"> icount </span><span style="color: rgb(0, 0, 0); font-weight: bold;">number</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(255, 0, 255);">count</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 128, 128);">*</span><span style="color: rgb(0, 0, 0);">) </span><span style="color: rgb(0, 0, 255);">into</span><span style="color: rgb(0, 0, 0);"> icount </span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);"> emp </span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);"> sal</span><span style="color: rgb(128, 128, 128);">&gt;</span><span style="color: rgb(0, 0, 0);">isal </span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);"> job</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">sjob;<br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> icount</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">then</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">        ....</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">        ....</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 0, 0);"> exception<br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 255);">when</span><span style="color: rgb(0, 0, 0);"> too_many_rows </span><span style="color: rgb(0, 0, 255);">then</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">15</span> <span style="color: rgb(0, 0, 0);">      DBMS_OUTPUT.PUT_LINE(</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">返回值多于1行</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);">16</span> <span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 255);">when</span><span style="color: rgb(0, 0, 0);"> others </span><span style="color: rgb(0, 0, 255);">then</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">17</span> <span style="color: rgb(0, 0, 0);">      DBMS_OUTPUT.PUT_LINE(</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">在RUNBYPARMETERS过程中出错！</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);">18</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">end</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">19</span> <span style="color: rgb(0, 0, 0);"></span></div>
		<br />  <font color="#800080" size="4"><b>过程调用</b></font><font size="4"><br />  </font><font color="#800080" size="4">方式一</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">       realsal emp.sal</span><span style="color: rgb(128, 128, 128);">%</span><span style="color: rgb(0, 0, 0);">type;<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">       realname </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">40</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">       realjob </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">40</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">       realsal:</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1100</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">       realname:</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 0);">''</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">       realjob:</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">CLERK</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">       runbyparmeters(realsal,realname,realjob);     －－</span><span style="color: rgb(0, 0, 0);">必须按顺序<br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">       DBMS_OUTPUT.PUT_LINE(REALNAME</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">   </span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(0, 0, 0);">REALJOB);<br /></span><span style="color: rgb(0, 128, 128);">11</span> <span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);"></span></div><br /> <font color="#800080" size="4"> 方式二</font><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 255);">declare</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);">      realsal emp.sal</span><span style="color: rgb(128, 128, 128);">%</span><span style="color: rgb(0, 0, 0);">type;<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">      realname </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">40</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">      realjob </span><span style="color: rgb(0, 0, 0); font-weight: bold;">varchar</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0); font-weight: bold;">40</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">begin</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);">      realsal:</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(128, 0, 0); font-weight: bold;">1100</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">      realname:</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 0);">''</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">      realjob:</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">CLERK</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">      runbyparmeters(sname</span><span style="color: rgb(128, 128, 128);">=&gt;</span><span style="color: rgb(0, 0, 0);">realname,isal</span><span style="color: rgb(128, 128, 128);">=&gt;</span><span style="color: rgb(0, 0, 0);">realsal,sjob</span><span style="color: rgb(128, 128, 128);">=&gt;</span><span style="color: rgb(0, 0, 0);">realjob);  －－</span><span style="color: rgb(128, 128, 128);"></span><span style="color: rgb(0, 0, 0);">指定值对应变量顺序可变<br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">      DBMS_OUTPUT.PUT_LINE(REALNAME</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">   </span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(128, 128, 128);">||</span><span style="color: rgb(0, 0, 0);">REALJOB);<br /></span><span style="color: rgb(0, 128, 128);">11</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">END</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);"></span></div><p></p><font color="#000080" size="4"> </font><br /><img src ="http://www.blogjava.net/improviser/aggbug/150224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/improviser/" target="_blank">improviser</a> 2007-10-03 00:07 <a href="http://www.blogjava.net/improviser/archive/2007/10/03/150224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>