﻿<?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-mashiguang-随笔分类-java web开发</title><link>http://www.blogjava.net/mashiguang/category/23890.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 13 Dec 2007 17:29:30 GMT</lastBuildDate><pubDate>Thu, 13 Dec 2007 17:29:30 GMT</pubDate><ttl>60</ttl><item><title>java自动打包的差异</title><link>http://www.blogjava.net/mashiguang/archive/2007/12/13/167549.html</link><dc:creator>mashiguang</dc:creator><author>mashiguang</author><pubDate>Thu, 13 Dec 2007 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/mashiguang/archive/2007/12/13/167549.html</guid><wfw:comment>http://www.blogjava.net/mashiguang/comments/167549.html</wfw:comment><comments>http://www.blogjava.net/mashiguang/archive/2007/12/13/167549.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/mashiguang/comments/commentRss/167549.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mashiguang/services/trackbacks/167549.html</trackback:ping><description><![CDATA[自JDK1.0开始就存在包装器类,但是在JDK5.0之前,必须手工地插入打包和拆包的代码.<br />
JDK5.0中就有了自动打包功能,但在5.0中自动打包时存在一些差异,刚才看《java核心技术第7版》时才发现.<br />
<br />
<span style="color: #ff0000">代码1:<br />
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Integer&nbsp;a</span><span style="color: #000000">=</span><span style="color: #000000">1000</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />Integer&nbsp;b</span><span style="color: #000000">=</span><span style="color: #000000">1000</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />System.out.println(a</span><span style="color: #000000">==</span><span style="color: #000000">b);</span><span style="color: #008000">//</span><span style="color: #008000">false</span></div>
<span style="color: #ff0000">代码2:</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Integer&nbsp;a</span><span style="color: #000000">=</span><span style="color: #000000">100</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />Integer&nbsp;b</span><span style="color: #000000">=</span><span style="color: #000000">100</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />System.out.println(a</span><span style="color: #000000">==</span><span style="color: #000000">b);</span><span style="color: #008000">//</span><span style="color: #008000">true</span></div>
<span style="color: #ff0000">代码3:</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Integer&nbsp;a</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Integer(</span><span style="color: #000000">100</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />Integer&nbsp;b</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Integer(</span><span style="color: #000000">100</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />System.out.println(a</span><span style="color: #000000">==</span><span style="color: #000000">b);</span><span style="color: #008000">//</span><span style="color: #008000">false</span></div>
<br />
<p>第一段代码不成立,而第二段代码成立的原因是:自动打包<br />
<span style="color: #ff0000">自动打包规范要求boolean,byte,char&#8804;127,介于-128&#8594;127之间的short和int被包装到固定的对象中.</span><br />
打包和拆包是编译器认可的，而不是虚拟机，编译器在生成类的字节码时，插入必要的方法调用，虚拟机只是执行这些字节码。</p>
<p>第三段代码不用多说肯定不成立.</p>
<p>&nbsp;</p>
 <img src ="http://www.blogjava.net/mashiguang/aggbug/167549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mashiguang/" target="_blank">mashiguang</a> 2007-12-13 17:03 <a href="http://www.blogjava.net/mashiguang/archive/2007/12/13/167549.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ant打ear包的详细步骤</title><link>http://www.blogjava.net/mashiguang/archive/2007/11/24/162758.html</link><dc:creator>mashiguang</dc:creator><author>mashiguang</author><pubDate>Fri, 23 Nov 2007 16:44:00 GMT</pubDate><guid>http://www.blogjava.net/mashiguang/archive/2007/11/24/162758.html</guid><wfw:comment>http://www.blogjava.net/mashiguang/comments/162758.html</wfw:comment><comments>http://www.blogjava.net/mashiguang/archive/2007/11/24/162758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mashiguang/comments/commentRss/162758.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mashiguang/services/trackbacks/162758.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 用一个简单的ejb3.0示例记录ant打ear包的过程源码下载环境:apache-ant-1.6.5jboss-4.2.1.GAjboss-annotations-ejb3.jarjboss-ejb3.jarjboss-ejb3x.jar最后三个包在jboss里有.1,建ejb3.0项目session bean接口:HelloWorldpub...&nbsp;&nbsp;<a href='http://www.blogjava.net/mashiguang/archive/2007/11/24/162758.html'>阅读全文</a><img src ="http://www.blogjava.net/mashiguang/aggbug/162758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mashiguang/" target="_blank">mashiguang</a> 2007-11-24 00:44 <a href="http://www.blogjava.net/mashiguang/archive/2007/11/24/162758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apache commons-email</title><link>http://www.blogjava.net/mashiguang/archive/2007/11/01/157533.html</link><dc:creator>mashiguang</dc:creator><author>mashiguang</author><pubDate>Thu, 01 Nov 2007 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/mashiguang/archive/2007/11/01/157533.html</guid><wfw:comment>http://www.blogjava.net/mashiguang/comments/157533.html</wfw:comment><comments>http://www.blogjava.net/mashiguang/archive/2007/11/01/157533.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/mashiguang/comments/commentRss/157533.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mashiguang/services/trackbacks/157533.html</trackback:ping><description><![CDATA[<p><strong>使用commons mail时需要的jar包:</strong><br />
1,commons-email-1.1.jar<br />
2,mail.jar<br />
3,activation.jar<br />
(在web应用里只需要commons-email包)</p>
<p><strong>发送简单的文字邮件:</strong></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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">SimpleEmail&nbsp;email&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SimpleEmail();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setHostName(</span><span style="color: #000000">"</span><span style="color: #000000">smtp.sina.com</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setAuthentication(</span><span style="color: #000000">"</span><span style="color: #000000">username</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">password</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">在邮件服务商处注册的用户名和密码</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">email.addTo(</span><span style="color: #000000">"</span><span style="color: #000000">mailTo@163.com</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setFrom(</span><span style="color: #000000">"</span><span style="color: #000000">username@sina.com</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">alias</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setCharset(</span><span style="color: #000000">"</span><span style="color: #000000">UTF-8</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">gbk或gb2312,只要支持中文就行</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">email.setSubject(</span><span style="color: #000000">"</span><span style="color: #000000">title</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setMsg(</span><span style="color: #000000">"</span><span style="color: #000000">content</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.send();</span></div>
<br />
<strong>发送带附件的邮件:</strong><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Create&nbsp;the&nbsp;attachment</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">EmailAttachment&nbsp;attachment&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;EmailAttachment();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />attachment.setPath(</span><span style="color: #000000">"</span><span style="color: #000000">mypictures/john.jpg</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />attachment.setDisposition(EmailAttachment.ATTACHMENT);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />attachment.setDescription(</span><span style="color: #000000">"</span><span style="color: #000000">Picture&nbsp;of&nbsp;John</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />attachment.setName(</span><span style="color: #000000">"</span><span style="color: #000000">John</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Create&nbsp;the&nbsp;email&nbsp;message</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">MultiPartEmail&nbsp;email&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MultiPartEmail();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setHostName(</span><span style="color: #000000">"</span><span style="color: #000000">mail.myserver.com</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setAuthentication(</span><span style="color: #000000">"</span><span style="color: #000000">username</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">password</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.addTo(</span><span style="color: #000000">"</span><span style="color: #000000">jdoe@somewhere.org</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">John&nbsp;Doe</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setFrom(</span><span style="color: #000000">"</span><span style="color: #000000">me@apache.org</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Me</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setCharset(</span><span style="color: #000000">"</span><span style="color: #000000">UTF-8</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setSubject(</span><span style="color: #000000">"</span><span style="color: #000000">The&nbsp;picture</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email.setMsg(</span><span style="color: #000000">"</span><span style="color: #000000">Here&nbsp;is&nbsp;the&nbsp;picture&nbsp;you&nbsp;wanted</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;add&nbsp;the&nbsp;attachment</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">email.attach(attachment);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;send&nbsp;the&nbsp;email</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">email.send();</span></div>
<br />
<p>创建多个EmailAttachment对象,并调用MultiPartEmail.attach();就可以发送多个附件.</p>
<p><strong>发送HTML格式的邮件:</strong></p>
<p>发送html格式的邮件和简单邮件的区别就在创建HtmlEmail对象<br />
并用email.setHtmlMsg(String)或email.setMsg(String)把含有html标签的字符串赋给email对象.<br />
HtmlEmail对象还有一个setTextMsg(String)方法,这个方法参数里的html标签会被当做普通字符处理,不会被解析成html元素.<br />
更详细内容可以看<a href="http://commons.apache.org/email/userguide.html">apache commons-email的用户指南</a>.</p>
<img src ="http://www.blogjava.net/mashiguang/aggbug/157533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mashiguang/" target="_blank">mashiguang</a> 2007-11-01 16:51 <a href="http://www.blogjava.net/mashiguang/archive/2007/11/01/157533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;转&gt;,防止刷新/后退引起的重复提交问题的Java Token代码，非Struts</title><link>http://www.blogjava.net/mashiguang/archive/2007/08/21/138324.html</link><dc:creator>mashiguang</dc:creator><author>mashiguang</author><pubDate>Tue, 21 Aug 2007 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/mashiguang/archive/2007/08/21/138324.html</guid><wfw:comment>http://www.blogjava.net/mashiguang/comments/138324.html</wfw:comment><comments>http://www.blogjava.net/mashiguang/archive/2007/08/21/138324.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mashiguang/comments/commentRss/138324.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mashiguang/services/trackbacks/138324.html</trackback:ping><description><![CDATA[<p>贴子转自<a href="http://hi.baidu.com/bobylou">http://hi.baidu.com/bobylou</a>，转之前并没有验证文章里的方法是不是有效，估计原作者把它放到blog之前应该做过测试了吧。<br><br></p>
<p><strong>Struts</strong>本身有一套完善的<strong>防止重复提交表单</strong>的<strong>Token</strong>(<strong>令牌</strong>)机制，但笔者目前的项目自写的framework没有用到Struts，故也得自写防止用户因为后退或者刷新来重复提交表单内容的Token机制。不难，容易实现。</p>
<p>实现原理：一致性。jsp生成表单时，在表单中插入一个隐藏&lt;input&gt;字段，该字段就是保存在页面端的token字符串，同时把该字符串存入session中。等到用户提交表单时，会一并提交该隐藏的token字符串。在服务器端，查看下是否在session中含有与该token字符串相等的字符串。如果有，那么表明是第一次提交该表单，然后删除存放于session端的token字符串，再做正常业务逻辑流程；如果没有，那么表示该表单被重复提交，做非正常流程处理，可以警告提示也可以什么也不做。</p>
<p>看代码。</p>
<p>首先是<strong><font color=#ff0000>Token主类</font></strong>。类很简单，而且主要方法都给doc注释了</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"><img id=Codehighlighter1_0_109_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_109_Open_Text.style.display='none'; Codehighlighter1_0_109_Closed_Image.style.display='inline'; Codehighlighter1_0_109_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_109_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_109_Closed_Text.style.display='none'; Codehighlighter1_0_109_Open_Image.style.display='inline'; Codehighlighter1_0_109_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_109_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">/**/</span><span id=Codehighlighter1_0_109_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;blog:&nbsp;</span><span style="COLOR: #008000; TEXT-DECORATION: underline">http://hi.baidu.com/bobylou</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;$Revision:&nbsp;1.1&nbsp;$<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;$Date:&nbsp;2007/07/18&nbsp;10:02:55&nbsp;$<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;$Author:&nbsp;bobrow$<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;com.paizuo.framework.util;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.ArrayList;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javax.servlet.http.HttpSession;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_236_2234_Open_Image onclick="this.style.display='none'; Codehighlighter1_236_2234_Open_Text.style.display='none'; Codehighlighter1_236_2234_Closed_Image.style.display='inline'; Codehighlighter1_236_2234_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_236_2234_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_236_2234_Closed_Text.style.display='none'; Codehighlighter1_236_2234_Open_Image.style.display='inline'; Codehighlighter1_236_2234_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Token&nbsp;</span><span id=Codehighlighter1_236_2234_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"></span><span id=Codehighlighter1_236_2234_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;String&nbsp;TOKEN_LIST_NAME&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tokenList</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;String&nbsp;TOKEN_STRING_NAME&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">token</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_427_714_Open_Image onclick="this.style.display='none'; Codehighlighter1_427_714_Open_Text.style.display='none'; Codehighlighter1_427_714_Closed_Image.style.display='inline'; Codehighlighter1_427_714_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_427_714_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_427_714_Closed_Text.style.display='none'; Codehighlighter1_427_714_Open_Image.style.display='inline'; Codehighlighter1_427_714_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;ArrayList&nbsp;getTokenList(HttpSession&nbsp;session)&nbsp;</span><span id=Codehighlighter1_427_714_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"></span><span id=Codehighlighter1_427_714_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;obj&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;session.getAttribute(TOKEN_LIST_NAME);<br><img id=Codehighlighter1_512_555_Open_Image onclick="this.style.display='none'; Codehighlighter1_512_555_Open_Text.style.display='none'; Codehighlighter1_512_555_Closed_Image.style.display='inline'; Codehighlighter1_512_555_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_512_555_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_512_555_Closed_Text.style.display='none'; Codehighlighter1_512_555_Open_Image.style.display='inline'; Codehighlighter1_512_555_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(obj&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_512_555_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"></span><span id=Codehighlighter1_512_555_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(ArrayList)&nbsp;obj;<br><img id=Codehighlighter1_562_708_Open_Image onclick="this.style.display='none'; Codehighlighter1_562_708_Open_Text.style.display='none'; Codehighlighter1_562_708_Closed_Image.style.display='inline'; Codehighlighter1_562_708_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_562_708_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_562_708_Closed_Text.style.display='none'; Codehighlighter1_562_708_Open_Image.style.display='inline'; Codehighlighter1_562_708_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_562_708_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"></span><span id=Codehighlighter1_562_708_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;tokenList&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.setAttribute(TOKEN_LIST_NAME,&nbsp;tokenList);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;tokenList;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_795_942_Open_Image onclick="this.style.display='none'; Codehighlighter1_795_942_Open_Text.style.display='none'; Codehighlighter1_795_942_Closed_Image.style.display='inline'; Codehighlighter1_795_942_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_795_942_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_795_942_Closed_Text.style.display='none'; Codehighlighter1_795_942_Open_Image.style.display='inline'; Codehighlighter1_795_942_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;saveTokenString(String&nbsp;tokenStr,&nbsp;HttpSession&nbsp;session)&nbsp;</span><span id=Codehighlighter1_795_942_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"></span><span id=Codehighlighter1_795_942_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;tokenList&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getTokenList(session);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tokenList.add(tokenStr);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.setAttribute(TOKEN_LIST_NAME,&nbsp;tokenList);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_995_1064_Open_Image onclick="this.style.display='none'; Codehighlighter1_995_1064_Open_Text.style.display='none'; Codehighlighter1_995_1064_Closed_Image.style.display='inline'; Codehighlighter1_995_1064_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_995_1064_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_995_1064_Closed_Text.style.display='none'; Codehighlighter1_995_1064_Open_Image.style.display='inline'; Codehighlighter1_995_1064_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;String&nbsp;generateTokenString()</span><span id=Codehighlighter1_995_1064_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"></span><span id=Codehighlighter1_995_1064_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Long(System.currentTimeMillis()).toString();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1071_1331_Open_Image onclick="this.style.display='none'; Codehighlighter1_1071_1331_Open_Text.style.display='none'; Codehighlighter1_1071_1331_Closed_Image.style.display='inline'; Codehighlighter1_1071_1331_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1071_1331_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1071_1331_Closed_Text.style.display='none'; Codehighlighter1_1071_1331_Open_Image.style.display='inline'; Codehighlighter1_1071_1331_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1071_1331_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">/**&nbsp;*/</span><span id=Codehighlighter1_1071_1331_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Generate&nbsp;a&nbsp;token&nbsp;string,&nbsp;and&nbsp;save&nbsp;the&nbsp;string&nbsp;in&nbsp;session,&nbsp;then&nbsp;return&nbsp;the&nbsp;token&nbsp;string.<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;HttpSession<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@return</span><span style="COLOR: #008000">&nbsp;a&nbsp;token&nbsp;string&nbsp;used&nbsp;for&nbsp;enforcing&nbsp;a&nbsp;single&nbsp;request&nbsp;for&nbsp;a&nbsp;particular&nbsp;transaction.<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1394_1515_Open_Image onclick="this.style.display='none'; Codehighlighter1_1394_1515_Open_Text.style.display='none'; Codehighlighter1_1394_1515_Closed_Image.style.display='inline'; Codehighlighter1_1394_1515_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1394_1515_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1394_1515_Closed_Text.style.display='none'; Codehighlighter1_1394_1515_Open_Image.style.display='inline'; Codehighlighter1_1394_1515_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;String&nbsp;getTokenString(HttpSession&nbsp;session)&nbsp;</span><span id=Codehighlighter1_1394_1515_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"></span><span id=Codehighlighter1_1394_1515_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;tokenStr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;generateTokenString();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saveTokenString(tokenStr,&nbsp;session);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;tokenStr;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1522_1872_Open_Image onclick="this.style.display='none'; Codehighlighter1_1522_1872_Open_Text.style.display='none'; Codehighlighter1_1522_1872_Closed_Image.style.display='inline'; Codehighlighter1_1522_1872_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1522_1872_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1522_1872_Closed_Text.style.display='none'; Codehighlighter1_1522_1872_Open_Image.style.display='inline'; Codehighlighter1_1522_1872_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1522_1872_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">/**&nbsp;*/</span><span id=Codehighlighter1_1522_1872_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;check&nbsp;whether&nbsp;token&nbsp;string&nbsp;is&nbsp;valid.&nbsp;if&nbsp;session&nbsp;contains&nbsp;the&nbsp;token&nbsp;string,&nbsp;return&nbsp;true.&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;otherwise,&nbsp;return&nbsp;false.<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;String<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tokenStr<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;HttpSession<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@return</span><span style="COLOR: #008000">&nbsp;true:&nbsp;session&nbsp;contains&nbsp;tokenStr;&nbsp;false:&nbsp;session&nbsp;is&nbsp;null&nbsp;or&nbsp;tokenStr&nbsp;is&nbsp;id&nbsp;not&nbsp;in&nbsp;session<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1957_2232_Open_Image onclick="this.style.display='none'; Codehighlighter1_1957_2232_Open_Text.style.display='none'; Codehighlighter1_1957_2232_Closed_Image.style.display='inline'; Codehighlighter1_1957_2232_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1957_2232_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1957_2232_Closed_Text.style.display='none'; Codehighlighter1_1957_2232_Open_Image.style.display='inline'; Codehighlighter1_1957_2232_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000">&nbsp;isTokenStringValid(String&nbsp;tokenStr,&nbsp;HttpSession&nbsp;session)&nbsp;</span><span id=Codehighlighter1_1957_2232_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"></span><span id=Codehighlighter1_1957_2232_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000">&nbsp;valid&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_2015_2205_Open_Image onclick="this.style.display='none'; Codehighlighter1_2015_2205_Open_Text.style.display='none'; Codehighlighter1_2015_2205_Closed_Image.style.display='inline'; Codehighlighter1_2015_2205_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2015_2205_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2015_2205_Closed_Text.style.display='none'; Codehighlighter1_2015_2205_Open_Image.style.display='inline'; Codehighlighter1_2015_2205_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(session&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_2015_2205_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"></span><span id=Codehighlighter1_2015_2205_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;tokenList&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;getTokenList(session);<br><img id=Codehighlighter1_2116_2196_Open_Image onclick="this.style.display='none'; Codehighlighter1_2116_2196_Open_Text.style.display='none'; Codehighlighter1_2116_2196_Closed_Image.style.display='inline'; Codehighlighter1_2116_2196_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2116_2196_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2116_2196_Closed_Text.style.display='none'; Codehighlighter1_2116_2196_Open_Image.style.display='inline'; Codehighlighter1_2116_2196_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(tokenList.contains(tokenStr))&nbsp;</span><span id=Codehighlighter1_2116_2196_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"></span><span id=Codehighlighter1_2116_2196_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valid&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tokenList.remove(tokenStr);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;valid;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><strong><font color=#ff0000>怎么使用？</font></strong></p>
<p><strong>在jsp页面端。</strong></p>
<p>首先import该类：</p>
<p>&lt;%@ page import="com.paizuo.framework.util.Token" %&gt;</p>
<p>表单包含隐藏的token字符串:</p>
<p>&nbsp;</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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">form</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><img src="http://www.blogjava.net/Images/dot.gif"><img src="http://www.blogjava.net/Images/dot.gif"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="hidden"</span><span style="COLOR: #ff0000">&nbsp;name</span><span style="COLOR: #0000ff">="&lt;%=Token.TOKEN_STRING_NAME&nbsp;%&gt;"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="&lt;%=Token.getTokenString(session)&nbsp;%&gt;"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><img src="http://www.blogjava.net/Images/dot.gif"><img src="http://www.blogjava.net/Images/dot.gif"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">form</span><span style="COLOR: #0000ff">&gt;</span></div>
<p>&nbsp;</p>
<p><strong>在Server端action中进行检验。</strong></p>
<p>&nbsp;</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"><img id=Codehighlighter1_97_110_Open_Image onclick="this.style.display='none'; Codehighlighter1_97_110_Open_Text.style.display='none'; Codehighlighter1_97_110_Closed_Image.style.display='inline'; Codehighlighter1_97_110_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_97_110_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_97_110_Closed_Text.style.display='none'; Codehighlighter1_97_110_Open_Image.style.display='inline'; Codehighlighter1_97_110_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Token.isTokenStringValid(request.getParameter(Token.TOKEN_STRING_NAME),&nbsp;request.getSession()))</span><span id=Codehighlighter1_97_110_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"></span><span id=Codehighlighter1_97_110_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">进行正常业务流程</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_116_132_Open_Image onclick="this.style.display='none'; Codehighlighter1_116_132_Open_Text.style.display='none'; Codehighlighter1_116_132_Closed_Image.style.display='inline'; Codehighlighter1_116_132_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_116_132_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_116_132_Closed_Text.style.display='none'; Codehighlighter1_116_132_Open_Image.style.display='inline'; Codehighlighter1_116_132_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">else</span><span id=Codehighlighter1_116_132_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"></span><span id=Codehighlighter1_116_132_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">进行防重复提交处理流程</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>完毕。</p>
<img src ="http://www.blogjava.net/mashiguang/aggbug/138324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mashiguang/" target="_blank">mashiguang</a> 2007-08-21 11:45 <a href="http://www.blogjava.net/mashiguang/archive/2007/08/21/138324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet使用技巧,给臃肿的web.xml瘦身.</title><link>http://www.blogjava.net/mashiguang/archive/2007/07/06/128653.html</link><dc:creator>mashiguang</dc:creator><author>mashiguang</author><pubDate>Fri, 06 Jul 2007 11:17:00 GMT</pubDate><guid>http://www.blogjava.net/mashiguang/archive/2007/07/06/128653.html</guid><wfw:comment>http://www.blogjava.net/mashiguang/comments/128653.html</wfw:comment><comments>http://www.blogjava.net/mashiguang/archive/2007/07/06/128653.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/mashiguang/comments/commentRss/128653.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mashiguang/services/trackbacks/128653.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以往每添加一个servlet就要在web.xml里添加&lt;servlet&gt;&lt;servlet-mapping&gt;,随着项目的进度,servlet数目越来越可观.<br>web.xml里也密密麻麻的排满了&lt;servlet&gt;&lt;servlet-mapping&gt;这些食之无味弃之崩溃的东西,有一种方法可以改善这种境况.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在web.xml里添加如下的配置:
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">InvokerServlet</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.catalina.servlets.InvokerServlet<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">init-param</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">debug</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">param-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param-value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">param-value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">init-param</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">load-on-startup</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">-1</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">load-on-startup</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">InvokerServlet</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">url-pattern</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/servlet/*</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">url-pattern</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-mapping</span><span style="COLOR: #0000ff">&gt;</span></div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok,现在web.xml里保留这一个servlet配置就可以满足所有的servlet调用了,比如调用UserManagerService这个servlet,在页面表单里这样写:
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">form&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="f"</span><span style="COLOR: #ff0000">&nbsp;method</span><span style="COLOR: #0000ff">="post"</span><span style="COLOR: #ff0000">&nbsp;action</span><span style="COLOR: #0000ff">="/servlet/com.mashiguang.servlet.UserManagerService"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">submit</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">form</span><span style="COLOR: #0000ff">&gt;</span></div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注意表单action "/servlet/"后面是这个servlet class的全名.
<img src ="http://www.blogjava.net/mashiguang/aggbug/128653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mashiguang/" target="_blank">mashiguang</a> 2007-07-06 19:17 <a href="http://www.blogjava.net/mashiguang/archive/2007/07/06/128653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>