<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-26010814</id><updated>2012-02-17T09:57:40.896+08:00</updated><category term='Project Note'/><category term='J2EE、Spring、Java、面向对象编程、面向抽象编程、IoC'/><title type='text'>Thinking in Jawf</title><subtitle type='html'>You should have your own thought!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26010814.post-3484424077680512873</id><published>2009-06-25T13:15:00.006+08:00</published><updated>2009-06-25T14:01:12.502+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.7)</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_Fi3iagE9mE0/SkMSVDrPe5I/AAAAAAAABR4/FA-yLlA1sXk/s1600-h/2008112309451826.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5351140935219510162" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 160px" alt="" src="http://1.bp.blogspot.com/_Fi3iagE9mE0/SkMSVDrPe5I/AAAAAAAABR4/FA-yLlA1sXk/s200/2008112309451826.png" border="0" /&gt;&lt;/a&gt; &lt;span style="color:#330099;"&gt;今天，项目管理变更：项目组织架构从采用maven管理的SCM(Software Configuration Management)变为Ant（或说倒退到了Ant）。原因, 为SIT做准备，maven 部署到weblogic是没什么问题，但项目大了，control使得不是那么理想，经常会有些莫名的问题，所以用ant部署到weblogic使得更简单透明！？ &lt;/span&gt;&lt;span style="color:#330099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="color:#330099;"&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Note Date:2008-12-01&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-3484424077680512873?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/3484424077680512873/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=3484424077680512873' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/3484424077680512873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/3484424077680512873'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2009/06/project-note17.html' title='Project Note(1.7)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Fi3iagE9mE0/SkMSVDrPe5I/AAAAAAAABR4/FA-yLlA1sXk/s72-c/2008112309451826.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-2193038607764299755</id><published>2009-03-10T12:58:00.003+08:00</published><updated>2009-03-10T13:11:48.203+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.6)</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102); font-family: helvetica; font-size: 13px; line-height: 18px; "&gt;Before the performance or coding in the module of your project, IDENTITY of indicating whether you can do the process,or influene the other process, such as whether is completed or terminated and what you should change others. All of this IDENTITY should be marked and make coder or designer clearly.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102); font-family: helvetica; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102); font-family: helvetica; font-size: 13px; line-height: 18px; "&gt;Note Date:2008-11-22&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-2193038607764299755?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/2193038607764299755/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=2193038607764299755' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/2193038607764299755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/2193038607764299755'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2009/03/project-note16.html' title='Project Note(1.6)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-5729108609317329822</id><published>2009-03-10T12:54:00.002+08:00</published><updated>2009-06-25T14:01:12.502+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.5)</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102); font-family: helvetica; font-size: 13px; line-height: 18px; "&gt;Java的引用（reference）本质上与C指针没什么区别，使用引用时，实例的值发生变化，其他引用所指向的依然是这个发生了变化的实例。所以使用时需特别谨慎。&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102); font-family: helvetica; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102); font-family: helvetica; font-size: 13px; line-height: 18px; "&gt;Note Date:2008-11-11&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-5729108609317329822?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/5729108609317329822/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=5729108609317329822' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/5729108609317329822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/5729108609317329822'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2009/03/project-note15.html' title='Project Note(1.5)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-4850576313262865871</id><published>2009-03-10T12:42:00.004+08:00</published><updated>2009-03-10T12:54:41.740+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.4)</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 102);   line-height: 18px; font-family:helvetica;font-size:13px;"&gt;When Project is going to carry out&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);   line-height: normal; font-family:Georgia;font-size:16px;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 102);   line-height: 18px; font-family:helvetica;font-size:13px;"&gt; SIT, Team Leader will try to control the quality of his/her code before SIT. It is IIT. Team Leader will asked his/her developers to test the code each other. But it didn't take effect nutil the Team Leader make a plan, and espercially required the man/woman whom to be tested site beside the tester.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 102);   line-height: 18px;font-family:helvetica;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 102);   line-height: 18px; font-family:helvetica;font-size:13px;"&gt;Note Date:2008-11-3&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-4850576313262865871?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/4850576313262865871/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=4850576313262865871' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/4850576313262865871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/4850576313262865871'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2009/03/project-note13.html' title='Project Note(1.4)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-8855845273272441396</id><published>2009-03-09T10:10:00.003+08:00</published><updated>2009-03-09T10:53:53.943+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.3)</title><content type='html'>&lt;span class="Apple-style-span"   style="color: rgb(32, 64, 99);   line-height: 18px; font-family:helvetica;font-size:13px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;1. When meeting with process application, we should control the process's transection when it canceled, system will roll back.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;2. In a progress of application, there should be several status stand for application status as "Draft", "Submited", "Processing", "Accepted", "Rejected".&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;Note Date:2008-10-20&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-8855845273272441396?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/8855845273272441396/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=8855845273272441396' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/8855845273272441396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/8855845273272441396'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2009/03/project-note05.html' title='Project Note(1.3)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-8078660124061477324</id><published>2009-03-09T09:31:00.002+08:00</published><updated>2009-03-09T10:53:32.952+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.2)</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;When project is going to completed, so there is no longer needing so many developer. So the PM will go to release the developer...&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;Note Date: 2008-10-13&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-8078660124061477324?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/8078660124061477324/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=8078660124061477324' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/8078660124061477324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/8078660124061477324'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2009/03/project-note04.html' title='Project Note(1.2)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-220342510423377483</id><published>2008-12-23T13:13:00.006+08:00</published><updated>2009-03-09T10:59:17.172+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(1.1)</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;Interface for interacting:&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;S1-Sub-Module&lt;/span&gt;--&lt;/div&gt;&lt;div&gt;                            --- &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;S2-Sub-Module          &lt;/span&gt;---&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;                                         - --&lt;span class="Apple-style-span" style="color: rgb(102, 0, 204);"&gt;M1 Module -&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;S3-Sub-Module&lt;/span&gt;      ---&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;                                   -&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;                                                         |&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;Common API    &lt;/span&gt;---&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;                                         -&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       &lt;span class="Apple-style-span" style="color: rgb(255, 204, 0);"&gt;  |&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;                                                |                 &lt;/div&gt;&lt;div&gt;     &lt;span class="Apple-style-span" style="color: rgb(255, 204, 51);"&gt;When S3 call for S2's function.&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;                -&lt;br /&gt;&lt;/div&gt;&lt;div&gt;                                                            |                    -&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;Project&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;       &lt;/span&gt;                                                                     -&lt;/div&gt;&lt;div&gt;                                                   &lt;span class="Apple-style-span" style="color: rgb(102, 0, 204);"&gt; M2 Module -    -&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;       &lt;/span&gt;                                                     |              -&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;                                           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 0, 204);"&gt;Common API  -&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;                                                       &lt;span class="Apple-style-span" style="color: rgb(255, 204, 0);"&gt;   |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;     &lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;                     &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 204, 51); "&gt;When M1 call for M2's function.&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 102);   line-height: 18px; font-family:helvetica;font-size:13px;"&gt;Note Date:2008-8-5&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-220342510423377483?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/220342510423377483/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=220342510423377483' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/220342510423377483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/220342510423377483'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2008/12/project-note11.html' title='Project Note(1.1)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-3922571583508380899</id><published>2008-12-23T12:55:00.003+08:00</published><updated>2008-12-23T13:25:09.185+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(0.3)</title><content type='html'>做外包的确是件仔细的活。在画UI时，其实很需要仔细留意需求所给的UI文档，它已经做得很仔细了，细节都考虑到了，所以，你所在的环节也不能大意。不然给后面的周期带来的问题所造成的费用会随时间而成正比提升。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note Date:2008-3-19&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-3922571583508380899?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/3922571583508380899/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=3922571583508380899' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/3922571583508380899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/3922571583508380899'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2008/12/project-note03.html' title='Project Note(0.3)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-6538130392893948368</id><published>2008-12-23T12:49:00.002+08:00</published><updated>2008-12-23T13:25:09.185+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(0.2)</title><content type='html'>项目中需要使用的common类或代码是要提前考虑好，而且尽可能多的情况。例如javascript来取时间到输入框，那有的情况就会有：(1)DD/MM/YYYY;(2)DD/MM;(3)MM/YYYY;(4)YYYY;(5)YYYY-MM-DD;...等，所以你要考虑好接口以满足不同的情况的输入。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note Date:2008-3-18&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-6538130392893948368?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/6538130392893948368/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=6538130392893948368' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/6538130392893948368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/6538130392893948368'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2008/12/project-note02.html' title='Project Note(0.2)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-3464176152161034667</id><published>2008-12-23T12:39:00.004+08:00</published><updated>2008-12-23T13:25:09.186+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Note'/><title type='text'>Project Note(0.1)</title><content type='html'>Project Manager或Team Leader或相关人员需要在项目开始前或任务分配前，制定和预测尽可能多的（一切）standard, 不然那将会导致项目进行后很多的头痛的问题。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note Date:2007-3-17&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-3464176152161034667?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/3464176152161034667/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=3464176152161034667' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/3464176152161034667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/3464176152161034667'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2008/12/project-note01.html' title='Project Note(0.1)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-5912391230156554211</id><published>2007-04-26T19:41:00.000+08:00</published><updated>2007-04-26T21:15:53.652+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2EE、Spring、Java、面向对象编程、面向抽象编程、IoC'/><title type='text'>从简单实例了解Spring的控制反转IoC(Inversion of Control)</title><content type='html'>&lt;div&gt;&lt;span style="font-size:85%;"&gt;Spring 的核心是IoC，而IoC模式也只是一种思想，很早以前就有了“依赖倒转原则”和“面向抽象编程”，就像Hibernate的ORM思想一样，重要的是学习人家怎么把思想应用到开发上，或框架上上。这样的设计，又一次地把解耦合的思想灌述进来，实在是很精彩的思想。 这里还是让大家从实例来了解和分享IoC把。&lt;br /&gt;以对象导向的方式来设计，依赖反转(Dependency Inversion)的解释为“&lt;span style="color:#0000ff;"&gt;程序不应该依赖实现，而是依赖于抽象接口&lt;/span&gt;”。看以下程序：&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="_21_132_Open_Image" onclick="this.style.display='none'; document.getElementById('_21_132_Open_Text').style.display='none'; document.getElementById('_21_132_Closed_Image').style.display='inline'; document.getElementById('_21_132_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img id="_21_132_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_21_132_Closed_Text').style.display='none'; document.getElementById('_21_132_Open_Image').style.display='inline'; document.getElementById('_21_132_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; Business&lt;/span&gt;&lt;span id="_21_132_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_21_132_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; FloppyWrite writer&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt; FloppyWriter();&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; ...&lt;br /&gt;&lt;img id="_96_129_Open_Image" onclick="this.style.display='none'; document.getElementById('_96_129_Open_Text').style.display='none'; document.getElementById('_96_129_Closed_Image').style.display='inline'; document.getElementById('_96_129_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /&gt;&lt;img id="_96_129_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_96_129_Closed_Text').style.display='none'; document.getElementById('_96_129_Open_Image').style.display='inline'; document.getElementById('_96_129_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; save()&lt;/span&gt;&lt;span id="_96_129_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_96_129_Open_Text"&gt;&lt;span style="font-size:85%;color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; ...&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; writer.saveToFloppy();&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt; }&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000000;"&gt;&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Business类的设计中，存盘的需求依赖于实际的FloppyWrite对象，若想要将存储介质改为USB磁盘，则必须修改Business的程序，无法重用Business类。&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;若&lt;/span&gt;通过接口这样申明一个接口：&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="_30_78_Open_Image" onclick="this.style.display='none'; document.getElementById('_30_78_Open_Text').style.display='none'; document.getElementById('_30_78_Closed_Image').style.display='inline'; document.getElementById('_30_78_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img id="_30_78_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_30_78_Closed_Text').style.display='none'; document.getElementById('_30_78_Open_Image').style.display='inline'; document.getElementById('_30_78_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;interface&lt;/span&gt;&lt;span style="color:#000000;"&gt; IDeviceWriter&lt;/span&gt;&lt;span id="_30_78_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_30_78_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img id="_66_76_Open_Image" onclick="this.style.display='none'; document.getElementById('_66_76_Open_Text').style.display='none'; document.getElementById('_66_76_Closed_Image').style.display='inline'; document.getElementById('_66_76_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /&gt;&lt;img id="_66_76_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_66_76_Closed_Text').style.display='none'; document.getElementById('_66_76_Open_Image').style.display='inline'; document.getElementById('_66_76_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; saveToDevice()&lt;/span&gt;&lt;span id="_66_76_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_66_76_Open_Text"&gt;&lt;span style="font-size:85%;color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt; }&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#3366ff;"&gt;那么&lt;/span&gt;Business类可以这样设计了，遇到存盘时，将其依赖于IDeviceWriter接口，而不是依赖于实际的FloppyWriter这个实现：&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="_21_181_Open_Image" onclick="this.style.display='none'; document.getElementById('_21_181_Open_Text').style.display='none'; document.getElementById('_21_181_Closed_Image').style.display='inline'; document.getElementById('_21_181_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img id="_21_181_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_21_181_Closed_Text').style.display='none'; document.getElementById('_21_181_Open_Image').style.display='inline'; document.getElementById('_21_181_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; Business&lt;/span&gt;&lt;span id="_21_181_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_21_181_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt; IDeviceWriter;&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt;&lt;br /&gt;&lt;img id="_99_124_Open_Image" onclick="this.style.display='none'; document.getElementById('_99_124_Open_Text').style.display='none'; document.getElementById('_99_124_Closed_Image').style.display='inline'; document.getElementById('_99_124_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /&gt;&lt;img id="_99_124_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_99_124_Closed_Text').style.display='none'; document.getElementById('_99_124_Open_Image').style.display='inline'; document.getElementById('_99_124_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; setDeviceWriter(IDeviceWriter writer)&lt;/span&gt;&lt;span id="_99_124_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_99_124_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;.writer&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000000;"&gt;writer;&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt; }&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="_145_179_Open_Image" onclick="this.style.display='none'; document.getElementById('_145_179_Open_Text').style.display='none'; document.getElementById('_145_179_Closed_Image').style.display='inline'; document.getElementById('_145_179_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /&gt;&lt;img id="_145_179_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_145_179_Closed_Text').style.display='none'; document.getElementById('_145_179_Open_Image').style.display='inline'; document.getElementById('_145_179_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; save()&lt;/span&gt;&lt;span id="_145_179_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_145_179_Open_Text"&gt;&lt;span style="font-size:85%;color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; ...&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; writer.saveToDevice();&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt; }&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;这样的设计Business类就&lt;span style="color:#3366ff;"&gt;可以重用了&lt;/span&gt;，倘若要存储至Floppy或USB磁盘，这只需要针对这两种需求分别实现接口即可：&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;针对&lt;/span&gt;Floppy存储设计一个FloppyWriter类：&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="_49_108_Open_Image" onclick="this.style.display='none'; document.getElementById('_49_108_Open_Text').style.display='none'; document.getElementById('_49_108_Closed_Image').style.display='inline'; document.getElementById('_49_108_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img id="_49_108_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_49_108_Closed_Text').style.display='none'; document.getElementById('_49_108_Open_Image').style.display='inline'; document.getElementById('_49_108_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; FloppyWriter implement IDeviceWriter&lt;/span&gt;&lt;span id="_49_108_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_49_108_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img id="_78_106_Open_Image" onclick="this.style.display='none'; document.getElementById('_78_106_Open_Text').style.display='none'; document.getElementById('_78_106_Closed_Image').style.display='inline'; document.getElementById('_78_106_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /&gt;&lt;img id="_78_106_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_78_106_Closed_Text').style.display='none'; document.getElementById('_78_106_Open_Image').style.display='inline'; document.getElementById('_78_106_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; saveToDevice()&lt;/span&gt;&lt;span id="_78_106_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_78_106_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; ...&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;实际存储至Floppy的代码&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000000;"&gt; }&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#3366ff;"&gt;或针对&lt;/span&gt;USB磁盘存储设计一个UsbDiskWriter类：&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="_50_109_Open_Image" onclick="this.style.display='none'; document.getElementById('_50_109_Open_Text').style.display='none'; document.getElementById('_50_109_Closed_Image').style.display='inline'; document.getElementById('_50_109_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img id="_50_109_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_50_109_Closed_Text').style.display='none'; document.getElementById('_50_109_Open_Image').style.display='inline'; document.getElementById('_50_109_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; UsbDiskWriter implement IDeviceWriter&lt;/span&gt;&lt;span id="_50_109_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_50_109_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img id="_79_107_Open_Image" onclick="this.style.display='none'; document.getElementById('_79_107_Open_Text').style.display='none'; document.getElementById('_79_107_Closed_Image').style.display='inline'; document.getElementById('_79_107_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /&gt;&lt;img id="_79_107_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_79_107_Closed_Text').style.display='none'; document.getElementById('_79_107_Open_Image').style.display='inline'; document.getElementById('_79_107_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; saveToDevice()&lt;/span&gt;&lt;span id="_79_107_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-: #808080 1px solidcolor:#808080;" &gt;...&lt;/span&gt;&lt;/span&gt;&lt;span id="_79_107_Open_Text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;{&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; ...&lt;br /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;实际存储至Floppy的代码&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000000;"&gt; }&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#3366ff;"&gt;这样的话&lt;/span&gt;，采用USB磁盘存储只需编写一个配置程序如下：&lt;br /&gt;Business business= new Business();&lt;br /&gt;business.setDeviceWriter(new UsbDiskWriter());&lt;br /&gt;business.save();&lt;br /&gt;而Spring融入这个思想的同时，还将选择实现的配置写入XML，这样更改配置更加方便。&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;现在再来理解下Dependency Inversion的解释：“程序不应该依赖实现，而是程序和实现都要依赖于抽象接口”。&lt;br /&gt;在Martin Fowler的文章中也谈过Dependency Injection(依赖注入)，其分三种实现方式：Interface injection,Setter injection(setter方法注入),Constructor injection(构造时注入)。而这里用到的是 Setter方式，也是Spring鼓励的方式。 &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;是不是已经理解了，是不是感觉心里的特别的舒畅，我也是这样的，很高兴跟大家分享我领悟的！&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_Fi3iagE9mE0/RjCkkpmVAXI/AAAAAAAAAAM/KAvq1Zayrog/s1600-h/11.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5057723331085926770" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 248px; CURSOR: hand; HEIGHT: 144px" height="157" alt="" src="http://2.bp.blogspot.com/_Fi3iagE9mE0/RjCkkpmVAXI/AAAAAAAAAAM/KAvq1Zayrog/s320/11.bmp" width="300" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;现在来看这张图片，进行J2EE开发中的DAO设计时应用上这种依赖关系，不用多说了，图片已经把这种关系解释得很微妙了。&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-5912391230156554211?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/5912391230156554211/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=5912391230156554211' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/5912391230156554211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/5912391230156554211'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2007/04/springiocinversion-of-control.html' title='从简单实例了解Spring的控制反转IoC(Inversion of Control)'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Fi3iagE9mE0/RjCkkpmVAXI/AAAAAAAAAAM/KAvq1Zayrog/s72-c/11.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-116782970181515162</id><published>2007-01-03T21:07:00.000+08:00</published><updated>2007-01-03T21:08:22.120+08:00</updated><title type='text'>Web2.0的腾飞</title><content type='html'>&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;今天看了会《程序员》，看到了软件中国2006风云榜，顺便也到csdn上去看了下，杂志上只有十佳，网站上更多点。带着去看的心境当然是新意的软件或技术，当然现在网站也是软件。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;最让人敏感和心旷神怡的还是Web2.0带来的新奇。基于软件向导模式的豆瓣网 (&lt;/font&gt;&lt;a href="http://www.douban.com"&gt;&lt;font color="#0000ff"&gt;www.douban.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;)，使用Python技术与Web2.0完美结合，能将本质是论坛的东西做成这样是很不错了。当打开爱迪网(&lt;/font&gt;&lt;a href="http://www.aiddi.com"&gt;&lt;font color="#0000ff"&gt;www.aiddi.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;)后，其耳目一新的Web网页竟然成了软件UI，这正是他的主题：i桌面--在线桌面，个人门户。虽然其美化成分过多，但还是没有盖过它的前台技术。Rss与Ajax技术的结合得如此成熟，看到他的创始人竟然在XML领域积累了5年的经验,那的确是该将技术通过这样表达出来阿。还有我要地图网(&lt;/font&gt;&lt;a href="http://www.51ditu.com"&gt;&lt;font color="#0000ff"&gt;www.51ditu.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;),让我在国内终于看到了能与googlemap比的地图网。还有很多精彩的网站我就不一一去说了。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;看到这些，只能说Web2.0在腾飞，web2.0让网站的开发越来越向软件开发靠近了，新颖的东西甚至让人称口叫绝。当然，在学别人技术的同时，我们程序员也得耳听八方，眼观四海，新颖的东西就在我们创造的一瞬间，那就是创新了，像feedsky(&lt;/font&gt;&lt;a href="http://www.feedsky.com"&gt;&lt;font color="#0000ff"&gt;www.feedsky.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;)，抓虾(&lt;/font&gt;&lt;a href="http://www.zhuaxia.com"&gt;&lt;font color="#0000ff"&gt;www.zhuaxia.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;)，clocklink(&lt;/font&gt;&lt;a href="http://www.clocklink.com"&gt;&lt;font color="#0000ff"&gt;www.clocklink.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;这是国外的)都是在web发展中，随blog的普及，为web贡献出来的，当然贡献也是给自己创造财富，所以想自己创业的Programmer们要有自己的感觉并看准时机，对软件界发展的熟悉可能会给你提供这个感觉。风云榜上的10佳最具创新技术的奇虎360安全卫士的创始人兼CEO周鸿袆，应该就是这样的人。看到和听到流氓软件的横行与反流氓软件的呼唤，而自己又是熟悉流氓软件的创作者，果断地离开雅虎，成立奇虎，果然成功了，360安全卫士的名声还打得这么响。更有趣的是猎户星在线写诗机(&lt;/font&gt;&lt;a href="http://www.dopoem.com"&gt;&lt;font color="#0000ff"&gt;www.dopoem.com&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff"&gt;)，以前只有听说过还没真正注册了去尝试下，今天顺便就注册并&amp;ldquo;写&amp;rdquo;了首诗，写出来还蛮搞笑的，很明显他是拥有庞大的数据库和复杂的算法，然后来拼接用户输入的关键词。室友Byron看到了，也注册了个，一口气&amp;ldquo;写&amp;rdquo;了5首。Web和应用程序开发的结合又一次展现在用户面前。而猎户星在线写诗机的创始人却抓住了这个机遇。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;看了一些，也思考了一些，好像这些也都是做一个成功的人的哲理。恩，学习又开始有动力和目标了。&amp;nbsp;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-116782970181515162?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/116782970181515162/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=116782970181515162' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782970181515162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782970181515162'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2007/01/web20.html' title='Web2.0的腾飞'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-116782963437180718</id><published>2007-01-03T21:05:00.000+08:00</published><updated>2007-01-03T21:07:15.343+08:00</updated><title type='text'>对登陆filter的小研究</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#3366ff"&gt;最近在给贫困生管理网站添加登录时尝试了使用过滤器，一直寻找质料时针对的url过滤都是&amp;lt;url-pattern&amp;gt;/LoginServlet&amp;lt;/url-pattern&amp;gt;(举例)或&amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;,也就是说都是针对单个对Servlet和所有的url 进行过滤，因为使用&amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;过滤比较省事，尝试和调试了很久，发现行不通，因为当你登录的&amp;lt;首页&amp;gt;得到请求时，/*会针对所有的url过滤，包括图片、css、js等通通要过滤下，所以在使用/*的时候要将过滤器写得庞大下，要将url分解，让某些url直接通过，若为了偷懒，也可以如以下这样做:&lt;/font&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;LoginChecker&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-class&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;filter.LoginChecker&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-class&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;init-param&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;param-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;targetURI&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;param-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;param-value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/index.jsp&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;param-value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;init-param&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;LoginChecker&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/LoginServlet&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;LoginChecker&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/H00101servlet&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;LoginChecker&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/common/control.jsp&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#3366ff"&gt;对特定的url,如Servlet,jsp文件,进行过滤,这样做又带来了一些麻烦,就是要把所有的Servlet通通给添进来。不过在配置Servlet的时候也可以这样配置：&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;LoginCheckr&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/servlet/LoginCheckr&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;H00101servlet&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/servlet/H00101servlet&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;servlet-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;然后配置filter-mapping:&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;LoginChecker&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/servlet/*&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;url-pattern&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;filter-mapping&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;font color="#3366ff"&gt;这样倒是省了不少事。&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="_0_225_Open_Image" onclick="this.style.display='none'; document.getElementById('_0_225_Open_Text').style.display='none'; document.getElementById('_0_225_Closed_Image').style.display='inline'; document.getElementById('_0_225_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_0_225_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_0_225_Closed_Text').style.display='none'; document.getElementById('_0_225_Open_Image').style.display='inline'; document.getElementById('_0_225_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;span id="_0_225_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"&gt;/**&amp;nbsp;*/&lt;/span&gt;&lt;span id="_0_225_Open_Text"&gt;&lt;span style="COLOR: #008000"&gt;/**&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;附加我用到的LoginChecker.java&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;package&amp;nbsp;filter;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;import&amp;nbsp;java.io.*;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;import&amp;nbsp;javax.servlet.*;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;import&amp;nbsp;javax.servlet.http.*;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;/**&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;*&amp;nbsp;对到达web.xml中配置了的某些请求进行过滤，登录过的可以通过,&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;*登录中的可以到达指定位置，未登陆的转向登陆页面&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;*&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #808080"&gt;@author&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;Jawf&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;*&amp;nbsp;@Team&amp;nbsp;Passion.Homsoft&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img id="_271_2137_Open_Image" onclick="this.style.display='none'; document.getElementById('_271_2137_Open_Text').style.display='none'; document.getElementById('_271_2137_Closed_Image').style.display='inline'; document.getElementById('_271_2137_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_271_2137_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_271_2137_Closed_Text').style.display='none'; document.getElementById('_271_2137_Open_Image').style.display='inline'; document.getElementById('_271_2137_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;LoginChecker&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;implements&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;Filter&amp;nbsp;&lt;/span&gt;&lt;span id="_271_2137_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"&gt;...&lt;/span&gt;&lt;span id="_271_2137_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ServletContext&amp;nbsp;context;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;String&amp;nbsp;targetURI;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img id="_397_492_Open_Image" onclick="this.style.display='none'; document.getElementById('_397_492_Open_Text').style.display='none'; document.getElementById('_397_492_Closed_Image').style.display='inline'; document.getElementById('_397_492_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_397_492_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_397_492_Closed_Text').style.display='none'; document.getElementById('_397_492_Open_Image').style.display='inline'; document.getElementById('_397_492_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;init(FilterConfig&amp;nbsp;config)&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;throws&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;ServletException&amp;nbsp;&lt;/span&gt;&lt;span id="_397_492_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"&gt;...&lt;/span&gt;&lt;span id="_397_492_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;config.getServletContext();&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;targetURI&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;config.getInitParameter(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;targetURI&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;doFilter(ServletRequest&amp;nbsp;request,&amp;nbsp;ServletResponse&amp;nbsp;response,&lt;br /&gt;&lt;img id="_626_2105_Open_Image" onclick="this.style.display='none'; document.getElementById('_626_2105_Open_Text').style.display='none'; document.getElementById('_626_2105_Closed_Image').style.display='inline'; document.getElementById('_626_2105_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_626_2105_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_626_2105_Closed_Text').style.display='none'; document.getElementById('_626_2105_Open_Image').style.display='inline'; document.getElementById('_626_2105_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FilterChain&amp;nbsp;chain)&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;throws&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;IOException,&amp;nbsp;ServletException&amp;nbsp;&lt;/span&gt;&lt;span id="_626_2105_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"&gt;...&lt;/span&gt;&lt;span id="_626_2105_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpServletRequest&amp;nbsp;httpRequest&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(HttpServletRequest)&amp;nbsp;request;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpServletResponse&amp;nbsp;httpResponse&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(HttpServletResponse)&amp;nbsp;response;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpSession&amp;nbsp;session&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;httpRequest.getSession(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;false&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img id="_840_1392_Open_Image" onclick="this.style.display='none'; document.getElementById('_840_1392_Open_Text').style.display='none'; document.getElementById('_840_1392_Closed_Image').style.display='inline'; document.getElementById('_840_1392_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_840_1392_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_840_1392_Closed_Text').style.display='none'; document.getElementById('_840_1392_Open_Image').style.display='inline'; document.getElementById('_840_1392_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(session&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;!=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;null&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span id="_840_1392_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"&gt;...&lt;/span&gt;&lt;span id="_840_1392_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;login&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(String)&amp;nbsp;session.getAttribute(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Login&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img id="_927_1026_Open_Image" onclick="this.style.display='none'; document.getElementById('_927_1026_Open_Text').style.display='none'; document.getElementById('_927_1026_Closed_Image').style.display='inline'; document.getElementById('_927_1026_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_927_1026_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_927_1026_Closed_Text').style.display='none'; document.getElementById('_927_1026_Open_Image').style.display='inline'; document.getElementById('_927_1026_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(login.equals(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;OK&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;))&amp;nbsp;&lt;/span&gt;&lt;span id="_927_1026_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"&gt;...&lt;/span&gt;&lt;span id="_927_1026_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;logined&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chain.doFilter(httpRequest,&amp;nbsp;httpResponse);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;br /&gt;&lt;img id="_1063_1339_Open_Image" onclick="this.style.display='none'; document.getElementById('_1063_1339_Open_Text').style.display='none'; document.getElementById('_1063_1339_Closed_Image').style.display='inline'; document.getElementById('_1063_1339_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_1063_1339_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1063_1339_Closed_Text').style.display='none'; document.getElementById('_1063_1339_Open_Image').style.display='inline'; document.getElementById('_1063_1339_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;else&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(login.equals(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;logining&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;))&amp;nbsp;&lt;/span&gt;&lt;span id="_1063_1339_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"&gt;...&lt;/span&gt;&lt;span id="_1063_1339_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;1:&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;String(httpRequest.getRequestURI()));&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;String(httpRequest.getRequestURI())&lt;br /&gt;&lt;img id="_1222_1334_Open_Image" onclick="this.style.display='none'; document.getElementById('_1222_1334_Open_Text').style.display='none'; document.getElementById('_1222_1334_Closed_Image').style.display='inline'; document.getElementById('_1222_1334_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_1222_1334_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1222_1334_Closed_Text').style.display='none'; document.getElementById('_1222_1334_Open_Image').style.display='inline'; document.getElementById('_1222_1334_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.equals(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;/ZDBWeb/LoginServlet&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;))&amp;nbsp;&lt;/span&gt;&lt;span id="_1222_1334_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"&gt;...&lt;/span&gt;&lt;span id="_1222_1334_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;logining...&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chain.doFilter(httpRequest,&amp;nbsp;httpResponse);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img id="_1346_1351_Open_Image" onclick="this.style.display='none'; document.getElementById('_1346_1351_Open_Text').style.display='none'; document.getElementById('_1346_1351_Closed_Image').style.display='inline'; document.getElementById('_1346_1351_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_1346_1351_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1346_1351_Closed_Text').style.display='none'; document.getElementById('_1346_1351_Open_Image').style.display='inline'; document.getElementById('_1346_1351_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;else&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="_1346_1351_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"&gt;...&lt;/span&gt;&lt;span id="_1346_1351_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session.removeAttribute(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;Login&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img id="_1399_1637_Open_Image" onclick="this.style.display='none'; document.getElementById('_1399_1637_Open_Text').style.display='none'; document.getElementById('_1399_1637_Closed_Image').style.display='inline'; document.getElementById('_1399_1637_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_1399_1637_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1399_1637_Closed_Text').style.display='none'; document.getElementById('_1399_1637_Open_Image').style.display='inline'; document.getElementById('_1399_1637_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;else&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span id="_1399_1637_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"&gt;...&lt;/span&gt;&lt;span id="_1399_1637_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;not&amp;nbsp;logined&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;2:&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;String(httpRequest.getRequestURI()));&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;!&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;String(httpRequest.getRequestURI())&lt;br /&gt;&lt;img id="_1583_1630_Open_Image" onclick="this.style.display='none'; document.getElementById('_1583_1630_Open_Text').style.display='none'; document.getElementById('_1583_1630_Closed_Image').style.display='inline'; document.getElementById('_1583_1630_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_1583_1630_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1583_1630_Closed_Text').style.display='none'; document.getElementById('_1583_1630_Open_Image').style.display='inline'; document.getElementById('_1583_1630_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.equals(targetURI)))&amp;nbsp;&lt;/span&gt;&lt;span id="_1583_1630_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"&gt;...&lt;/span&gt;&lt;span id="_1583_1630_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;request.setAttribute(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;msg&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;请先登录!&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&amp;nbsp;httpRequest.getRequestDispatcher(targetURI).forward(httpRequest,httpResponse);&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuffer&amp;nbsp;requestURL&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;httpRequest.getRequestURL();&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;query&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;httpRequest.getQueryString();&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;3:&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;query);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(query&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;!=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;null&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestURL.append(query);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;httpRequest.setAttribute(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;originalURL&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;String(requestURL));&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;4:&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;targetURI);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;httpRequest.getRequestDispatcher(targetURI).forward(httpRequest,&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;httpResponse);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img id="_2131_2135_Open_Image" onclick="this.style.display='none'; document.getElementById('_2131_2135_Open_Text').style.display='none'; document.getElementById('_2131_2135_Closed_Image').style.display='inline'; document.getElementById('_2131_2135_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_2131_2135_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_2131_2135_Closed_Text').style.display='none'; document.getElementById('_2131_2135_Open_Image').style.display='inline'; document.getElementById('_2131_2135_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;destroy()&amp;nbsp;&lt;/span&gt;&lt;span id="_2131_2135_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"&gt;...&lt;/span&gt;&lt;span id="_2131_2135_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;font color="#ff00ff"&gt;附：&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;一、Servlet过滤器的概念：&lt;br /&gt;***************************************************************************************&lt;br /&gt;Servlet过滤器是在Java Servlet规范2.3中定义的，它能够对Servlet容器的请求和响应对象进行检查和修改。　　　&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Servlet过滤器本身并不产生请求和响应对象，它只能提供过滤作用。Servlet过期能够在Servlet被调用之前检查Request对象，修改Request Header和Request内容；在Servlet被调用之后检查Response对象，修改Response Header和Response内容。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Servlet过期负责过滤的Web组件可以是Servlet、JSP或者HTML文件。　&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;二、Servlet过滤器的特点：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．Servlet过滤器可以检查和修改ServletRequest和ServletResponse对象&lt;br /&gt;B．Servlet过滤器可以被指定和特定的URL关联，只有当客户请求访问该URL时，才会触发过滤器&lt;br /&gt;C．Servlet过滤器可以被串联在一起，形成管道效应，协同修改请求和响应对象&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;三、Servlet过滤器的作用：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．查询请求并作出相应的行动。&lt;br /&gt;B．阻塞请求-响应对，使其不能进一步传递。&lt;br /&gt;C．修改请求的头部和数据。用户可以提供自定义的请求。&lt;br /&gt;D．修改响应的头部和数据。用户可以通过提供定制的响应版本实现。&lt;br /&gt;E．与外部资源进行交互。&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;四、Servlet过滤器的适用场合：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．认证过滤&lt;br /&gt;B．登录和审核过滤&lt;br /&gt;C．图像转换过滤 &lt;br /&gt;D．数据压缩过滤 &lt;br /&gt;E．加密过滤 &lt;br /&gt;F．令牌过滤 &lt;br /&gt;G．资源访问触发事件过滤 &lt;br /&gt;H．XSL/T过滤 &lt;br /&gt;I．Mime-type过滤&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;五、Servlet过滤器接口的构成：&lt;br /&gt;***************************************************************************************&lt;br /&gt;所有的Servlet过滤器类都必须实现javax.servlet.Filter接口。这个接口含有3个过滤器类必须实现的方法：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;A.init(FilterConfig)：&lt;br /&gt;这是Servlet过滤器的初始化方法，Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数&lt;/p&gt;&lt;br /&gt;&lt;p&gt;B.doFilter(ServletRequest,ServletResponse,FilterChain)：&lt;br /&gt;这个方法完成实际的过滤操作，当客户请求访问于过滤器关联的URL时，Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器&lt;/p&gt;&lt;br /&gt;&lt;p&gt;B.destroy()：&lt;br /&gt;Servlet容器在销毁过滤器实例前调用该方法，这个方法中可以释放Servlet过滤器占用的资源&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;六、Servlet过滤器的创建步骤：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．实现javax.servlet.Filter接口&lt;br /&gt;B．实现init方法，读取过滤器的初始化函数&lt;br /&gt;C．实现doFilter方法，完成对请求或过滤的响应&lt;br /&gt;D．调用FilterChain接口对象的doFilter方法，向后续的过滤器传递请求或响应&lt;br /&gt;E．销毁过滤器&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;七、Servlet过滤器对请求的过滤：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．Servlet容器创建一个过滤器实例&lt;br /&gt;B．过滤器实例调用init方法，读取过滤器的初始化参数&lt;br /&gt;C．过滤器实例调用doFilter方法，根据初始化参数的值判断该请求是否合法&lt;br /&gt;D．如果该请求不合法则阻塞该请求&lt;br /&gt;E．如果该请求合法则调用chain.doFilter方法将该请求向后续传递&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;八、Servlet过滤器对响应的过滤：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．过滤器截获客户端的请求&lt;br /&gt;B．重新封装ServletResponse，在封装后的ServletResponse中提供用户自定义的输出流&lt;br /&gt;C．将请求向后续传递&lt;br /&gt;D．Web组件产生响应&lt;br /&gt;E．从封装后的ServletResponse中获取用户自定义的输出流&lt;br /&gt;F．将响应内容通过用户自定义的输出流写入到缓冲流中&lt;br /&gt;G．在缓冲流中修改响应的内容后清空缓冲流，输出响应内容&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;九、Servlet过滤器的发布：&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．发布Servlet过滤器时，必须在web.xml文件中加入&amp;lt;filter&amp;gt;元素和&amp;lt;filter-mapping&amp;gt;元素。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;B．&amp;lt;filter&amp;gt;元素用来定义一个过滤器：&lt;br /&gt;属性&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 含义&lt;br /&gt;filter-name&amp;nbsp;&amp;nbsp;&amp;nbsp; 指定过滤器的名字&lt;br /&gt;filter-class&amp;nbsp;&amp;nbsp;&amp;nbsp; 指定过滤器的类名&lt;br /&gt;init-param&amp;nbsp;&amp;nbsp;&amp;nbsp; 为过滤器实例提供初始化参数，可以有多个&lt;/p&gt;&lt;br /&gt;&lt;p&gt;C．&amp;lt;filter-mapping&amp;gt;元素用于将过滤器和URL关联：&lt;br /&gt;属性&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 含义&lt;br /&gt;filter-name&amp;nbsp;&amp;nbsp;&amp;nbsp; 指定过滤器的名字&lt;br /&gt;url-pattern&amp;nbsp;&amp;nbsp;&amp;nbsp; 指定和过滤器关联的URL，为&amp;rdquo;/*&amp;rdquo;表示所有URL&lt;br /&gt;***************************************************************************************&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;十一、Servlet过滤器使用的注意事项&lt;br /&gt;***************************************************************************************&lt;br /&gt;A．由于Filter、FilterConfig、FilterChain都是位于javax.servlet包下，并非HTTP包所特有的，所以其中所用到的请求、响应对象ServletRequest、ServletResponse在使用前都必须先转换成HttpServletRequest、HttpServletResponse再进行下一步操作。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;B．在web.xml中配置Servlet和Servlet过滤器，应该先声明过滤器元素，再声明Servlet元素&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;C．如果要在Servlet中观察过滤器生成的日志，应该确保在server.xml的localhost对应的&amp;lt;host&amp;gt;元素中配置如下&amp;lt;logger&amp;gt;元素：&lt;br /&gt;&amp;lt;Logger className = &amp;ldquo;org.apache.catalina.logger.FileLogger&amp;rdquo;&lt;br /&gt;directory = &amp;ldquo;logs&amp;rdquo;prefix = &amp;ldquo;localhost_log.&amp;rdquo;suffix=&amp;rdquo;.txt&amp;rdquo;&lt;br /&gt;timestamp = &amp;ldquo;true&amp;rdquo;/&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-116782963437180718?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/116782963437180718/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=116782963437180718' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782963437180718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782963437180718'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2007/01/filter.html' title='对登陆filter的小研究'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-116782909269988290</id><published>2007-01-03T20:56:00.000+08:00</published><updated>2007-01-03T20:58:12.760+08:00</updated><title type='text'>CSS原来还可以这样用</title><content type='html'>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#3366ff"&gt;最近给学院网站添了个分栏，表面上很简单，却还含了不少技术成分。当然这东西是通过js+css实现的。首先是js的编写，不过算是简单的，重头戏是css的编写。&lt;br /&gt;&lt;/font&gt;&lt;font color="#000080"&gt;先附上js:&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#000080"&gt;这里是是显示信息的两栏，class为activecontent表示层可见，hidedencontent反之，写在css中。&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;span style="COLOR: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;script&amp;nbsp;type&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;text/javascript&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabCount&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;2&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;changeTab(tabIndex)&lt;br /&gt;&lt;img id="_87_713_Open_Image" onclick="this.style.display='none'; document.getElementById('_87_713_Open_Text').style.display='none'; document.getElementById('_87_713_Closed_Image').style.display='inline'; document.getElementById('_87_713_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_87_713_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_87_713_Closed_Text').style.display='none'; document.getElementById('_87_713_Open_Image').style.display='inline'; document.getElementById('_87_713_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="_87_713_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"&gt;...&lt;/span&gt;&lt;span id="_87_713_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;for&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;1&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;tabCount;&amp;nbsp;i&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;++&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;br /&gt;&lt;img id="_137_707_Open_Image" onclick="this.style.display='none'; document.getElementById('_137_707_Open_Text').style.display='none'; document.getElementById('_137_707_Closed_Image').style.display='inline'; document.getElementById('_137_707_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_137_707_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_137_707_Closed_Text').style.display='none'; document.getElementById('_137_707_Open_Image').style.display='inline'; document.getElementById('_137_707_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="_137_707_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"&gt;...&lt;/span&gt;&lt;span id="_137_707_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tab&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;FenceTab&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;i);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;TopTenContent&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;i);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;marquee&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;marquee&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;i);&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;marquee.start();&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;==&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;tabIndex)&lt;br /&gt;&lt;img id="_403_531_Open_Image" onclick="this.style.display='none'; document.getElementById('_403_531_Open_Text').style.display='none'; document.getElementById('_403_531_Closed_Image').style.display='inline'; document.getElementById('_403_531_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_403_531_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_403_531_Closed_Text').style.display='none'; document.getElementById('_403_531_Open_Image').style.display='inline'; document.getElementById('_403_531_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="_403_531_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"&gt;...&lt;/span&gt;&lt;span id="_403_531_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tab.className&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;active&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content.className&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;activecontent&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;else&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img id="_562_697_Open_Image" onclick="this.style.display='none'; document.getElementById('_562_697_Open_Text').style.display='none'; document.getElementById('_562_697_Closed_Image').style.display='inline'; document.getElementById('_562_697_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" /&gt;&lt;img id="_562_697_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_562_697_Closed_Text').style.display='none'; document.getElementById('_562_697_Open_Image').style.display='inline'; document.getElementById('_562_697_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="_562_697_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"&gt;...&lt;/span&gt;&lt;span id="_562_697_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tab.className&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content.className&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;hiddencontent&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;marquee.stop();&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;script&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="_2_27_Open_Image" onclick="this.style.display='none'; document.getElementById('_2_27_Open_Text').style.display='none'; document.getElementById('_2_27_Closed_Image').style.display='inline'; document.getElementById('_2_27_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_2_27_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_2_27_Closed_Text').style.display='none'; document.getElementById('_2_27_Open_Image').style.display='inline'; document.getElementById('_2_27_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span id="_2_27_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"&gt;...&lt;/span&gt;&lt;span id="_2_27_Open_Text"&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;--&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;begin&amp;nbsp;分栏&amp;nbsp;&amp;nbsp;Author:&amp;nbsp;Jawf&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;--&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;div&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;TopTenContent1&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;class&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;activecontent&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;marquee&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;direction&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;up&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;scrollamount&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;scrolldelay&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;15&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=marquee1&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;onmouseover&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=marquee1.stop()&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;onmouseout&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=marquee1.start()&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img id="_223_238_Open_Image" onclick="this.style.display='none'; document.getElementById('_223_238_Open_Text').style.display='none'; document.getElementById('_223_238_Closed_Image').style.display='inline'; document.getElementById('_223_238_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_223_238_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_223_238_Closed_Text').style.display='none'; document.getElementById('_223_238_Open_Image').style.display='inline'; document.getElementById('_223_238_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span id="_223_238_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"&gt;...&lt;/span&gt;&lt;span id="_223_238_Open_Text"&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;//&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;里面是从数据库中取公告的代码&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;marquee&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;div&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;div&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;TopTenContent2&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;class&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;hiddencontent&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;marquee&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;direction&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;up&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;scrollamount&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;scrolldelay&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;15&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=marquee2&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;onmouseover&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=marquee2.stop()&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;onmouseout&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=marquee2.start()&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;img id="_460_475_Open_Image" onclick="this.style.display='none'; document.getElementById('_460_475_Open_Text').style.display='none'; document.getElementById('_460_475_Closed_Image').style.display='inline'; document.getElementById('_460_475_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_460_475_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_460_475_Closed_Text').style.display='none'; document.getElementById('_460_475_Open_Image').style.display='inline'; document.getElementById('_460_475_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span id="_460_475_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"&gt;...&lt;/span&gt;&lt;span id="_460_475_Open_Text"&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;//&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;里面是从数据库中取通知的代码&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;marquee&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;div&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#000080"&gt;这里是选择哪一栏的标记，我采用的是图片，在css中可以看得出来是切换图片&lt;/font&gt;&amp;nbsp;&lt;font color="#000080"&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;div&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;fence&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;li&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;fence1&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;a&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;FenceTab1&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;onmouseover&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;changeTab(1);&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;onclick&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;return&amp;nbsp;false;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;class&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;active&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;href&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;#&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;img&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;src&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;common/images/spacer.gif&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;alt&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;学院公告&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;width&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;81&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;height&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;20&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;a&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;li&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;li&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;fence2&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;a&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;FenceTab2&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;onmouseover&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;changeTab(2);&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;onclick&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;return&amp;nbsp;false;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;href&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;#&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;img&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;src&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;common/images/spacer.gif&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;alt&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;教学通知&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;width&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;81&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;height&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=&amp;quot;20&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;a&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;li&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;div&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;img id="_405_414_Open_Image" onclick="this.style.display='none'; document.getElementById('_405_414_Open_Text').style.display='none'; document.getElementById('_405_414_Closed_Image').style.display='inline'; document.getElementById('_405_414_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_405_414_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_405_414_Closed_Text').style.display='none'; document.getElementById('_405_414_Open_Image').style.display='inline'; document.getElementById('_405_414_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span id="_405_414_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"&gt;...&lt;/span&gt;&lt;span id="_405_414_Open_Text"&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;--&lt;/span&gt;&lt;span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"&gt;end&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;&amp;nbsp;分栏&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;--&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;附css:&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="_0_24_Open_Image" onclick="this.style.display='none'; document.getElementById('_0_24_Open_Text').style.display='none'; document.getElementById('_0_24_Closed_Image').style.display='inline'; document.getElementById('_0_24_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_0_24_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_0_24_Closed_Text').style.display='none'; document.getElementById('_0_24_Open_Image').style.display='inline'; document.getElementById('_0_24_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;span id="_0_24_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"&gt;/**/&lt;/span&gt;&lt;span id="_0_24_Open_Text"&gt;&lt;span style="COLOR: #008000"&gt;/*&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;begin&amp;nbsp;分栏&amp;nbsp;Author:&amp;nbsp;Jawf&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_29_56_Open_Image" onclick="this.style.display='none'; document.getElementById('_29_56_Open_Text').style.display='none'; document.getElementById('_29_56_Closed_Image').style.display='inline'; document.getElementById('_29_56_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_29_56_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_29_56_Closed_Text').style.display='none'; document.getElementById('_29_56_Open_Image').style.display='inline'; document.getElementById('_29_56_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;ul&amp;nbsp;&lt;/span&gt;&lt;span id="_29_56_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"&gt;{...}&lt;/span&gt;&lt;span id="_29_56_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;padding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;0&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_77_175_Open_Image" onclick="this.style.display='none'; document.getElementById('_77_175_Open_Text').style.display='none'; document.getElementById('_77_175_Closed_Image').style.display='inline'; document.getElementById('_77_175_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_77_175_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_77_175_Closed_Text').style.display='none'; document.getElementById('_77_175_Open_Image').style.display='inline'; document.getElementById('_77_175_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence&lt;/span&gt;&lt;span id="_77_175_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"&gt;{...}&lt;/span&gt;&lt;span id="_77_175_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;height&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;20px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;auto&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;line-height&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;20px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;background-position&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;left&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;text-align&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;left&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_193_274_Open_Image" onclick="this.style.display='none'; document.getElementById('_193_274_Open_Text').style.display='none'; document.getElementById('_193_274_Closed_Image').style.display='inline'; document.getElementById('_193_274_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_193_274_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_193_274_Closed_Text').style.display='none'; document.getElementById('_193_274_Open_Image').style.display='inline'; document.getElementById('_193_274_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;li&amp;nbsp;&lt;/span&gt;&lt;span id="_193_274_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"&gt;{...}&lt;/span&gt;&lt;span id="_193_274_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;display&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;inline&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;overflow&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;hidden&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;list-style-type&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img id="_297_397_Open_Image" onclick="this.style.display='none'; document.getElementById('_297_397_Open_Text').style.display='none'; document.getElementById('_297_397_Closed_Image').style.display='inline'; document.getElementById('_297_397_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_297_397_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_297_397_Closed_Text').style.display='none'; document.getElementById('_297_397_Open_Image').style.display='inline'; document.getElementById('_297_397_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence1&lt;/span&gt;&lt;span id="_297_397_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"&gt;{...}&lt;/span&gt;&lt;span id="_297_397_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;2px&amp;nbsp;0px&amp;nbsp;0px&amp;nbsp;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;padding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;81px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;height&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;20px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;text-align&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;left&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_421_483_Open_Image" onclick="this.style.display='none'; document.getElementById('_421_483_Open_Text').style.display='none'; document.getElementById('_421_483_Closed_Image').style.display='inline'; document.getElementById('_421_483_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_421_483_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_421_483_Closed_Text').style.display='none'; document.getElementById('_421_483_Open_Image').style.display='inline'; document.getElementById('_421_483_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence1&amp;nbsp;a&lt;/span&gt;&lt;span id="_421_483_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"&gt;{...}&lt;/span&gt;&lt;span id="_421_483_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;background&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;url(../images/fence11.gif)&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;bottom&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_515_577_Open_Image" onclick="this.style.display='none'; document.getElementById('_515_577_Open_Text').style.display='none'; document.getElementById('_515_577_Closed_Image').style.display='inline'; document.getElementById('_515_577_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_515_577_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_515_577_Closed_Text').style.display='none'; document.getElementById('_515_577_Open_Image').style.display='inline'; document.getElementById('_515_577_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence1&amp;nbsp;a.active&amp;nbsp;&lt;/span&gt;&lt;span id="_515_577_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"&gt;{...}&lt;/span&gt;&lt;span id="_515_577_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;background&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;url(../images/fence12.gif)&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;bottom&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_614_676_Open_Image" onclick="this.style.display='none'; document.getElementById('_614_676_Open_Text').style.display='none'; document.getElementById('_614_676_Closed_Image').style.display='inline'; document.getElementById('_614_676_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_614_676_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_614_676_Closed_Text').style.display='none'; document.getElementById('_614_676_Open_Image').style.display='inline'; document.getElementById('_614_676_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence1&amp;nbsp;a.active:hover&lt;/span&gt;&lt;span id="_614_676_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"&gt;{...}&lt;/span&gt;&lt;span id="_614_676_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;background&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;url(../images/fence12.gif)&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;bottom&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_698_798_Open_Image" onclick="this.style.display='none'; document.getElementById('_698_798_Open_Text').style.display='none'; document.getElementById('_698_798_Closed_Image').style.display='inline'; document.getElementById('_698_798_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_698_798_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_698_798_Closed_Text').style.display='none'; document.getElementById('_698_798_Open_Image').style.display='inline'; document.getElementById('_698_798_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence2&lt;/span&gt;&lt;span id="_698_798_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"&gt;{...}&lt;/span&gt;&lt;span id="_698_798_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;2px&amp;nbsp;0px&amp;nbsp;0px&amp;nbsp;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;padding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;81px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;height&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;20px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;text-align&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;left&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_822_884_Open_Image" onclick="this.style.display='none'; document.getElementById('_822_884_Open_Text').style.display='none'; document.getElementById('_822_884_Closed_Image').style.display='inline'; document.getElementById('_822_884_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_822_884_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_822_884_Closed_Text').style.display='none'; document.getElementById('_822_884_Open_Image').style.display='inline'; document.getElementById('_822_884_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence2&amp;nbsp;a&lt;/span&gt;&lt;span id="_822_884_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"&gt;{...}&lt;/span&gt;&lt;span id="_822_884_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;background&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;url(../images/fence21.gif)&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;bottom&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_915_977_Open_Image" onclick="this.style.display='none'; document.getElementById('_915_977_Open_Text').style.display='none'; document.getElementById('_915_977_Closed_Image').style.display='inline'; document.getElementById('_915_977_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_915_977_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_915_977_Closed_Text').style.display='none'; document.getElementById('_915_977_Open_Image').style.display='inline'; document.getElementById('_915_977_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence2&amp;nbsp;a.active&lt;/span&gt;&lt;span id="_915_977_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"&gt;{...}&lt;/span&gt;&lt;span id="_915_977_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;background&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;url(../images/fence22.gif)&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;bottom&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_1014_1076_Open_Image" onclick="this.style.display='none'; document.getElementById('_1014_1076_Open_Text').style.display='none'; document.getElementById('_1014_1076_Closed_Image').style.display='inline'; document.getElementById('_1014_1076_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1014_1076_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1014_1076_Closed_Text').style.display='none'; document.getElementById('_1014_1076_Open_Image').style.display='inline'; document.getElementById('_1014_1076_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;#rightbottom&amp;nbsp;#fence2&amp;nbsp;a.active:hover&lt;/span&gt;&lt;span id="_1014_1076_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"&gt;{...}&lt;/span&gt;&lt;span id="_1014_1076_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;background&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;url(../images/fence22.gif)&amp;nbsp;no-repeat&amp;nbsp;left&amp;nbsp;bottom&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;.activecontent&lt;br /&gt;&lt;img id="_1094_1354_Open_Image" onclick="this.style.display='none'; document.getElementById('_1094_1354_Open_Text').style.display='none'; document.getElementById('_1094_1354_Closed_Image').style.display='inline'; document.getElementById('_1094_1354_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1094_1354_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1094_1354_Closed_Text').style.display='none'; document.getElementById('_1094_1354_Open_Image').style.display='inline'; document.getElementById('_1094_1354_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span id="_1094_1354_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"&gt;{...}&lt;/span&gt;&lt;span id="_1094_1354_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;text-align&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;justify&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;padding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;2px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;z-index&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;2&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-top-width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;1px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-right-width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;1px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-bottom-width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;1px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-left-width&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;1px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-top-style&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-right-style&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-bottom-style&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;border-left-style&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img id="_1374_1416_Open_Image" onclick="this.style.display='none'; document.getElementById('_1374_1416_Open_Text').style.display='none'; document.getElementById('_1374_1416_Closed_Image').style.display='inline'; document.getElementById('_1374_1416_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1374_1416_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1374_1416_Closed_Text').style.display='none'; document.getElementById('_1374_1416_Open_Image').style.display='inline'; document.getElementById('_1374_1416_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;.activecontent&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span id="_1374_1416_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"&gt;{...}&lt;/span&gt;&lt;span id="_1374_1416_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;text-decoration&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&amp;nbsp;&amp;nbsp;color&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;#00f&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;.activecontent&amp;nbsp;a:hover&lt;br /&gt;&lt;img id="_1442_1476_Open_Image" onclick="this.style.display='none'; document.getElementById('_1442_1476_Open_Text').style.display='none'; document.getElementById('_1442_1476_Closed_Image').style.display='inline'; document.getElementById('_1442_1476_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1442_1476_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1442_1476_Closed_Text').style.display='none'; document.getElementById('_1442_1476_Open_Image').style.display='inline'; document.getElementById('_1442_1476_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span id="_1442_1476_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"&gt;{...}&lt;/span&gt;&lt;span id="_1442_1476_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text-decoration&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;underline&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;.activecontent&amp;nbsp;ol&lt;br /&gt;&lt;img id="_1497_1588_Open_Image" onclick="this.style.display='none'; document.getElementById('_1497_1588_Open_Text').style.display='none'; document.getElementById('_1497_1588_Closed_Image').style.display='inline'; document.getElementById('_1497_1588_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1497_1588_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1497_1588_Closed_Text').style.display='none'; document.getElementById('_1497_1588_Open_Image').style.display='inline'; document.getElementById('_1497_1588_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span id="_1497_1588_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"&gt;{...}&lt;/span&gt;&lt;span id="_1497_1588_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;5px&amp;nbsp;5px&amp;nbsp;5px&amp;nbsp;25px&amp;nbsp;!important&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;5px&amp;nbsp;5px&amp;nbsp;5px&amp;nbsp;30px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;.activecontent&amp;nbsp;li&lt;br /&gt;&lt;img id="_1609_1646_Open_Image" onclick="this.style.display='none'; document.getElementById('_1609_1646_Open_Text').style.display='none'; document.getElementById('_1609_1646_Closed_Image').style.display='inline'; document.getElementById('_1609_1646_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1609_1646_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1609_1646_Closed_Text').style.display='none'; document.getElementById('_1609_1646_Open_Image').style.display='inline'; document.getElementById('_1609_1646_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span id="_1609_1646_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"&gt;{...}&lt;/span&gt;&lt;span id="_1609_1646_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;0px&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" /&gt;.hiddencontent&lt;br /&gt;&lt;img id="_1664_1685_Open_Image" onclick="this.style.display='none'; document.getElementById('_1664_1685_Open_Text').style.display='none'; document.getElementById('_1664_1685_Closed_Image').style.display='inline'; document.getElementById('_1664_1685_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1664_1685_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1664_1685_Closed_Text').style.display='none'; document.getElementById('_1664_1685_Open_Image').style.display='inline'; document.getElementById('_1664_1685_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span id="_1664_1685_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"&gt;{...}&lt;/span&gt;&lt;span id="_1664_1685_Open_Text"&gt;&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;:&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;nbsp;none&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;&lt;br /&gt;&lt;img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;&lt;br /&gt;&lt;img id="_1687_1696_Open_Image" onclick="this.style.display='none'; document.getElementById('_1687_1696_Open_Text').style.display='none'; document.getElementById('_1687_1696_Closed_Image').style.display='inline'; document.getElementById('_1687_1696_Closed_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" /&gt;&lt;img id="_1687_1696_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('_1687_1696_Closed_Text').style.display='none'; document.getElementById('_1687_1696_Open_Image').style.display='inline'; document.getElementById('_1687_1696_Open_Text').style.display='inline';" alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;/span&gt;&lt;span id="_1687_1696_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"&gt;/**/&lt;/span&gt;&lt;span id="_1687_1696_Open_Text"&gt;&lt;span style="COLOR: #008000"&gt;/*&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;end&amp;nbsp;分栏&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-116782909269988290?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/116782909269988290/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=116782909269988290' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782909269988290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782909269988290'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2007/01/css.html' title='CSS原来还可以这样用'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-116782897022949060</id><published>2007-01-03T20:52:00.000+08:00</published><updated>2007-01-03T20:56:10.243+08:00</updated><title type='text'>初涉Struts</title><content type='html'>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 最近来给学院网站做了点东西，学院网站是采用J2EE Struts框架搭建的，整体感觉就是Struts框架很不错，应用到企业级开发应该很适合。Struts使得整个开发模块很清晰，各层关系也很清晰，当然最主要是体现在控制层，页面转发通过struts-config.xml体现得很清晰。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActionServlet 是框架的核心，应该是Command 部分。ActionServlet(Command)创建并使用Action、ActionForm和ActionForward，而struts-config.xml文件配置该 Command。对于新的业务逻辑可以直接通过创建Action和ActionForm来解决。应用程序的整个逻辑流程都存储在一个分层的文本文件中，使程序员更容易查看和理解。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActionForm 维护 Web 应用程序的会话状态。 ActionForm 是一个抽象类，通过继承它来使用。可能有一个由HTML 表单设置的 UserActionForm，Struts 将使用 HttpServletRequest 中相应的域设置 UserActionForm 的状态没有太多讨厌的 request.getParameter() 调用。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Action 类是业务逻辑的一个包装。 Action 类的用途是将 HttpServletRequest 转换为业务逻辑。要使用Action ，请创建它的子类并覆盖 process() 方法。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Error 类包括 ActionError 和 ActionErrors 。ActionError 封装了单个错误消息。 ActionErrors 是ActionError 类的容器，View 可以使用标记访问这些类。 ActionError 是 Struts 保持错误列表的方式。&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-116782897022949060?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/116782897022949060/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=116782897022949060' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782897022949060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116782897022949060'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2007/01/struts.html' title='初涉Struts'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-116151356658222469</id><published>2006-10-22T18:38:00.000+08:00</published><updated>2006-10-22T18:48:14.866+08:00</updated><title type='text'>Thinking in JSP</title><content type='html'>&lt;p align="left"&gt;&lt;span style="color:#000066;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;以前觉得做网站不怎么样，不过接触jsp后，我改变了我的想法,现在我还是决定把我们的方向Java方向搞好，因为java有个JVM虚拟机，所以开发的程序，可以跨平台使用，jsp本身倒是没什么，但是因为与Java结合起来了，兴起了很多技术，主要是J2EE的开发,从MVC分层架构，到struts，sping，甚至Hibernate,都是把网站要做的事情封装到了Java类中，可读性和移植性以及管理方面都很好，所以觉得java还是蛮好的东西,程序运行可以做到Write Once,Run Anywhere!开发可以做到Learn Once,Write Anywhere!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Faighting!&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-116151356658222469?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/116151356658222469/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=116151356658222469' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116151356658222469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116151356658222469'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2006/10/thinking-in-jsp.html' title='Thinking in JSP'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26010814.post-116073954034684250</id><published>2006-10-13T18:43:00.000+08:00</published><updated>2006-10-13T20:47:30.796+08:00</updated><title type='text'>加入@PASSION</title><content type='html'>&lt;p align="left"&gt;&lt;span style="color:#000066;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;人不应该把好的自己的想法闷在心里，说出来是最好的做法！&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;有时候应该跟大家一起分享，不管小的大的，这样可能别人才会更加了解你！&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alright,Go and try from this day!今天可以说正式加入了@PASSION,大家开了会,商讨了@PASSION刚接不久的5个项目，对我们一些新成员进行了项目分配。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;自从看了Kryptonum的blog，以及@PASSION及成员的Blog后，感受到很浓的气氛向我压过来，What it is?It's the feeling of a Team.自从暑假成立一个团队一起做了个项目后，虽然当时感觉良好，但是当开学后，没任务了，发现团队成员不及从前。正在想做点什么的时候，Kryptonum邀请我加入@PASSION，我犹豫了，我们的团队是Homesoft，我们也有我们的规划和计划。正在了解@PASSION的时候，我看到了他们的blog，虽然以前@PASSION就成立了，但只是建立了个群，然后团队在暑假也是接了个大项目，Kryptonum的个人能力一直是我敬佩的，没想到@PASSION也能够建设得如此壮大，我感觉我们的差距，感觉到是应该放下些东西去加入更好的环境中去，我们要学习的东西还很多，就这样我带领我们的队伍加入了@PASSION，准备开始我们的新的生涯。&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26010814-116073954034684250?l=jawf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jawf.blogspot.com/feeds/116073954034684250/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26010814&amp;postID=116073954034684250' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116073954034684250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26010814/posts/default/116073954034684250'/><link rel='alternate' type='text/html' href='http://jawf.blogspot.com/2006/10/passion.html' title='加入@PASSION'/><author><name>Jawf Neo Lee</name><uri>http://www.blogger.com/profile/14241822631712335903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/_Fi3iagE9mE0/Si066lzeyoI/AAAAAAAABRQ/UgnDCfV4F8U/S220/me2.png'/></author><thr:total>0</thr:total></entry></feed>
