<?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-5471228434533648663</id><updated>2011-08-01T11:36:54.646-07:00</updated><category term='J2ME'/><category term='JQuery'/><category term='Struts'/><category term='JBoss'/><category term='Firefox'/><category term='Subversion'/><category term='Database'/><category term='Eclipse'/><category term='Mac'/><category term='Tools'/><category term='SCJD'/><category term='Smart Card'/><category term='Encryption'/><category term='Java'/><category term='J2EE'/><category term='SCBCD'/><title type='text'>Andy's Notes In Computer Science</title><subtitle type='html'>This blog records some ideas, notes, and information of my works and studies in information technology.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-1000870976517458370</id><published>2010-10-21T01:25:00.000-07:00</published><updated>2010-10-21T01:25:49.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>在Windows 下 JBoss 改成 Windows Service的方式</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: 14pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;b&gt;確定『系統變數』有加入正確的 JAVA_HOME 值&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Arial; font-size: 14pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;img src="file://C:\Documents and Settings\User\Local Settings\Temp\EvernoteCopyBuffer\1e0a4aec-38ce-4f44-b3d5-e552e99a7d25.png" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;複製正確版本的&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;jbosssvc.exe&lt;/b&gt;&lt;/li&gt;&lt;li&gt;在Command Line 上輸入：&lt;br /&gt;cd C:\jboss-5.0.0.GA\bin&lt;br /&gt;service.bat install&lt;/li&gt;&lt;li&gt;在Windows 『服務』的功能下查詢JBoss的服務，調整為『自動』&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-1000870976517458370?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/1000870976517458370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/10/windows-jboss-windows-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1000870976517458370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1000870976517458370'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/10/windows-jboss-windows-service.html' title='在Windows 下 JBoss 改成 Windows Service的方式'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-3031012042322771031</id><published>2010-09-19T06:22:00.001-07:00</published><updated>2010-09-19T06:22:59.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>VirtualBox for running other platforms' softwares on Mac</title><content type='html'>&lt;a href="http://www.virtualbox.org/wiki/Downloads"&gt;http://www.virtualbox.org/wiki/Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's waited for trying~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-3031012042322771031?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/3031012042322771031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/virtualbox-for-running-other-platforms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3031012042322771031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3031012042322771031'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/virtualbox-for-running-other-platforms.html' title='VirtualBox for running other platforms&apos; softwares on Mac'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-3514741634208800453</id><published>2010-09-16T18:46:00.000-07:00</published><updated>2010-09-16T18:46:18.119-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Settting up iPhone connection with a Mac</title><content type='html'>iPhone 3G with CHT Sim:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Update iPhone OS to the latest version&lt;/li&gt;&lt;li&gt;There will be a new 『Ethernet Adapter』 in the Network Configuration&lt;/li&gt;&lt;li&gt;Use it with DHCP and Mac will connect the Internet.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-3514741634208800453?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/3514741634208800453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/settting-up-iphone-connection-with-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3514741634208800453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3514741634208800453'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/settting-up-iphone-connection-with-mac.html' title='Settting up iPhone connection with a Mac'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-8367953468012687165</id><published>2010-09-16T05:26:00.000-07:00</published><updated>2010-09-16T05:26:05.290-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><title type='text'>How to run a SVN Server on Unix? (The Simple Way)</title><content type='html'>This is a little tip to set up SVN server on Mac.&lt;br /&gt;There is no authentication and authorization.&lt;br /&gt;&lt;br /&gt;macde-macbook:/ mac$ &lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;svnserve -help&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;usage: svnserve [-d | -i | -t | -X] [options]&lt;br /&gt;&lt;br /&gt;Valid options:&lt;br /&gt;&amp;nbsp;&lt;b&gt;&amp;nbsp;-d [--daemon] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: daemon mode&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;-i [--inetd] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : inetd mode&lt;br /&gt;&amp;nbsp;&amp;nbsp;-t [--tunnel] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: tunnel mode&lt;br /&gt;&amp;nbsp;&amp;nbsp;-X [--listen-once] &amp;nbsp; &amp;nbsp; &amp;nbsp; : listen-once mode (useful for debugging)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;-r [--root] ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: root of directory to serve&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;-R [--read-only] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : force read only, overriding repository config file&lt;br /&gt;&amp;nbsp;&amp;nbsp;--config-file ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: read configuration from file ARG&lt;br /&gt;&amp;nbsp;&amp;nbsp;--listen-port ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: listen port&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; [mode: daemon, listen-once]&lt;br /&gt;&amp;nbsp;&amp;nbsp;--listen-host ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: listen hostname or IP address&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; [mode: daemon, listen-once]&lt;br /&gt;&amp;nbsp;&amp;nbsp;-T [--threads] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : use threads instead of fork [mode: daemon]&lt;br /&gt;&amp;nbsp;&amp;nbsp;--foreground &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : run in foreground (useful for debugging)&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; [mode: daemon]&lt;br /&gt;&amp;nbsp;&amp;nbsp;--log-file ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : svnserve log file&lt;br /&gt;&amp;nbsp;&amp;nbsp;--pid-file ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : write server process ID to file ARG&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; [mode: daemon, listen-once]&lt;br /&gt;&amp;nbsp;&amp;nbsp;--tunnel-user ARG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: tunnel username (default is current uid's name)&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; [mode: tunnel]&lt;br /&gt;&amp;nbsp;&amp;nbsp;-h [--help] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: display this help&lt;br /&gt;&amp;nbsp;&amp;nbsp;--version &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: show program version information&lt;br /&gt;&lt;br /&gt;&lt;b&gt;-r [--root]&lt;/b&gt; is used to specified the root directory of your SVN server. For an example,&amp;nbsp;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;svnserve -d -r &amp;nbsp;/Users/mac/Dropbox/Repositories/ &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;and you can now connect the server with&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;svn://localhost/III_MIT&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-8367953468012687165?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/8367953468012687165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/how-to-run-svn-server-on-unix-simple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8367953468012687165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8367953468012687165'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/how-to-run-svn-server-on-unix-simple.html' title='How to run a SVN Server on Unix? (The Simple Way)'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-2732399736837546571</id><published>2010-09-14T19:08:00.000-07:00</published><updated>2010-09-14T19:08:59.289-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>What Software should I need in a Mac?</title><content type='html'>Below is the list of softwares that I think important living on a Mac:&lt;br /&gt;(Updating continuously...)&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;RealPlayer&lt;/li&gt;&lt;li&gt;DropBox (Network Disk)&lt;/li&gt;&lt;li&gt;Chrome&lt;/li&gt;&lt;li&gt;Eclipse&lt;/li&gt;&lt;li&gt;Xcode&lt;/li&gt;&lt;li&gt;Googe Notifier&lt;/li&gt;&lt;li&gt;GranttProject (Project Planning)&lt;/li&gt;&lt;li&gt;Office 2008 (Office tools)&lt;/li&gt;&lt;li&gt;iTerm (Terminal)&lt;/li&gt;&lt;li&gt;Paintbrush&lt;/li&gt;&lt;li&gt;Skim (PDF Reader)&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-2732399736837546571?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/2732399736837546571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/what-software-should-i-need-in-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/2732399736837546571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/2732399736837546571'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/what-software-should-i-need-in-mac.html' title='What Software should I need in a Mac?'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-3328952887054393154</id><published>2010-09-14T09:45:00.000-07:00</published><updated>2010-09-14T09:51:07.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Setting bash in a Mac</title><content type='html'>&lt;ol&gt;&lt;li&gt;Install iTerm&lt;/li&gt;&lt;li&gt;Edit &lt;span class="Apple-style-span" style="color: red;"&gt;.bash_profile&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add environment variables&lt;br /&gt;PATH=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin:/opt/subversion/bin:&lt;span class="Apple-style-span" style="color: red;"&gt;$PATH&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Refer to&amp;nbsp;&lt;a href="http://tavi.debian.org.tw/index.php?page=Shell"&gt;http://tavi.debian.org.tw/index.php?page=Shell&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-3328952887054393154?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/3328952887054393154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/setting-bash-in-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3328952887054393154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3328952887054393154'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2010/09/setting-bash-in-mac.html' title='Setting bash in a Mac'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-238972149352904836</id><published>2009-11-09T01:38:00.000-08:00</published><updated>2009-11-09T01:38:04.287-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCJD'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>SCJD Exam with J2SE 5.0--Chapter 4</title><content type='html'>&lt;div&gt;Current page: p.102&lt;br /&gt;&lt;/div&gt;There are three ways in controlling threads:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;Waiting&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Implicitly wait for competitive resources&lt;br /&gt;Explicitly wait by calling &lt;span style="font-weight: bold;"&gt;myObject.wait();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;--&amp;gt; &lt;span style="font-weight: bold;"&gt;myObject.notify()&lt;/span&gt;; or &lt;span style="font-weight: bold;"&gt;myObject.notifyAll();&lt;/span&gt; can wake up waiting threads&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;Yielding&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The thread gives up its order to other thread but &lt;span style="font-weight: bold;"&gt;doesn't release its resources!!&lt;br /&gt;myThread.yield();&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;It's suitable for using it before processing&amp;nbsp;a complicated task!!&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Blocking&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sleeping&lt;br /&gt;Wait for at least a specified amount of time.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-238972149352904836?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/238972149352904836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/02/scjd-exam-with-j2se-50-chapter-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/238972149352904836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/238972149352904836'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/02/scjd-exam-with-j2se-50-chapter-4.html' title='SCJD Exam with J2SE 5.0--Chapter 4'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-7209463496315069900</id><published>2009-11-09T01:37:00.000-08:00</published><updated>2009-11-09T01:37:25.611-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Convertz and Jing</title><content type='html'>&lt;ul&gt;&lt;li&gt;convertz&lt;br /&gt;A tool for converting encoding!!&lt;br /&gt;&lt;a href="http://alf-li.pcdiscuss.com/"&gt;http://alf-li.pcdiscuss.com/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Jing&lt;br /&gt;&lt;a href="http://www.jingproject.com/"&gt;http://www.jingproject.com/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-7209463496315069900?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/7209463496315069900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/11/convertz-and-jing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/7209463496315069900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/7209463496315069900'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/11/convertz-and-jing.html' title='Convertz and Jing'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-9057755993250586393</id><published>2009-11-03T00:32:00.000-08:00</published><updated>2009-11-03T00:32:21.972-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java class obfuscator</title><content type='html'>&lt;a href="http://proguard.sourceforge.net/"&gt;http://proguard.sourceforge.net/&lt;/a&gt;&lt;br /&gt;Proguard&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-9057755993250586393?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/9057755993250586393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/11/java-class-obfuscator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/9057755993250586393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/9057755993250586393'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/11/java-class-obfuscator.html' title='Java class obfuscator'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-1759001127991770502</id><published>2009-09-27T19:01:00.000-07:00</published><updated>2009-09-27T19:01:16.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Encryption'/><title type='text'>Bouncy Castle</title><content type='html'>&lt;a href="http://www.bouncycastle.org/"&gt;http://www.bouncycastle.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Encryption open source&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-1759001127991770502?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/1759001127991770502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/09/bouncy-castle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1759001127991770502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1759001127991770502'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/09/bouncy-castle.html' title='Bouncy Castle'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-779103614674943268</id><published>2009-09-16T02:03:00.000-07:00</published><updated>2009-09-16T02:04:48.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>graphviz</title><content type='html'>&lt;a href="http://www.graphviz.org/About.php"&gt;http://www.graphviz.org/About.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's a powerful tool to draw a graph.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-779103614674943268?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/779103614674943268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/09/graphviz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/779103614674943268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/779103614674943268'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/09/graphviz.html' title='graphviz'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-5581585661227222681</id><published>2009-09-13T18:42:00.000-07:00</published><updated>2009-09-13T18:48:29.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox copy-past setting-up</title><content type='html'>&lt;a href="http://googlesystem.blogspot.com/2006/10/enabling-copy-paste-for-google-office.html"&gt;http://googlesystem.blogspot.com/2006/10/enabling-copy-paste-for-google-office.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The method of configuring copy-paste of Firefox&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-5581585661227222681?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/5581585661227222681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/09/firefox-copy-past-setting-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/5581585661227222681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/5581585661227222681'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/09/firefox-copy-past-setting-up.html' title='Firefox copy-past setting-up'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6374650301923509757</id><published>2009-08-20T00:20:00.000-07:00</published><updated>2009-08-20T00:21:58.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Aptana Home Page</title><content type='html'>http://aptana.com/&lt;br /&gt;&lt;br /&gt;A powerful tool for developing web sites. (PHP, AJAX, Ruby, ...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-6374650301923509757?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6374650301923509757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/08/aptana-home-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6374650301923509757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6374650301923509757'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/08/aptana-home-page.html' title='Aptana Home Page'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-8635218217124660575</id><published>2009-07-01T23:35:00.001-07:00</published><updated>2009-07-02T00:19:41.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>Enterprise JavaBeans, 3.0 -- Chapter 17</title><content type='html'>&lt;ol&gt;&lt;li&gt;EJB 3.0 沒有定義Authentication的方式，只有定義Authorization的Annotation&lt;br /&gt;Jboss設定Authentication的方式在Section 36.1~!!&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;設定在 &lt;b&gt;%JBOSS_HOME%/&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; color: rgb(51, 51, 51); font-style: italic; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;server/default/conf/login-config.xml&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;color:#333333;"&gt;範例只有普通文字檔設定的方式，JavaWorld.TW有稍微寫資料庫Mapping的方式&lt;br /&gt;&lt;a href="http://www.javaworld.com.tw/jute/post/view?bid=7&amp;amp;id=244067"&gt;http://www.javaworld.com.tw/jute/post/view?bid=7&amp;amp;id=244067&lt;/a&gt;&lt;br /&gt;有空試試看....&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;color:#333333;"&gt;情境：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;color:#333333;"&gt;1. Database 存著 User &lt;--&gt; Role &lt;--&gt; Function的關係&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;color:#333333;"&gt;2. Web Client 提供使用者Login UI，之後使用者的User-Password存在 Http Session中&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;color:#333333;"&gt;&lt;b&gt;3. 每當使用者要呼叫 EJB Remote時，應該要從 Http Session 取得 User-Password，放入 Properties，產生 Context，lookup EJB Remote!!&lt;/b&gt;&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/5471228434533648663-8635218217124660575?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/8635218217124660575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/07/enterprise-javabeans-30-chapter-17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8635218217124660575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8635218217124660575'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/07/enterprise-javabeans-30-chapter-17.html' title='Enterprise JavaBeans, 3.0 -- Chapter 17'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6512022648230692348</id><published>2009-07-01T02:14:00.000-07:00</published><updated>2009-07-01T02:15:37.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java Serializable</title><content type='html'>"&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;span style="font-family: 新細明體; "&gt;並非每個實作了&lt;/span&gt;&lt;span lang="EN-US"&gt;Serializable&lt;/span&gt;&lt;span style="font-family: 新細明體; "&gt;介面的物件都可以被&lt;/span&gt;&lt;span lang="EN-US"&gt;Serialization&lt;/span&gt;&lt;span style="font-family: 新細明體; "&gt;，如果這個物件繼承圖上的祖先，有其中一個是不可以被&lt;/span&gt;&lt;span lang="EN-US"&gt;Serialization&lt;/span&gt;&lt;span style="font-family: 新細明體; "&gt;，那麼這個物件就不可以被&lt;/span&gt;&lt;span lang="EN-US"&gt;Serialization&lt;/span&gt;&lt;span style="font-family: 新細明體; "&gt;。"&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:新細明體;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:新細明體;"&gt;&lt;a href="http://home.so-net.net.tw/idealist/Java/IO.html"&gt;http://home.so-net.net.tw/idealist/Java/IO.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:新細明體;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:新細明體;"&gt;所以繼承一個非Serializable的物件，implements Serializable&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:新細明體;"&gt;仍然不能網路傳輸&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/5471228434533648663-6512022648230692348?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6512022648230692348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/07/java-serializable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6512022648230692348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6512022648230692348'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/07/java-serializable.html' title='Java Serializable'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-2161383086160342557</id><published>2009-06-30T19:47:00.000-07:00</published><updated>2009-06-30T19:49:20.151-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Smart Card'/><title type='text'>ISO 7816 Smart Card 規範</title><content type='html'>&lt;a href="http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816.aspx"&gt;http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816.aspx&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7816-4定義 APDU Command~&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-2161383086160342557?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/2161383086160342557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/iso-7816-smart-card.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/2161383086160342557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/2161383086160342557'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/iso-7816-smart-card.html' title='ISO 7816 Smart Card 規範'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6699721417378781660</id><published>2009-06-28T20:47:00.000-07:00</published><updated>2009-06-28T22:10:33.012-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Load Properties in Java</title><content type='html'>&lt;a href="http://www.javaworld.com/javaworld/javaqa/2003-08/01-qa-0808-property.html?page=2"&gt;http://www.javaworld.com/javaworld/javaqa/2003-08/01-qa-0808-property.html?page=2&lt;/a&gt;&lt;div&gt;Complete introduction&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.rgagnon.com/javadetails/java-0434.html"&gt;http://www.rgagnon.com/javadetails/java-0434.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;A simple example~&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;[Important!]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://soulshard.javaeye.com/blog/346453"&gt;http://soulshard.javaeye.com/blog/346453&lt;/a&gt;&lt;/div&gt;&lt;div&gt;將設定檔放在Jar包外部執行!&lt;/div&gt;&lt;div&gt;final InputStream inStream = ClassLoader.getSystemResourceAsStream("EJBProp.properties");&lt;/div&gt;&lt;div&gt;取得的方式較簡單&lt;/div&gt;&lt;div&gt;重點在MANIFEST.MF中 設定&lt;b&gt;Class-Path: ./&lt;/b&gt;&lt;/div&gt;&lt;div&gt;表示需從 class loader所在的位置搜尋檔案~!!&lt;/div&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/5471228434533648663-6699721417378781660?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6699721417378781660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/load-properties-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6699721417378781660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6699721417378781660'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/load-properties-in-java.html' title='Load Properties in Java'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-487236923411166474</id><published>2009-06-28T16:23:00.001-07:00</published><updated>2009-06-28T19:29:06.594-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse plug-in: Fat Jar</title><content type='html'>&lt;a href="http://www.javaworld.com.tw/jute/post/view?bid=20&amp;amp;id=111801&amp;amp;sty=1&amp;amp;tpg=1&amp;amp;age=0" style="text-decoration: none;"&gt;http://www.javaworld.com.tw/jute/post/view?bid=20&amp;amp;id=111801&amp;amp;sty=1&amp;amp;tpg=1&amp;amp;age=0&lt;/a&gt;&lt;div&gt;Experience sharing in JavaWorld.TW&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://fjep.sourceforge.net/#inst"&gt;http://fjep.sourceforge.net/#inst&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Official Site of Fat-Jar&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It really works!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-487236923411166474?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/487236923411166474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/fat-jar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/487236923411166474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/487236923411166474'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/fat-jar.html' title='Eclipse plug-in: Fat Jar'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-8254903485215950822</id><published>2009-06-25T18:52:00.001-07:00</published><updated>2009-07-01T23:35:02.769-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCJD'/><title type='text'>SCJD Exam with J2SE 5.0--Chapter 7</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;Socket Server P. 216 &lt;pre&gt; 。xxxSocketServer extends Thread:&lt;br /&gt;    1. &lt;b&gt;new DvdSocketServer(dbLocation, port).start()&lt;/b&gt;;&lt;br /&gt;    2. ServerSocket aServerSocket = &lt;b&gt;new ServerSocket(port)&lt;/b&gt;;&lt;br /&gt;    3. while (true) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;Socket aSocket = &lt;b&gt;aServerSocket.accept();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;DbSocketRequest request = new DbSocketRequest(dbLocation, aSocket);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&lt;b&gt;request.start();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;}&lt;br /&gt;。xxxSocketRequest implements Runnable:&lt;br /&gt;    1. handle the input and output stream&lt;br /&gt;    2. call executeRequest();&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;Application Protocol 1. Need a "Command" object to perform a protocol&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-8254903485215950822?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/8254903485215950822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/scjd-exam-with-j2se-50-chapter-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8254903485215950822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8254903485215950822'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/scjd-exam-with-j2se-50-chapter-7.html' title='SCJD Exam with J2SE 5.0--Chapter 7'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-394719953271925831</id><published>2009-06-24T15:59:00.000-07:00</published><updated>2009-06-25T18:58:40.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>JBossWS 2.0.GA - JAX-WS User Guide</title><content type='html'>&lt;a href="http://www.jboss.org/jbossws/docs/jaxws_userguide-2.0/index.html#d0e126"&gt;http://www.jboss.org/jbossws/docs/jaxws_userguide-2.0/index.html#d0e126&lt;/a&gt;&lt;div&gt;Dynamic Web&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.learntechnology.net/content/webservices/jboss_webservices.jsp"&gt;http://www.learntechnology.net/content/webservices/jboss_webservices.jsp&lt;/a&gt;&lt;/div&gt;&lt;div&gt;EJB&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My methods:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;It's easy to generate WSDL by writing SessionBean anotated with @WebService. You can find out the URL of the wsdl in the information of the console messages.&lt;br /&gt;http://localhost:8080/&lt;b&gt;TSMEar-TSMEJB&lt;/b&gt;/&lt;b&gt;AdminSDKeyChangeSessionBean&lt;/b&gt;?wsdl&lt;/li&gt;&lt;li&gt;Use Eclipse to generate an JBossws client:&lt;br /&gt;a. New a dynamic web project.&lt;br /&gt;b. New a Web Service Client associated with the former web project&lt;br /&gt;    --&gt; try to generate specific client stubs!!!&lt;br /&gt;c. Copy the stubs to your own client project...&lt;br /&gt;It's better to include &lt;b&gt;JBossws 3.1.2.GA&lt;/b&gt; library because it's lighter than JBoss server runtime!!&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Another option for Web Services: &lt;a href="http://ws.apache.org/axis2/index.html"&gt;Axis&lt;/a&gt;&lt;/div&gt;&lt;div&gt;It seems better to write client codes!&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/5471228434533648663-394719953271925831?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/394719953271925831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/jbossws-20ga-jax-ws-user-guide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/394719953271925831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/394719953271925831'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/jbossws-20ga-jax-ws-user-guide.html' title='JBossWS 2.0.GA - JAX-WS User Guide'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-3390071030291070857</id><published>2009-06-24T08:37:00.000-07:00</published><updated>2009-06-24T08:47:56.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCJD'/><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>Java Certification</title><content type='html'>&lt;a href="http://www.sun.com/training/certification/java/index.xml"&gt;http://www.sun.com/training/certification/java/index.xml&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The whole map...&lt;/div&gt;&lt;div&gt;SCEA is the highest level of java language~!!&lt;/div&gt;&lt;div&gt;SCJD is also a harder challenge~!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have gotten SCJP &amp;amp; SCWCD&lt;/div&gt;&lt;div&gt;Now I'm preparing SCBCD~!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-3390071030291070857?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/3390071030291070857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/java-certification.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3390071030291070857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3390071030291070857'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/java-certification.html' title='Java Certification'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6216713749578553865</id><published>2009-06-24T02:15:00.000-07:00</published><updated>2009-06-24T02:16:22.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2EE'/><title type='text'>A comparison of JAX-RPC &amp; JAX-WS</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/webservices/library/ws-tip-jaxwsrpc.html"&gt;http://www.ibm.com/developerworks/webservices/library/ws-tip-jaxwsrpc.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-6216713749578553865?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6216713749578553865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/comparison-of-jax-rpc-jax-ws.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6216713749578553865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6216713749578553865'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/comparison-of-jax-rpc-jax-ws.html' title='A comparison of JAX-RPC &amp; JAX-WS'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-5036022309936017915</id><published>2009-06-24T01:51:00.000-07:00</published><updated>2009-06-25T19:57:04.537-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>Enterprise JavaBeans, 3.0 -- Chapter 19</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Arial;"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;EJB 3.0 supports&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;ul&gt;&lt;li&gt;Java API for XML-based Web Services (JAX-WS) 2.0&lt;/li&gt;&lt;li&gt;Java API for XML-based RPC (JAX-RPC) 1.1&lt;/li&gt;&lt;li&gt;SOAP with Attachments API for Java (SAAJ)&lt;/li&gt;&lt;li&gt;Java API for XML Registries (JAXR)&lt;br /&gt;--access web services registries, UDDI&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&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/5471228434533648663-5036022309936017915?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/5036022309936017915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/enterprise-javabeans-30-chapter-19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/5036022309936017915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/5036022309936017915'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/enterprise-javabeans-30-chapter-19.html' title='Enterprise JavaBeans, 3.0 -- Chapter 19'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6921417419344515711</id><published>2009-06-23T02:16:00.001-07:00</published><updated>2009-06-24T03:46:39.533-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>Enterprise JavaBeans, 3.0 -- Chapter 18</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;Http Tunneling&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;SOAP 1.1&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;WSDL 1.1&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-6921417419344515711?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6921417419344515711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/enterprise-javabeans-30-chapter-18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6921417419344515711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6921417419344515711'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/enterprise-javabeans-30-chapter-18.html' title='Enterprise JavaBeans, 3.0 -- Chapter 18'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-8363521369583025105</id><published>2009-06-22T20:00:00.001-07:00</published><updated>2009-06-22T20:00:33.924-07:00</updated><title type='text'>An article of verification by JQuery</title><content type='html'>&lt;a href="http://blog.wu-boy.com/2009/06/16/1454/"&gt;http://blog.wu-boy.com/2009/06/16/1454/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It seems working!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-8363521369583025105?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/8363521369583025105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/article-of-verification-by-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8363521369583025105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8363521369583025105'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/article-of-verification-by-jquery.html' title='An article of verification by JQuery'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6876008509427879375</id><published>2009-06-22T18:52:00.000-07:00</published><updated>2009-06-22T19:41:31.173-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><title type='text'>JQUERY ALPHANUMERIC</title><content type='html'>&lt;a href="http://plugins.jquery.com/project/aphanumeric"&gt;http://plugins.jquery.com/project/aphanumeric&lt;/a&gt;&lt;div&gt;&lt;a href="http://itgroup.com.ph/alphanumeric/"&gt;http://itgroup.com.ph/alphanumeric/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's used to verify the columns in webpages.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-6876008509427879375?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6876008509427879375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/jquery-alphanumeric.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6876008509427879375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6876008509427879375'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/jquery-alphanumeric.html' title='JQUERY ALPHANUMERIC'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-153812601409662165</id><published>2009-06-20T05:59:00.000-07:00</published><updated>2009-06-20T06:04:19.279-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><title type='text'>J2ME Polish !!</title><content type='html'>&lt;a href="http://www.j2mepolish.org/cms/topsection/home.html"&gt;http://www.j2mepolish.org/cms/topsection/home.html&lt;/a&gt;&lt;div&gt;&lt;a href="http://www.j2mepolish.org/cms/topsection/home.html"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" color: rgb(51, 51, 51); line-height: 24px; font-family:Helvetica;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;J2ME Polish is a suite of tools and technologies aimed at mobile developers and companies within the mobile space.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Main features of J2ME Polish include:&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;Lush&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.j2mepolish.org/cms/leftsection/leftsection/introduction/lush.html" class="internal-link" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-decoration: none; font-style: normal; font-weight: normal; color: rgb(10, 95, 125); "&gt;:&lt;/a&gt;&lt;/b&gt; A UI toolkit that is highly flexible and that can be designed outside of the application's source code.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Janus&lt;a href="http://www.j2mepolish.org/cms/leftsection/leftsection/introduction/janus.html" class="internal-link" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-decoration: none; font-style: normal; font-weight: normal; color: rgb(10, 95, 125); "&gt;:&lt;/a&gt;&lt;/b&gt; A toolset for porting mobile application to different handsets and different technology platforms.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Touch&lt;a href="http://www.j2mepolish.org/cms/leftsection/leftsection/introduction/touch.html" class="internal-link" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-decoration: none; font-style: normal; font-weight: normal; color: rgb(10, 95, 125); "&gt;:&lt;/a&gt;&lt;/b&gt; Technology for accessing server side content and communicating with remote parties.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Trunk&lt;a href="http://www.j2mepolish.org/cms/leftsection/leftsection/introduction/trunk.html" class="internal-link" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-decoration: none; font-style: normal; font-weight: normal; color: rgb(10, 95, 125); "&gt;:&lt;/a&gt;&lt;/b&gt; A persistence solution that allows you to load and save complex data with a single line of code.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Marjory&lt;a href="http://www.j2mepolish.org/cms/leftsection/leftsection/introduction/marjory.html" class="internal-link" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-decoration: none; font-style: normal; font-weight: normal; color: rgb(10, 95, 125); "&gt;:&lt;/a&gt;&lt;/b&gt; Our community maintained device database.&lt;/li&gt;&lt;/ul&gt;&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/5471228434533648663-153812601409662165?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/153812601409662165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/j2me-polish.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/153812601409662165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/153812601409662165'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/j2me-polish.html' title='J2ME Polish !!'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-1541009760451376173</id><published>2009-06-20T00:29:00.001-07:00</published><updated>2009-06-20T00:29:51.105-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Set up SSL in JBoss</title><content type='html'>&lt;a href="http://polinwei.blogspot.com/2009/02/jboss-jboss-ssl-https.html"&gt;http://polinwei.blogspot.com/2009/02/jboss-jboss-ssl-https.html&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some steps are required!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-1541009760451376173?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/1541009760451376173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/set-up-ssl-in-jboss.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1541009760451376173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1541009760451376173'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/set-up-ssl-in-jboss.html' title='Set up SSL in JBoss'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-5184666257092098553</id><published>2009-06-19T19:17:00.000-07:00</published><updated>2009-06-20T07:10:36.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>Enterprise JavaBeans, 3.0 -- Chapter 12</title><content type='html'>&lt;ul&gt;&lt;li&gt;JMS Provider: &lt;/li&gt;&lt;li&gt;JMS Client&lt;br /&gt;。JMS Producer&lt;br /&gt;  Every enterprise bean can be a producer.&lt;br /&gt;。JMS Consumer&lt;br /&gt;  Only Message-driven bean can be a consumer.&lt;/li&gt;&lt;li&gt;JMS message broker&lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/j2ee/connector/"&gt;J2EE Connector Architecture (JCA)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2ee/connector/overview.html"&gt;http://java.sun.com/j2ee/connector/overview.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; "&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Enterprise information system (EIS)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-5184666257092098553?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/5184666257092098553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/enterprise-javabeans-30-chapter-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/5184666257092098553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/5184666257092098553'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/enterprise-javabeans-30-chapter-12.html' title='Enterprise JavaBeans, 3.0 -- Chapter 12'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-8225872853410174994</id><published>2009-06-18T23:05:00.000-07:00</published><updated>2009-06-18T23:29:21.502-07:00</updated><title type='text'>CVS Converter...</title><content type='html'>&lt;a href="http://sourceforge.net/projects/javacsv/"&gt;http://sourceforge.net/projects/javacsv/&lt;/a&gt;&lt;div&gt;&lt;a href="http://sourceforge.net/projects/javacsv/"&gt;&lt;/a&gt;&lt;a href="http://www.csvreader.com/java_csv_samples.php"&gt;http://www.csvreader.com/java_csv_samples.php&lt;/a&gt;&lt;br /&gt;&lt;div&gt;This is the package I use now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apache seems developing a bigger project of CSV...&lt;/div&gt;&lt;div&gt;&lt;a href="http://commons.apache.org/sandbox/csv/"&gt;http://commons.apache.org/sandbox/csv/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;But the project hasn't been updated since 17 May, 2008.&lt;/div&gt;&lt;div&gt;Is there any hope for this project?&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/5471228434533648663-8225872853410174994?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/8225872853410174994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/cvs-converter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8225872853410174994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8225872853410174994'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/cvs-converter.html' title='CVS Converter...'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-7294571055651452602</id><published>2009-06-16T01:03:00.000-07:00</published><updated>2009-06-16T03:24:43.588-07:00</updated><title type='text'>How to transfer JSON to JQuery client in Struts 1.x</title><content type='html'>&lt;div&gt;Other programmer's idea&lt;/div&gt;&lt;a href="http://www.junlu.com/msg/322793.html"&gt;http://www.junlu.com/msg/322793.html&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JSON ORG&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.json.org/"&gt;http://www.json.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JSON-lib&lt;/div&gt;&lt;div&gt;&lt;a href="http://json-lib.sourceforge.net/index.html"&gt;http://json-lib.sourceforge.net/index.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Download JSON-lib and install it into Web project&lt;/li&gt;&lt;li&gt;There is nothing special required to do to pass the parameter to Actions.&lt;br /&gt;Just follow JQuery's function:&lt;br /&gt;$.post("/TSMWeb/cardImportAction.do", {actionType: "initAjax", comAccount: issuerSelectValue}, issuerSelectCallBack, "json");&lt;/li&gt;&lt;li&gt;In Struts 2.x, the only thing you need to do is set up the struts.xml to notify  the framework packing the response in JSON format.&lt;/li&gt;&lt;li&gt;In Struts 1.x, you should create a JSONObject to transfer your java object into JSON format and use an "almost empty" JSP to send JSON messages:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;＜%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%＞&lt;br /&gt;${tsmJSON}&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Save your JSON Object with a key name "tsmJSON" by calling request.setAttribute().&lt;/li&gt;&lt;li&gt;That's it! Now you can catch the response in JSON format in your client JSP!&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-7294571055651452602?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/7294571055651452602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/how-to-transfer-json-to-jquery-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/7294571055651452602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/7294571055651452602'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/how-to-transfer-json-to-jquery-client.html' title='How to transfer JSON to JQuery client in Struts 1.x'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-3713873939720123758</id><published>2009-06-15T18:37:00.000-07:00</published><updated>2009-06-15T18:38:12.909-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><title type='text'>JQuery Main Page</title><content type='html'>JQuery Main Page&lt;div&gt;&lt;a href="http://docs.jquery.com/Main_Page"&gt;http://docs.jquery.com/Main_Page&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-3713873939720123758?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/3713873939720123758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/jquery-main-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3713873939720123758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/3713873939720123758'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/jquery-main-page.html' title='JQuery Main Page'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-1783104701911442567</id><published>2009-06-14T19:39:00.000-07:00</published><updated>2009-06-14T19:44:19.409-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Tips of JBoss</title><content type='html'>&lt;ol&gt;&lt;li&gt;If your EJB wants to include external libraries, you should pack those libraries with EJB.jar into an Ear file and &lt;b&gt;set up the Class-Path in a MANIFEST.MF file in the META-INF dir&lt;/b&gt; of the EJB.jar&lt;br /&gt;--&gt; Another crude way: &lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;set system constant--&gt; &lt;b&gt;JBOSS_CLASSPATH = %HSM's lib path%&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;      That would set up the classpath of JBoss's class loader(not very good...)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-1783104701911442567?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/1783104701911442567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/tips-of-jboss.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1783104701911442567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1783104701911442567'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/tips-of-jboss.html' title='Tips of JBoss'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6432594414825355541</id><published>2009-06-14T19:36:00.000-07:00</published><updated>2009-06-23T20:34:28.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Tips of Eclipse</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows--&gt;Preferences--&gt;General--&gt;Editors--&gt;Text Editors&lt;br /&gt;a. Insert spaces for tabs&lt;br /&gt;b. Show line numbers&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Windows--&gt;Preferences--&gt;Java--&gt;Code Style--&gt;Formatter&lt;br /&gt;a. Set up how to automatically modify the codes.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;When you generate a jsp file, &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;remember setting up encoding method in page directive or you can't save what you modify in the file in that encoding. ( Eclipse will generate Encoding Error!)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;(Any project) &lt;b&gt;Properties--&gt;Java Compiler--&gt;Building&lt;/b&gt;: &lt;b&gt;Output folder&lt;/b&gt; can set up what kinds of files you want to copy to the output folder!!&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-6432594414825355541?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6432594414825355541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/some-tips-of-eclipse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6432594414825355541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6432594414825355541'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/some-tips-of-eclipse.html' title='Tips of Eclipse'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-1413700967717421061</id><published>2009-06-13T00:25:00.000-07:00</published><updated>2009-07-02T00:21:00.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>EJB chapters haven't been read!</title><content type='html'>&lt;div&gt;high priority: &lt;b&gt;Finished!!&lt;/b&gt;&lt;/div&gt;low priority: 6, 7, 8, 20, 21&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now is time to practice the exam...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-1413700967717421061?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/1413700967717421061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/chapters-havent-been-read.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1413700967717421061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1413700967717421061'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/chapters-havent-been-read.html' title='EJB chapters haven&apos;t been read!'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-2710693221345945908</id><published>2009-06-12T18:49:00.001-07:00</published><updated>2009-06-12T18:52:14.705-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCBCD'/><title type='text'>The introduction of SCBCD</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; color: rgb(231, 111, 0); font-size: 21px; font-weight: bold; "&gt;&lt;h1 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; color: rgb(231, 111, 0); "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a href="http://www.sun.com/training/catalog/courses/CX-310-091.xml" style="text-decoration: none;"&gt;Sun Certified Business Component Developer for the Java Platform, Enterprise Edition 5 (CX-310-091)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-size: 12px; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; "&gt;&lt;b&gt;EJB 3.0 Overview &lt;/b&gt;&lt;br /&gt;&lt;hr style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(51, 51, 51); color: rgb(51, 51, 51); height: 2px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; clear: both; background-position: initial initial; "&gt;&lt;br /&gt;&lt;ul style="margin-left: 13px; padding-left: 0px; "&gt;&lt;li style="margin-left: 13px; padding-left: 0px; list-style-image: url(http://www.sun.com/im/ul_bullet.gif); "&gt;Identify the uses, benefits, and characteristics of Enterprise JavaBeans technology, for version 3.0 of the EJB specification.&lt;/li&gt;&lt;li style="margin-left: 13px; padding-left: 0px; list-style-image: url(http://www.sun.com/im/ul_bullet.gif); "&gt;Identify the APIs that all EJB 3.0 containers must make available to developers.&lt;/li&gt;&lt;li style="margin-left: 13px; padding-left: 0px; list-style-image: url(http://www.sun.com/im/ul_bullet.gif); "&gt;Identify correct and incorrect statements or examples about EJB programming restrictions.&lt;/li&gt;&lt;li style="margin-left: 13px; padding-left: 0px; list-style-image: url(http://www.sun.com/im/ul_bullet.gif); "&gt;Match the seven EJB roles with the corresponding description of the role's responsibilities.&lt;/li&gt;&lt;li style="margin-left: 13px; padding-left: 0px; list-style-image: url(http://www.sun.com/im/ul_bullet.gif); "&gt;Describe the packaging and deployment requirements for enterprise beans.&lt;/li&gt;&lt;li style="margin-left: 13px; padding-left: 0px; list-style-image: url(http://www.sun.com/im/ul_bullet.gif); "&gt;Describe the purposes and uses of annotations and deployment descriptors, including how the two mechanisms interact, how overriding is handled, and how these mechanisms function at the class, method, and field levels.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/span&gt;&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/5471228434533648663-2710693221345945908?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/2710693221345945908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/introduction-of-scbcd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/2710693221345945908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/2710693221345945908'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/introduction-of-scbcd.html' title='The introduction of SCBCD'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6835265969483192680</id><published>2009-06-11T19:22:00.000-07:00</published><updated>2009-06-11T19:38:57.264-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>How to save binary data into Database</title><content type='html'>There are two ways to solve this problem.&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Base64&lt;/b&gt;: &lt;a href="http://en.wikipedia.org/wiki/Base64"&gt;http://en.wikipedia.org/wiki/Base64&lt;/a&gt;&lt;br /&gt;This encoding method can transform binary data into special text format. The encoding method requires some future research!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Hex&lt;/b&gt;: Transfer Hex byte into Hex String! The advantage of this encoding method is readable!&lt;br /&gt;ex: byte[]{00, a0, 30} --&gt; String: "00a030"&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Both encoding methods can be found in &lt;b&gt;apache commons codec&lt;/b&gt; package!&lt;/div&gt;&lt;div&gt;These are two only ways to transfer binary data into Database.&lt;/div&gt;&lt;/div&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/5471228434533648663-6835265969483192680?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6835265969483192680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/how-to-save-binary-data-into-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6835265969483192680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6835265969483192680'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/how-to-save-binary-data-into-database.html' title='How to save binary data into Database'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-1009570051231354281</id><published>2009-06-10T19:28:00.000-07:00</published><updated>2009-06-10T19:30:10.117-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Struts'/><title type='text'>How to set up Log4j parameters in JBoss?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma; font-size: 12px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;[JBOSS_HOME]\server\default\conf\jboss-log4j.xml&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Tahoma; font-size: 12px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Modify this file!&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/5471228434533648663-1009570051231354281?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/1009570051231354281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/how-to-set-up-log4j-parameters-in-jboss.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1009570051231354281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/1009570051231354281'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/06/how-to-set-up-log4j-parameters-in-jboss.html' title='How to set up Log4j parameters in JBoss?'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-7360357179856539993</id><published>2009-05-10T22:56:00.000-07:00</published><updated>2009-05-10T23:07:09.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Struts'/><title type='text'>How to set up struts 1.1 message pages</title><content type='html'>&lt;ol&gt;&lt;li&gt;Save your messages in ActionMessages.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;final ActionMessages errors = new ActionMessages();&lt;br /&gt;errors.add(&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;ActionMessages.GLOBAL_MESSAGE&lt;/span&gt;, new ActionMessage("ControlErrMessage", errMessage));&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;a. ActionMessages.GLOBAL_MESSAGE is a special key in ActionMessages mapping, don't change it&lt;br /&gt;b. ControlErrMessage is the key defined in application.properties&lt;/li&gt;&lt;li&gt;Add ActionMessages Object into HttpServletRequest&lt;code&gt;&lt;br /&gt;&lt;br /&gt;request.setAttribute(&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Globals.MESSAGE_KEY&lt;/span&gt;, errors);&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;a. Globals.MESSAGE_KEY is fixed value. It's used in JSP (the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;id&lt;/span&gt; value of html:messages)&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Show your message in JSP by using &lt;html:message&gt; tag&lt;br /&gt;&lt;code&gt;&lt;br /&gt;＜html:messages &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;id&lt;/span&gt;="message" message="true"＞&lt;br /&gt;    ＜bean:write &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;name&lt;/span&gt;="message"＞&lt;br /&gt;＜/html:messages＞&lt;br /&gt;&lt;/code&gt;&lt;/html:message&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-7360357179856539993?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/7360357179856539993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/05/how-to-set-up-struts-11-message-pages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/7360357179856539993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/7360357179856539993'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/05/how-to-set-up-struts-11-message-pages.html' title='How to set up struts 1.1 message pages'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-809675972883875086</id><published>2009-05-10T19:46:00.000-07:00</published><updated>2009-05-10T19:57:32.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Struts'/><title type='text'>How to set up Error Message in Struts</title><content type='html'>&lt;a href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=522"&gt;http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=522&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Create application.properties&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Add the line: &lt;message-resources parameter="application"&gt; to &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;specify the location of application.properties (In src/)&lt;/span&gt;&lt;/message-resources&gt;&lt;/li&gt;&lt;li&gt;Add the setting of &lt;exception&gt;, for example&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;＜exception key="UserLogin.Password" path="/error.jsp" type="iii.tsm.exceptions.TSMException"＞&lt;/span&gt;&lt;/exception&gt;&lt;/li&gt;&lt;li&gt;Show the message in jsp by &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;＜html:error /＞&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&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/5471228434533648663-809675972883875086?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/809675972883875086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/05/how-to-set-up-error-message-in-struts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/809675972883875086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/809675972883875086'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/05/how-to-set-up-error-message-in-struts.html' title='How to set up Error Message in Struts'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6250882565447802528</id><published>2009-05-06T22:59:00.000-07:00</published><updated>2009-06-20T06:02:58.440-07:00</updated><title type='text'>[TSM] Problems to be solved...</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;File uploading&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Use org.apache.struts.upload.FormFile to store the uploading file&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;File downloading&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Extend org.apache.struts.actions.DownloadAction and create your own downloading action.&lt;br /&gt;a. Save the data from DB to a temporary file.&lt;br /&gt;b. Link a special id with the generated file.&lt;br /&gt;c. Return the id.&lt;br /&gt;Then the actions using this downloading action could generate a hyper link with the id. End users click on the link and system would call downloading action and pass the id. DownloadAction will return FileStreamInfo object.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;POINT:&lt;/span&gt; Override the function:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;protected StreamInfo getStreamInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;Applet File saving (in the database or on the disk?)&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;I decided to save applet files in the database. Ray told me that there are one advantages in saving files in the DB:&lt;br /&gt;You only need to backup DB and all data could be backuped in one step! (Consistence)&lt;br /&gt;The way to save your files into a DB is using org.apache.commons.codec.binary.Base64, which is in the &lt;a href="http://commons.apache.org/codec/"&gt;commons-codec package&lt;/a&gt;. &lt;br /&gt;You should Use Base64 to encode binary data to plain text and save it into the DB. &lt;br /&gt;If you want to retrieve the data, you can use Base64 to decode the data from DB! &lt;br /&gt;&lt;br /&gt;Why should we use TEXT type to save binary data?&lt;br /&gt;&lt;br /&gt;Ray told me that: If you use Blob to save binary data, the saving way could be different in different DB provider! &lt;br /&gt;And you also have chances that you can't retrive data by normal "select" ways.&lt;br /&gt;Flexibility is lost!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;Do I have to change the common library in TSMWeb?&lt;/span&gt;&lt;br /&gt;Add new common library in TSMWeb. But keep the old one.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;Controlling exception&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Create TSMException, use try-catch to direct system message to error page&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;Logging system&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Use java.util.logging.* to create a new logging system.&lt;br /&gt;It's not necessary because Jboss has it's own logging system. (The log file is in &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;jboss-5.0.0.GA\server\default\log&lt;/span&gt;\.)&lt;br /&gt;&lt;a href="http://www.jboss.org/community/docs/DOC-11280"&gt;http://www.jboss.org/community/docs/DOC-11280&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.dzone.com/articles/configuring-logging-jboss"&gt;http://java.dzone.com/articles/configuring-logging-jboss&lt;/a&gt;&lt;br /&gt;How to set up Jboss logging system~&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;TSMWeb call TSMEJB session bean&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(192, 192, 192);"&gt;Set up development environment&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Use the methods in the Orelly EJB 3 book. The main problem is that if you want to call an EJB remote call, you have to include necessary libraries listed in &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;jboss-5.0.0.GA\client\jbossall-client.jar. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Now I decided to put TSMWeb and TSMEJB both on  the Jboss Envirnment because the jboss-javaee.jar conflicts with Servlet.class in Tomcat server.&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;How to show Constant String from Constant Integer in JSP?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Implement SimpleTagSupport libaray!!!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;UserLoginFilter is waiting for being finished!!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Finished&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;Modify the primary key of CardSet and KeyProfile tables&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;I decided to use UUID as primary keys of CardSet and KeyProfile tables&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5471228434533648663-6250882565447802528?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6250882565447802528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/05/tsm-problems-to-be-solved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6250882565447802528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6250882565447802528'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/05/tsm-problems-to-be-solved.html' title='[TSM] Problems to be solved...'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-8424403358023178904</id><published>2009-02-23T20:27:00.000-08:00</published><updated>2009-02-25T02:08:16.696-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCJD'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>SCJD Exam with J2SE 5.0--Chapter 3</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;All the essential requirements are:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Executable JAR&lt;/li&gt;&lt;li&gt;Executable server-specific JAR&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;src&lt;/span&gt; &lt;/span&gt;contains all the source codes&lt;/li&gt;&lt;li&gt;The original files provided by SCJD examinator&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;docs&lt;/span&gt;&lt;/span&gt; contains:&lt;br /&gt;a. Javadocs for API&lt;br /&gt;b. End user documentation&lt;br /&gt;c. Design decision documents&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&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/5471228434533648663-8424403358023178904?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/8424403358023178904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/02/scjd-exam-with-j2se-50-chapter-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8424403358023178904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/8424403358023178904'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/02/scjd-exam-with-j2se-50-chapter-3.html' title='SCJD Exam with J2SE 5.0--Chapter 3'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5471228434533648663.post-6354181535453827224</id><published>2009-02-23T20:18:00.000-08:00</published><updated>2009-02-23T20:21:02.647-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCJD'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>SCJD Exam with J2SE 5.0--Chapter 2</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:Arial;"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;ol&gt;&lt;li&gt;Organizing a project&lt;br /&gt;a. Suggested Directory Structure&lt;br /&gt;    src/&lt;br /&gt;    classes/&lt;br /&gt;    bkp/ --backup files&lt;br /&gt;    tst/ -- source files for unit-testing&lt;br /&gt;    tmp/&lt;br /&gt;    log/&lt;br /&gt;    doc/&lt;br /&gt;        I.     Javadocs&lt;br /&gt;        II.   End-user docs&lt;br /&gt;        III. design desicions docs&lt;br /&gt;        IV. &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;version.txt&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Design Decisions Document&lt;/li&gt;&lt;li&gt;Assertions&lt;/li&gt;&lt;li&gt;Logging&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;pre&gt;&lt;b&gt;java.util.logging.Logger Logger  myLogger = Logger.getLogger("example.com.testApplication"); &lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span"   style="font-weight: normal; white-space: normal; font-family:Arial;font-size:16px;"&gt;&lt;pre&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;java.util.logging.Handler  myLogger.addHandler(new FileHandler("temp.log")); &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="font-weight: normal; white-space: normal; font-family:Arial;"&gt;&lt;pre&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;java.util.logging.FileHandler  myFileHandler.setFormatter(new SimpleFormatter());--Set the format of log files&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&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/5471228434533648663-6354181535453827224?l=andyhotechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andyhotechnotes.blogspot.com/feeds/6354181535453827224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/02/organizing-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6354181535453827224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5471228434533648663/posts/default/6354181535453827224'/><link rel='alternate' type='text/html' href='http://andyhotechnotes.blogspot.com/2009/02/organizing-project.html' title='SCJD Exam with J2SE 5.0--Chapter 2'/><author><name>Andy</name><uri>http://www.blogger.com/profile/04575015136406681829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_bdgIkC3ALwg/SatqAbDmP1I/AAAAAAAAB_M/qHvYkyqWhWY/S220/YV4J5527.JPG'/></author><thr:total>0</thr:total></entry></feed>
