﻿<?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-Fans of java</title><link>http://www.blogjava.net/piggytommy/</link><description>We need communication!</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:25:33 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:25:33 GMT</pubDate><ttl>60</ttl><item><title>java多线程(4)</title><link>http://www.blogjava.net/piggytommy/archive/2008/03/28/189361.html</link><dc:creator>piggytommy</dc:creator><author>piggytommy</author><pubDate>Fri, 28 Mar 2008 13:55:00 GMT</pubDate><guid>http://www.blogjava.net/piggytommy/archive/2008/03/28/189361.html</guid><wfw:comment>http://www.blogjava.net/piggytommy/comments/189361.html</wfw:comment><comments>http://www.blogjava.net/piggytommy/archive/2008/03/28/189361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/piggytommy/comments/commentRss/189361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/piggytommy/services/trackbacks/189361.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 线程状态：一个线程可以处于以下几个状态：1.新建(new):线程对象已经建立，但它还没有启动，所以它不能运行。2.就绪(runnable):只要调度程序将时间片分配给它，它就可以运行。3.死亡(dead):从run()方法返回。4.阻塞(blocked):线程能够运行，但有某个条件阻止它运行，当线程处于阻塞状态，调度机制将忽略线程，不会分配给线程任何处理器时间。知道线程重新进入...&nbsp;&nbsp;<a href='http://www.blogjava.net/piggytommy/archive/2008/03/28/189361.html'>阅读全文</a><img src ="http://www.blogjava.net/piggytommy/aggbug/189361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/piggytommy/" target="_blank">piggytommy</a> 2008-03-28 21:55 <a href="http://www.blogjava.net/piggytommy/archive/2008/03/28/189361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts学习笔记</title><link>http://www.blogjava.net/piggytommy/archive/2008/03/27/189123.html</link><dc:creator>piggytommy</dc:creator><author>piggytommy</author><pubDate>Thu, 27 Mar 2008 12:40:00 GMT</pubDate><guid>http://www.blogjava.net/piggytommy/archive/2008/03/27/189123.html</guid><wfw:comment>http://www.blogjava.net/piggytommy/comments/189123.html</wfw:comment><comments>http://www.blogjava.net/piggytommy/archive/2008/03/27/189123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/piggytommy/comments/commentRss/189123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/piggytommy/services/trackbacks/189123.html</trackback:ping><description><![CDATA[<p><span style="font-size: 18pt"><strong style="font-size: 24pt">超链接<br />
</strong></span>在struts中，超链接可以被定义为一个ActionForward.他具有一个逻辑名称和一个path属性。可以通过它的名称引用它。</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&lt;</span><span style="color: #000000">forward&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">welcome</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/index.jsp</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span></div>
<p><br />
<span style="font-size: 14pt"><span style="font-size: 24pt"><strong>HTML表单</strong></span> <br />
struts中使用ActionForm来处理html的表单控件。下面的类自动用表单中的同名属性来组装username域。</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;LogonForm&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;ActionForm<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_48_209_Open_Image" onclick="this.style.display='none'; Codehighlighter1_48_209_Open_Text.style.display='none'; Codehighlighter1_48_209_Closed_Image.style.display='inline'; Codehighlighter1_48_209_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_48_209_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_48_209_Closed_Text.style.display='none'; Codehighlighter1_48_209_Open_Image.style.display='inline'; Codehighlighter1_48_209_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_48_209_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_48_209_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;username&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_110_136_Open_Image" onclick="this.style.display='none'; Codehighlighter1_110_136_Open_Text.style.display='none'; Codehighlighter1_110_136_Closed_Image.style.display='inline'; Codehighlighter1_110_136_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_110_136_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_110_136_Closed_Text.style.display='none'; Codehighlighter1_110_136_Open_Image.style.display='inline'; Codehighlighter1_110_136_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getUsername()&nbsp;</span><span id="Codehighlighter1_110_136_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_110_136_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">this</span><span style="color: #000000">.username);<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img id="Codehighlighter1_179_207_Open_Image" onclick="this.style.display='none'; Codehighlighter1_179_207_Open_Text.style.display='none'; Codehighlighter1_179_207_Closed_Image.style.display='inline'; Codehighlighter1_179_207_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_179_207_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_179_207_Closed_Text.style.display='none'; Codehighlighter1_179_207_Open_Image.style.display='inline'; Codehighlighter1_179_207_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setUsername(String&nbsp;username)&nbsp;</span><span id="Codehighlighter1_179_207_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_179_207_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">this</span><span style="color: #000000">.username&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;username;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<p style="font-size: 24pt"><span style="font-size: 24pt"><strong>定制动作<br />
</strong><span style="font-size: 14pt">html表单使用action参数告诉浏览器将数据送到何处。Struts框架提供相应的Action类来接收数据。框架会自动创建、组装、校验和最后处理Action 对象所对应的ActionForm。这样，Action 就可以直接从ActionForm bean 取得它需要的数据。</span></span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_46_294_Open_Image" onclick="this.style.display='none'; Codehighlighter1_46_294_Open_Text.style.display='none'; Codehighlighter1_46_294_Closed_Image.style.display='inline'; Codehighlighter1_46_294_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_46_294_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_46_294_Closed_Text.style.display='none'; Codehighlighter1_46_294_Open_Image.style.display='inline'; Codehighlighter1_46_294_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;LogonAction&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;Action&nbsp;</span><span id="Codehighlighter1_46_294_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_46_294_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ActionForward&nbsp;perform(ActionMapping&nbsp;mapping,<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActionForm&nbsp;form,<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletRequest&nbsp;request,<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response)<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_212_292_Open_Image" onclick="this.style.display='none'; Codehighlighter1_212_292_Open_Text.style.display='none'; Codehighlighter1_212_292_Closed_Image.style.display='inline'; Codehighlighter1_212_292_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_212_292_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_212_292_Closed_Text.style.display='none'; Codehighlighter1_212_292_Open_Image.style.display='inline'; Codehighlighter1_212_292_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;IOException,&nbsp;ServletException&nbsp;</span><span id="Codehighlighter1_212_292_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_212_292_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyForm&nbsp;myForm&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(MyForm)&nbsp;form;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mapping.findForward(</span><span style="color: #000000">"</span><span style="color: #000000">continue</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<p style="font-size: 24pt">ActionMapping<br />
<span style="font-size: 24pt"><span style="font-size: 14pt">为了给定制动作一个URI， 或者说路径，Struts 框架提供了一个ActionMapping 对象。 象ActionForward 和 ActionForm 一样, ActionMapping 通常也在XML 配置文件中定义。</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&lt;</span><span style="color: #000000">action</span><span style="color: #000000">-</span><span style="color: #000000">mappings</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">action&nbsp;path</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/logonSubmit</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">app.LogonAction</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">logonForm</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">request</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;validate</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">true</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/pages/logon.jsp</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">action</span><span style="color: #000000">-</span><span style="color: #000000">mappings</span><span style="color: #000000">&gt;</span></div>
</span></span></span><img style="width: 724px; height: 291px" height="291" alt="" src="http://www.blogjava.net/images/blogjava_net/piggytommy/dd.jpg" width="724" border="0" /><br />
<img src ="http://www.blogjava.net/piggytommy/aggbug/189123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/piggytommy/" target="_blank">piggytommy</a> 2008-03-27 20:40 <a href="http://www.blogjava.net/piggytommy/archive/2008/03/27/189123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java多线程（3）</title><link>http://www.blogjava.net/piggytommy/archive/2008/03/27/189069.html</link><dc:creator>piggytommy</dc:creator><author>piggytommy</author><pubDate>Thu, 27 Mar 2008 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/piggytommy/archive/2008/03/27/189069.html</guid><wfw:comment>http://www.blogjava.net/piggytommy/comments/189069.html</wfw:comment><comments>http://www.blogjava.net/piggytommy/archive/2008/03/27/189069.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/piggytommy/comments/commentRss/189069.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/piggytommy/services/trackbacks/189069.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 多线程的共享资源&nbsp;&nbsp;&nbsp;&nbsp;java提供了关键字synchronized的形式，为防止资源冲突提供内置的支持。每个对象都有一个单一的锁，这个锁是存在与对象内部的，当你调用了一个对象的某个synchronized方法，这个对象中的其他的synchronized方法必须要等到先前的那个方法执行完毕，释放了锁以后才可以被调用。一个线程可以多次获得对象的锁，JVM负...&nbsp;&nbsp;<a href='http://www.blogjava.net/piggytommy/archive/2008/03/27/189069.html'>阅读全文</a><img src ="http://www.blogjava.net/piggytommy/aggbug/189069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/piggytommy/" target="_blank">piggytommy</a> 2008-03-27 17:17 <a href="http://www.blogjava.net/piggytommy/archive/2008/03/27/189069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线程（2）</title><link>http://www.blogjava.net/piggytommy/archive/2008/03/26/188627.html</link><dc:creator>piggytommy</dc:creator><author>piggytommy</author><pubDate>Tue, 25 Mar 2008 20:50:00 GMT</pubDate><guid>http://www.blogjava.net/piggytommy/archive/2008/03/26/188627.html</guid><wfw:comment>http://www.blogjava.net/piggytommy/comments/188627.html</wfw:comment><comments>http://www.blogjava.net/piggytommy/archive/2008/03/26/188627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/piggytommy/comments/commentRss/188627.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/piggytommy/services/trackbacks/188627.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;加入到某个线程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个线程可以在其他线程之上调用join()方法，其效果是等待一段时间直到第二个线程结束才继续执行。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对join()方法的调用可以被中断，做法是在调用线程...&nbsp;&nbsp;<a href='http://www.blogjava.net/piggytommy/archive/2008/03/26/188627.html'>阅读全文</a><img src ="http://www.blogjava.net/piggytommy/aggbug/188627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/piggytommy/" target="_blank">piggytommy</a> 2008-03-26 04:50 <a href="http://www.blogjava.net/piggytommy/archive/2008/03/26/188627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java并发（1）</title><link>http://www.blogjava.net/piggytommy/archive/2008/03/24/188357.html</link><dc:creator>piggytommy</dc:creator><author>piggytommy</author><pubDate>Mon, 24 Mar 2008 13:52:00 GMT</pubDate><guid>http://www.blogjava.net/piggytommy/archive/2008/03/24/188357.html</guid><wfw:comment>http://www.blogjava.net/piggytommy/comments/188357.html</wfw:comment><comments>http://www.blogjava.net/piggytommy/archive/2008/03/24/188357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/piggytommy/comments/commentRss/188357.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/piggytommy/services/trackbacks/188357.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前不久参加了一个IBM的笔试，两个小时近两百的选择题，让我感到前所未有的挫折感，虽说拼命做了出来，但是还是感到自己的基础知识漏洞无数。其中java部分的多线程由于平时涉及较少，异常吃力，令我诧异的居然考了很多，所以我觉得有必要研究一下。希望与大家交流。&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;<a href='http://www.blogjava.net/piggytommy/archive/2008/03/24/188357.html'>阅读全文</a><img src ="http://www.blogjava.net/piggytommy/aggbug/188357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/piggytommy/" target="_blank">piggytommy</a> 2008-03-24 21:52 <a href="http://www.blogjava.net/piggytommy/archive/2008/03/24/188357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java让我们一起</title><link>http://www.blogjava.net/piggytommy/archive/2008/03/24/188324.html</link><dc:creator>piggytommy</dc:creator><author>piggytommy</author><pubDate>Mon, 24 Mar 2008 10:44:00 GMT</pubDate><guid>http://www.blogjava.net/piggytommy/archive/2008/03/24/188324.html</guid><wfw:comment>http://www.blogjava.net/piggytommy/comments/188324.html</wfw:comment><comments>http://www.blogjava.net/piggytommy/archive/2008/03/24/188324.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/piggytommy/comments/commentRss/188324.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/piggytommy/services/trackbacks/188324.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一直对java有一种由衷的喜欢，因为它的简洁和实用，也一直希望找到一个属于java粉丝们的聚集地，BlogJava让我感觉到家的氛围，一个java的大家庭，我的专业是软件工程，对Java web方面有浓厚的兴趣，也很想在闲暇参与现今如火如荼的开源项目，优美的spring让EJB在很多方面黯然失色，神奇的Hibernate让繁杂的jdbc冬眠，今天我作为大家的一份子加入到java的行列中，希望今后与大家多多交流，多多益善。冰冻三尺非一日之寒，希望大家一起共同进步，在java的路上越走越远。
<img src ="http://www.blogjava.net/piggytommy/aggbug/188324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/piggytommy/" target="_blank">piggytommy</a> 2008-03-24 18:44 <a href="http://www.blogjava.net/piggytommy/archive/2008/03/24/188324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>