﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-断网了……-随笔分类-程序开发进度</title><link>http://www.cnitblog.com/zcy860511/category/8016.html</link><description>烟灰学程序一年多了……总在想，要是断网了，我怎么学习……</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 21:25:03 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 21:25:03 GMT</pubDate><ttl>60</ttl><item><title>Javascript Remote Object Invoker</title><link>http://www.cnitblog.com/zcy860511/archive/2010/02/02/64126.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Tue, 02 Feb 2010 15:17:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/02/02/64126.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/64126.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/02/02/64126.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/64126.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/64126.html</trackback:ping><description><![CDATA[<p>经过反复研究，我不得不自己写一个JsonLib<br>下面是一点泛型的研究<br><br>并且准备搬家了。。。。<br><br><a href="http://zcy860511.javaeye.com/blog/585900">http://zcy860511.javaeye.com/blog/585900</a><br></p>
<img src ="http://www.cnitblog.com/zcy860511/aggbug/64126.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-02-02 23:17 <a href="http://www.cnitblog.com/zcy860511/archive/2010/02/02/64126.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 7</title><link>http://www.cnitblog.com/zcy860511/archive/2010/02/01/64091.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Mon, 01 Feb 2010 12:40:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/02/01/64091.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/64091.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/02/01/64091.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/64091.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/64091.html</trackback:ping><description><![CDATA[<p>基于v0.1版本的实现，我将对整个架构进行修改，以适应以后的变化，这两天参考了OO的几个原则<br>发现我犯了很多错误，所以准备重新修改架构，拿出0.2版本，虽然0.1不算真正的成品，但是我会把这个东西完善一下，并在最后一起发送上来，这样也算是反面教材吧</p>
------------------------------------------------------------------------------------------------------------------------------------<br>我错了，我真的错了，看来拿来主义果然不行，JSON-LIB带给我的便利也致使我进入一个误区，以为他是完美的<br>JSON-LIB最要命的就是对List这一类东西的处理，我靠！他是找不到非基础类型的，他只会傻呼呼的给你返回一个DynamicObject！只要你想强转，那就等死吧！我总算明白为什么DWR会有一个convert了！
<img src ="http://www.cnitblog.com/zcy860511/aggbug/64091.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-02-01 20:40 <a href="http://www.cnitblog.com/zcy860511/archive/2010/02/01/64091.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 6</title><link>http://www.cnitblog.com/zcy860511/archive/2010/01/30/64065.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Fri, 29 Jan 2010 18:07:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/01/30/64065.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/64065.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/01/30/64065.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/64065.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/64065.html</trackback:ping><description><![CDATA[哈哈，今天很高兴，已经实现调用了，不过客户端一点点动态代码还没做完，嘿嘿，先看下进度吧<br>OK，先是配置<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">remote-beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="Test"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.javazone.jroi.test.bean.TestRemoteBean"</span><span style="COLOR: #ff0000">&nbsp;&nbsp;scope</span><span style="COLOR: #0000ff">="single"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getByte"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getShort"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getInteger"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getLong"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getFloat"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getDouble"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getString"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">method&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="getBean"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">remote-beans</span><span style="COLOR: #0000ff">&gt;</span></div>
只是部分代码，没有使用Spring，所以不是很长，指示定义了方法一丢丢(= =||)而已<br>OK，看下服务端的Java代码<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;org.javazone.jroi.test.bean;<br><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;TestRemoteBean<br>{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;TestRemoteBean()<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;Bean&nbsp;getBean()<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Bean();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getString(String&nbsp;string)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;returnValue(string);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">byte</span><span style="COLOR: #000000">&nbsp;getByte(</span><span style="COLOR: #0000ff">byte</span><span style="COLOR: #000000">&nbsp;b)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;b;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;getShort(</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;s)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;s;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getInteger(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;getLong(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;l)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;l;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;getFloat(</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;f)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;f;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;getDouble(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;d)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;d;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;returnValue(Object&nbsp;object)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;object.toString()&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;-&nbsp;hashCode&nbsp;:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;hashCode();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
很简单的调用返回<br>额，还要贴上Bean的代码<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;org.javazone.jroi.test.bean;<br><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Bean<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;name&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">my&nbsp;bean&nbsp;name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getName()<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;name;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
OK，下面是客户端代码<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"&nbsp;</span><span style="COLOR: #0000ff">?&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN"&nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html&nbsp;</span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">="http://www.w3.org/1999/xhtml"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta&nbsp;</span><span style="COLOR: #ff0000">http-equiv</span><span style="COLOR: #0000ff">="Content-Type"</span><span style="COLOR: #ff0000">&nbsp;content</span><span style="COLOR: #0000ff">="text/html;&nbsp;charset=UTF-8"</span><span style="COLOR: #ff0000">&nbsp;</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="./jroi.js"</span><span style="COLOR: #ff0000">&nbsp;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="./util.js"</span><span style="COLOR: #ff0000">&nbsp;</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Insert&nbsp;title&nbsp;here</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #0000ff">&gt;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000"><br><br></span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">this</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">.div&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">=</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">null</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">;<br></span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">function</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;callback(data)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">if</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;(</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">typeof</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">(data)&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">==</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;'object')<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setValue(JSON.stringify(data),&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">this</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">.div);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">else</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setValue(data,&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">this</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">.div);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">function</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;test(method,&nbsp;param){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">var</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;array&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">=</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">new</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;Array();<br>&nbsp;&nbsp;&nbsp;&nbsp;array.push(param);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">var</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;t&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">=</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;document.getElementById('test');<br>&nbsp;&nbsp;&nbsp;&nbsp;setValue(param,&nbsp;t);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #0000ff">this</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">.div&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">=</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">&nbsp;document.getElementById(method);<br>&nbsp;&nbsp;&nbsp;&nbsp;jroi.invoker.invoke(callback,&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">"</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">/org.javazone.jroi/jroi/</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">"</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">,&nbsp;</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">"</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">Test</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">"</span><span style="BACKGROUND-COLOR: #f5f5f5; COLOR: #000000">,&nbsp;method,&nbsp;array);<br>}<br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getString"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getString',&nbsp;'this&nbsp;is&nbsp;a&nbsp;string');"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getString"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getByte"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getByte',&nbsp;1);"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getByte"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getShort"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getShort',&nbsp;257);"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getShort"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getInteger"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getInteger',&nbsp;1000000);"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getInteger"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getLong"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getLong',&nbsp;123456789);"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getLong"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getFloat"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getFloat',&nbsp;1.2312313);"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getFloat"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getDouble"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getDouble',&nbsp;1.213123123123);"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getDouble"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="getBean"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">input&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="button"</span><span style="COLOR: #ff0000">&nbsp;onclick</span><span style="COLOR: #0000ff">="test('getBean');"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="getBean"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="test"</span><span style="COLOR: #ff0000">&nbsp;style</span><span style="COLOR: #0000ff">="border:&nbsp;1px&nbsp;solid;width:&nbsp;300px;height:&nbsp;20px;"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span></div>
额。上面有一个util这个里面只是简单的将div的值设置为返回值<br>下面贴张运行结果图<br><img style="WIDTH: 559px; HEIGHT: 424px" border=0 src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/Untitled.jpg" width=559 height=424><br>额。。。现在看来这玩意没什么好玩的了。。。。真是。。。<br>服务器还有很多东西没搞定。。。。特别是验证工作，我是直接try{}catch{Exception e}的。。。。<br>好了，明天做最后的搭接工作，生成客户端bean调用文件了<br><br>总结：<br>看到了DWR的一些不足后，我发现需要弄一点配置出来，这部分，客户端配置将被保留，以后更新版本也不修改<br>哎。。。。现在才发现架构师真的不是几年就能学出来的
<img src ="http://www.cnitblog.com/zcy860511/aggbug/64065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-01-30 02:07 <a href="http://www.cnitblog.com/zcy860511/archive/2010/01/30/64065.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 5</title><link>http://www.cnitblog.com/zcy860511/archive/2010/01/28/64039.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Thu, 28 Jan 2010 15:33:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/01/28/64039.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/64039.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/01/28/64039.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/64039.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/64039.html</trackback:ping><description><![CDATA[<p><a id=Editor_Results_rprSelectionList_ctl01_LinkTitle class=titlelink href="http://www.cnitblog.com/zcy860511/archive/2010/01/28/64025.html"><font color=#000000>OK，今天进入一个新的</font></a>进度，实现了基本的调用，最后就是扩展，实现AJAX Client部分，这个就不是很困难了<br>哈哈<br>看下成果吧<br><a href="http://localhost:8080/org.javazone.jroi/jroi/1?org.javazone.isInvoke=isInvoke&amp;org.javazone.invoke.id=Test1&amp;org.javazone.invoke.method.name=getName&amp;org.javazone.invoke.parameters">http://localhost:8080/org.javazone.jroi/jroi/1?org.javazone.isInvoke=isInvoke&amp;org.javazone.invoke.id=Test1&amp;org.javazone.invoke.method.name=getName&amp;org.javazone.invoke.parameters</a>=<br>这个请求字符串有点长，当然是测试用的，无所谓了<br>OK，看下下面的输出结果<br>1<br>就是一个'1'，呵呵，用为服务端代码是这样写的</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Codehighlighter1_0_10_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_10_Open_Text.style.display='none'; Codehighlighter1_0_10_Closed_Image.style.display='inline'; Codehighlighter1_0_10_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_0_10_Closed_Image onclick="this.style.display='none'; Codehighlighter1_0_10_Closed_Text.style.display='none'; Codehighlighter1_0_10_Open_Image.style.display='inline'; Codehighlighter1_0_10_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_0_10_Closed_Text>/**&nbsp;*/</span><span id=Codehighlighter1_0_10_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;*&nbsp;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;org.javazone.jroi.test.config;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img id=Codehighlighter1_52_73_Open_Image onclick="this.style.display='none'; Codehighlighter1_52_73_Open_Text.style.display='none'; Codehighlighter1_52_73_Closed_Image.style.display='inline'; Codehighlighter1_52_73_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_52_73_Closed_Image onclick="this.style.display='none'; Codehighlighter1_52_73_Closed_Text.style.display='none'; Codehighlighter1_52_73_Open_Image.style.display='inline'; Codehighlighter1_52_73_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_52_73_Closed_Text>/**&nbsp;*/</span><span id=Codehighlighter1_52_73_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;*&nbsp;</span><span style="COLOR: #808080">@author</span><span style="COLOR: #008000">&nbsp;张朝雨<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;TestBean1<br><img id=Codehighlighter1_98_169_Open_Image onclick="this.style.display='none'; Codehighlighter1_98_169_Open_Text.style.display='none'; Codehighlighter1_98_169_Closed_Image.style.display='inline'; Codehighlighter1_98_169_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_98_169_Closed_Image onclick="this.style.display='none'; Codehighlighter1_98_169_Closed_Text.style.display='none'; Codehighlighter1_98_169_Open_Image.style.display='inline'; Codehighlighter1_98_169_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_98_169_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_98_169_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;TestBean1()<br><img id=Codehighlighter1_122_125_Open_Image onclick="this.style.display='none'; Codehighlighter1_122_125_Open_Text.style.display='none'; Codehighlighter1_122_125_Closed_Image.style.display='inline'; Codehighlighter1_122_125_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_122_125_Closed_Image onclick="this.style.display='none'; Codehighlighter1_122_125_Closed_Text.style.display='none'; Codehighlighter1_122_125_Open_Image.style.display='inline'; Codehighlighter1_122_125_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_122_125_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_122_125_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getName()<br><img id=Codehighlighter1_151_166_Open_Image onclick="this.style.display='none'; Codehighlighter1_151_166_Open_Text.style.display='none'; Codehighlighter1_151_166_Closed_Image.style.display='inline'; Codehighlighter1_151_166_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_151_166_Closed_Image onclick="this.style.display='none'; Codehighlighter1_151_166_Closed_Text.style.display='none'; Codehighlighter1_151_166_Open_Image.style.display='inline'; Codehighlighter1_151_166_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_151_166_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_151_166_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></span></div>
当然，就只有一个1了。。。。残念。。。<br>其实上面的参数就是一个协议，只要符合这个协议就可以进行调用。。。当然还有许多安全问题，我没来得及处理，我自己考虑了下，绝对不能让非法的调用弄死调服务器，所以。。。&nbsp;&nbsp;&nbsp;<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;doInvokeService(WebContext&nbsp;context)<br><img id=Codehighlighter1_50_324_Open_Image onclick="this.style.display='none'; Codehighlighter1_50_324_Open_Text.style.display='none'; Codehighlighter1_50_324_Closed_Image.style.display='inline'; Codehighlighter1_50_324_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_50_324_Closed_Image onclick="this.style.display='none'; Codehighlighter1_50_324_Closed_Text.style.display='none'; Codehighlighter1_50_324_Open_Image.style.display='inline'; Codehighlighter1_50_324_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_50_324_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_50_324_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;为空表示未注册调用服务，不为空表示有服务</span><span style="COLOR: #008000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(invokerService&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_110_321_Open_Image onclick="this.style.display='none'; Codehighlighter1_110_321_Open_Text.style.display='none'; Codehighlighter1_110_321_Closed_Image.style.display='inline'; Codehighlighter1_110_321_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_110_321_Closed_Image onclick="this.style.display='none'; Codehighlighter1_110_321_Closed_Text.style.display='none'; Codehighlighter1_110_321_Open_Image.style.display='inline'; Codehighlighter1_110_321_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_110_321_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_110_321_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_122_238_Open_Image onclick="this.style.display='none'; Codehighlighter1_122_238_Open_Text.style.display='none'; Codehighlighter1_122_238_Closed_Image.style.display='inline'; Codehighlighter1_122_238_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_122_238_Closed_Image onclick="this.style.display='none'; Codehighlighter1_122_238_Closed_Text.style.display='none'; Codehighlighter1_122_238_Open_Image.style.display='inline'; Codehighlighter1_122_238_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_122_238_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_122_238_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InvokedContext&nbsp;invokedContext&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;InvokedContext(context);<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invokerService.doInvoke(invokedContext);<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(Exception&nbsp;e)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;捕获所有错误，不影响服务器的其他运行</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_287_317_Open_Image onclick="this.style.display='none'; Codehighlighter1_287_317_Open_Text.style.display='none'; Codehighlighter1_287_317_Closed_Image.style.display='inline'; Codehighlighter1_287_317_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_287_317_Closed_Image onclick="this.style.display='none'; Codehighlighter1_287_317_Closed_Text.style.display='none'; Codehighlighter1_287_317_Open_Image.style.display='inline'; Codehighlighter1_287_317_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_287_317_Closed_Text><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_287_317_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
我是这样干的。。。。<br>很恶劣。。当然这部分还没添加log以及错误回复。。。<br>OK，OK，今天暂时到这里了。。。最近真的发现有点点问题。。。哎。。。类名真难去、log真难写。。。= =||
<img src ="http://www.cnitblog.com/zcy860511/aggbug/64039.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-01-28 23:33 <a href="http://www.cnitblog.com/zcy860511/archive/2010/01/28/64039.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 4</title><link>http://www.cnitblog.com/zcy860511/archive/2010/01/28/64025.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Wed, 27 Jan 2010 16:58:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/01/28/64025.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/64025.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/01/28/64025.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/64025.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/64025.html</trackback:ping><description><![CDATA[啊。。。崩溃了，javascript和java的多态。。DWR不支持，我也没想到什么好的解决方案，不过DWR不支持有参数构造函数一说，貌似我解决了<br>明天继续进度的发布，今天整理下Log。。。。发现Log多了很成问题
<img src ="http://www.cnitblog.com/zcy860511/aggbug/64025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-01-28 00:58 <a href="http://www.cnitblog.com/zcy860511/archive/2010/01/28/64025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 3</title><link>http://www.cnitblog.com/zcy860511/archive/2010/01/27/64010.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Tue, 26 Jan 2010 16:51:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/01/27/64010.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/64010.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/01/27/64010.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/64010.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/64010.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天完成了IOC对Spring的集成，不论是从WEB配置中读取还是从自定义中读取这个是该框架配置方式文件正常配置方式&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt;&lt;!DOCTYPE&nbsp;remote-beas&nbsp;PUBLIC"-//JAVAZONE//DTD&nbsp;Javazone&nbsp;Remote&n...&nbsp;&nbsp;<a href='http://www.cnitblog.com/zcy860511/archive/2010/01/27/64010.html'>阅读全文</a><img src ="http://www.cnitblog.com/zcy860511/aggbug/64010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-01-27 00:51 <a href="http://www.cnitblog.com/zcy860511/archive/2010/01/27/64010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 2</title><link>http://www.cnitblog.com/zcy860511/archive/2010/01/25/63957.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Mon, 25 Jan 2010 15:48:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2010/01/25/63957.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/63957.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2010/01/25/63957.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/63957.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/63957.html</trackback:ping><description><![CDATA[总算开始动手做这个javascript remote object invoker<br>因为是独立的框架并且参考了DWR的一些需求，发现DWR无法接受有参数的构造器，这可怎么得了。。。<br>所以加上了IOC的一丢丢（= =||这个是《爱情公寓》里面的用法）功能<br>OK,看下用法，这个东西做完之后会发上来<br>
<div><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&lt;!DOCTYPE&nbsp;remote-beas&nbsp;PUBLIC<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">"-//JAVAZONE//DTD&nbsp;Javazone&nbsp;Remote&nbsp;Object&nbsp;Invoker//EN"<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">"http://www.javazone.org/jroi10.dtd"&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&lt;remote-beans&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;class="org.javazone.jroi.example.Test"&nbsp;javascript="Test"&nbsp;scope="single"&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;constructor&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;args&nbsp;index="0"&nbsp;type="java.lang.Integer"&nbsp;value="23"&nbsp;/&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/constructor&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;method&nbsp;name="test"/&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt;<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&lt;/remote-beans&gt;</div>
很简单的配置，和Spring很像，呵呵<br>
<div><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">public&nbsp;class&nbsp;IocTest<br><img id=Codehighlighter1_21_556_Open_Image onclick="this.style.display='none'; Codehighlighter1_21_556_Open_Text.style.display='none'; Codehighlighter1_21_556_Closed_Image.style.display='inline'; Codehighlighter1_21_556_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img id=Codehighlighter1_21_556_Closed_Image onclick="this.style.display='none'; Codehighlighter1_21_556_Closed_Text.style.display='none'; Codehighlighter1_21_556_Open_Image.style.display='inline'; Codehighlighter1_21_556_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif"><img src="http://www.cnitblog.com/Images/dot.gif">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)<br><img id=Codehighlighter1_65_554_Open_Image onclick="this.style.display='none'; Codehighlighter1_65_554_Open_Text.style.display='none'; Codehighlighter1_65_554_Closed_Image.style.display='inline'; Codehighlighter1_65_554_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img id=Codehighlighter1_65_554_Closed_Image onclick="this.style.display='none'; Codehighlighter1_65_554_Closed_Text.style.display='none'; Codehighlighter1_65_554_Open_Image.style.display='inline'; Codehighlighter1_65_554_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cnitblog.com/Images/dot.gif">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClassLoader&nbsp;loader&nbsp;=&nbsp;Thread.currentThread().getContextClassLoader();<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;file&nbsp;=&nbsp;"org/javazone/jroi/example/jroi.config.xml";<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeanMetasConstructor&nbsp;constructor&nbsp;=&nbsp;new&nbsp;XMLBeanMetasConstructor(loader<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getResourceAsStream(file));<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeanMetas&nbsp;metas&nbsp;=&nbsp;constructor.construct();<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IoContainer&nbsp;container&nbsp;=&nbsp;new&nbsp;BeanMetasContainer(metas);<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.getBean("Test");<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.getBean("Test");<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.getBean("Test");<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.getBean("Test");<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container.getBean("Test");<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></div>
这个是一个测试的代码<br>
<div><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">public&nbsp;class&nbsp;Test<br><img id=Codehighlighter1_18_360_Open_Image onclick="this.style.display='none'; Codehighlighter1_18_360_Open_Text.style.display='none'; Codehighlighter1_18_360_Closed_Image.style.display='inline'; Codehighlighter1_18_360_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img id=Codehighlighter1_18_360_Closed_Image onclick="this.style.display='none'; Codehighlighter1_18_360_Closed_Text.style.display='none'; Codehighlighter1_18_360_Open_Image.style.display='inline'; Codehighlighter1_18_360_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif"><img src="http://www.cnitblog.com/Images/dot.gif">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Test(String&nbsp;str)<br><img id=Codehighlighter1_46_123_Open_Image onclick="this.style.display='none'; Codehighlighter1_46_123_Open_Text.style.display='none'; Codehighlighter1_46_123_Closed_Image.style.display='inline'; Codehighlighter1_46_123_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img id=Codehighlighter1_46_123_Closed_Image onclick="this.style.display='none'; Codehighlighter1_46_123_Closed_Text.style.display='none'; Codehighlighter1_46_123_Open_Image.style.display='inline'; Codehighlighter1_46_123_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cnitblog.com/Images/dot.gif">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str.toString()&nbsp;+&nbsp;"&nbsp;:&nbsp;"&nbsp;+&nbsp;str.getClass().toString());<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Test(Integer&nbsp;str)<br><img id=Codehighlighter1_153_230_Open_Image onclick="this.style.display='none'; Codehighlighter1_153_230_Open_Text.style.display='none'; Codehighlighter1_153_230_Closed_Image.style.display='inline'; Codehighlighter1_153_230_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img id=Codehighlighter1_153_230_Closed_Image onclick="this.style.display='none'; Codehighlighter1_153_230_Closed_Text.style.display='none'; Codehighlighter1_153_230_Open_Image.style.display='inline'; Codehighlighter1_153_230_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cnitblog.com/Images/dot.gif">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str.toString()&nbsp;+&nbsp;"&nbsp;:&nbsp;"&nbsp;+&nbsp;str.getClass().toString());<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Test(OtherBean&nbsp;b)<br><img id=Codehighlighter1_260_357_Open_Image onclick="this.style.display='none'; Codehighlighter1_260_357_Open_Text.style.display='none'; Codehighlighter1_260_357_Closed_Image.style.display='inline'; Codehighlighter1_260_357_Closed_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img id=Codehighlighter1_260_357_Closed_Image onclick="this.style.display='none'; Codehighlighter1_260_357_Closed_Text.style.display='none'; Codehighlighter1_260_357_Open_Image.style.display='inline'; Codehighlighter1_260_357_Open_Text.style.display='inline';" align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cnitblog.com/Images/dot.gif">{<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(hashCode());<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(b.hashCode());<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println();<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></div>
测试用的对象<br>下面是运行结果<br>
<div><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">DEBUG&nbsp;[main](XMLBeanMetasConstructor.java:85)&nbsp;-&nbsp;Create&nbsp;Beans<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">====================================&nbsp;remote-beans&nbsp;====================================<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">*****************************************&nbsp;1&nbsp;*****************************************<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;javascript:Test<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;class:org.javazone.jroi.example.Test<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;scope:single<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;constructor:<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arguments:<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type:java.lang.Integer<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value:23<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;methods:<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method:test<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">*************************************************************************************<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">====================================&nbsp;remote-beans&nbsp;end&nbsp;====================================<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif">23&nbsp;:&nbsp;class&nbsp;java.lang.Integer<br><img align=top src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif"></div>
<span style="COLOR: red"><br>注意上面最后一排的打印，这个打印是来自于Test类的构造函数，而因为配置里写了Scope="single"所以只创建的一个实例，尽管调用了多次container.getBean("Test");<br></span><br>当然，这里还有一个特点，因为Javascript必须是唯一的，所以和id同出一处，我在考虑要不要把这个javascript属性修改为id<br>我在考虑下，当然我保留了id用来处理注入<br>
<img src ="http://www.cnitblog.com/zcy860511/aggbug/63957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2010-01-25 23:48 <a href="http://www.cnitblog.com/zcy860511/archive/2010/01/25/63957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript Remote Object Invoker 1</title><link>http://www.cnitblog.com/zcy860511/archive/2009/12/29/63454.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Tue, 29 Dec 2009 09:47:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/12/29/63454.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/63454.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/12/29/63454.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/63454.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/63454.html</trackback:ping><description><![CDATA[<p>几天过去了<br>始终在纠结javascript里面为什么可以new function<br>不过，收获还是有的，总算是把系统的基础构架搭完了，看标题名就知道我在做什么，呵呵<br><br></p>
<img src ="http://www.cnitblog.com/zcy860511/aggbug/63454.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-12-29 17:47 <a href="http://www.cnitblog.com/zcy860511/archive/2009/12/29/63454.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最近写项目研究了一下java com bridge（jacob）</title><link>http://www.cnitblog.com/zcy860511/archive/2009/05/14/57214.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Thu, 14 May 2009 04:25:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/05/14/57214.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/57214.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/05/14/57214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/57214.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/57214.html</trackback:ping><description><![CDATA[其实对于java com bridge 在目前的应用看来多是对office进行直接操作<br>不过个人觉得从效率上来说非常不可取<br><br>当然可以考虑自己写JNI来实现对Office的操作，不过开发速度上就。。。。<br><br>其实poi是一个不错的项目，不过我不明白是不是因为office没开源的缘故，导致poi非常的不完善。。。等吧，或许以后的版本poi会有变化 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/57214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-05-14 12:25 <a href="http://www.cnitblog.com/zcy860511/archive/2009/05/14/57214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2009-2-6 再也再也不用JBuilder 搞开发了……</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/06/54320.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Fri, 06 Feb 2009 14:56:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/06/54320.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54320.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/06/54320.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54320.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54320.html</trackback:ping><description><![CDATA[<p>基于数据库的图书管理系统，基本功能完成了，添加了基本的权限管理<br>还没有通过测试，当然只是一个教学样板<br><br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/1.JPG" border=0><br><br><br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/2.jpg" border=0><br><br></p>
<img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/3.JPG" border=0><br><br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/4.JPG" border=0><br>刚刚修正了几个比较严重的BUG，还是因为JDK 1.4用不习惯造成的。。。哎<br><br>下面是代码下载地址<br><br>下载：<a title=运行用 href="http://www.cnitblog.com/Files/zcy860511/直接运行.rar">运行用</a>class文件<br><br>下载：<a title=源码 href="http://www.cnitblog.com/Files/zcy860511/src.rar">源码</a><br><br>下载：<a title="MySql 5.0 驱动" href="http://www.cnitblog.com/Files/zcy860511/mysqldriver.zip">MySql 5.0 驱动</a> 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-06 22:56 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/06/54320.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2009-2-4 累死人的JBuilder 9</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/04/54228.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Tue, 03 Feb 2009 22:59:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/04/54228.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54228.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/04/54228.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54228.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54228.html</trackback:ping><description><![CDATA[我不玩了，我玩不起，那个JBuilder 9，做图形简直怎一个垃圾了得。。。代码乱就算了。。我忍<br><br>还出N多Bug<br>哎<img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/1.jpg" border=0><br><br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/2.jpg" border=0>&nbsp;&nbsp;&nbsp;&nbsp; <img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/3.jpg" border=0><br><br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/4.jpg" border=0><br><br><br>没心情了。。。撒子都不写了，今天被搞烦了，总算他妈的要完工了
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-04 06:59 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/04/54228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>根据接口编程[原创]</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/03/54141.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Mon, 02 Feb 2009 19:30:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/03/54141.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54141.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/03/54141.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54141.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54141.html</trackback:ping><description><![CDATA[<p>什么叫根据接口编程，烟灰也是突然想到了这个词，接口是什么？行为的定义，以前一直都在懵懵懂懂中度过，一直都没想明白，那么怎么才能做到组件的最大利用率？<br>或者说，当我的前台组件删除之后，我的后台组件是否能够继续使用？<br>不要曲解我的意思，我的意思是指，当我不再使用以前的前台View组件之后，我的后台是否可以在不变的情况下继续使用？答案就在这里了，根据接口编程！<br><br>下面看一个举例：不是代码，不用紧张，看代码很头痛！<br><br>首先是登陆，是否有一个登陆窗口？嗯。。。确实<br>那么这个登陆窗口怎么体现？<br>实话，一百个人有一百个实现方式！<br>好了。。。。这下好了。。。重复利用率降低了<br>那么我在想，是不是可以给每个人提供一个行为准则呢？确实可以！那就是接口（最开始学习java的时候一直没明白这个准则有什么用，为什么要称为接口，Oh~ha，现在知道了？）<br>一个登陆窗口，我需要的属性有哪些？id、password哈！就这么点，那么可以定义两个方法<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 70.61%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 92px; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getId();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getPassword();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<p>然后就是怎么确定我的窗口是已经点击了OK或者是CANCEL？这是一个比较考验人的问题，那么我们需要一个方法以及两个常量字段！<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 72.7%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 92px; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getOption();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;OK_OPTION&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;CANCEL_OPTION&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span></div>
<p><br>这样就可以让外部知道我们的对话框弹出之后点击了哪个按钮<br>嗯，用户习惯有阻塞，或许你要说&#8230;&#8230;谁说一定就要阻塞？谁知道呢？你可以自己写阻塞嘛<br>最后也是最容易忽略的地方。。。显示窗口&#8230;&#8230;没这个方法完全是不可能的。。。。<br><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 69.99%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 26px; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;showDialog();</span></div>
<br><br>注意到了么？那个返回值，int！对了，这个就是提供给我们的阻塞写法的~<br><br>整段代码如下。。。<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_25_200_Open_Image onclick="this.style.display='none'; Codehighlighter1_25_200_Open_Text.style.display='none'; Codehighlighter1_25_200_Closed_Image.style.display='inline'; Codehighlighter1_25_200_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_25_200_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_25_200_Closed_Text.style.display='none'; Codehighlighter1_25_200_Open_Image.style.display='inline'; Codehighlighter1_25_200_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000">&nbsp;LoginUI&nbsp;</span><span id=Codehighlighter1_25_200_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_25_200_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;showDialog();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getOption();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getId();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getPassword();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;OK_OPTION&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;CANCEL_OPTION&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
好了，我们可以根据接口编程了，登陆对话框是什么？<br>鬼知道，谁实现了这个接口谁就可以实现登陆对话框~<br>下面我讲解如何根据接口编程了<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000">&nbsp;LoginObserver&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;Observer{<br><br>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;登陆通知，告诉程序，用户选择了登陆事件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;login();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;退出通知，告诉程序，用户选择了退出事件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;quit();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br></span></div>
<br>这个东西学过设计模式的同志应该非常的熟悉&#8230;&#8230;<br>对，观察者，嗯。。。我是个人理解，当一个事件被调用时，那么我们就要告诉观察者你该做点什么然后观察者会调用update方法<br><br>好了，不说这些看看，我们该做点什么<br>对了，登陆，那么方法应该这样写，当然我的需求是：当用户点击登陆时，会弹出对话框，如果验证失败，将保持对话框，除非用户点击取消，OK，看段代码<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;login()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;result;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;id;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;psw;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">do</span><span style="COLOR: #000000">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;loginUI.showDialog();<br><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</span><span style="COLOR: #008000">看见了吧？我这里是设置的阻塞模式，当然你可以不必这样写<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;loginUI.getId();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;psw&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;loginUI.getPassword();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(result&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;loginUI.OK_OPTION&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">loginModel.login(id,&nbsp;psw));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">除非用户选择取消，该登陆通知者会一直通知用户登陆</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="COLOR: #008000">//更新方法</span><br>&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br>OK，loginModel也是一个接口，定义如下<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000">&nbsp;LoginModel&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000">&nbsp;login(String&nbsp;id,&nbsp;String&nbsp;psw);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;User&nbsp;getLoginUser();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;Popedom&nbsp;getLoginPopedom();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000">&nbsp;isLogin();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;quit();<br>}</span></div>
<br><br>看到这里，大概明白了吧？怎么根据接口编程？<br>嗯。。。烟灰最近也算是悟出了，之后我要做的就是把前后台的代码分类，然后放在不同的包里，将接口完全独立出来，不论我的类如何的变，几个包都能协同工作，牛叉吧，传说中的接口编程就是这样了，其实很简单，不是么？ 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-03 03:30 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/03/54141.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2009-2-2 小型号发电机果然是要罢工的……</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/02/54110.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Sun, 01 Feb 2009 18:11:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/02/54110.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54110.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/02/54110.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54110.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54110.html</trackback:ping><description><![CDATA[好累，连续奋战了6天了，快一星期了&#8230;&#8230;<br>不过基本框架没问题了，就看怎么优化了，优化是一个恐怖的工作，累死人<br>权限的控制没添加，我估摸着应该比较容易&#8230;&#8230;就是几个JOptionPane而已，容易<br><br><br>看到题目可能要纳闷是吧？哎&#8230;&#8230;MySql在罢工，我没法，不过网上找到了解决的方案&#8230;&#8230;但是我一直觉得很纳闷，为什么sun的东西老有乱码问题？？？<br>哎&#8230;&#8230;看截图吧<br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/1.gif" border=0><br><br>我确实没搞明白为什么&#8230;&#8230;出问号，确实黑烦&#8230;&#8230;<br><br>将就了&#8230;&#8230;<br>今天把查询什么的也写好了<br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/2.gif" border=0><br><br>颜色丢失了&#8230;&#8230;本来就丑，就这样了&#8230;&#8230;UI写了没法用，我准备把这一版写好了换到Eclipse上把UI加上，嘿嘿<br>写了一个登陆的信息，没美工，哎&#8230;&#8230;<br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/1.gif" border=0><br><br>OK,今天就这样了&#8230;&#8230;我估摸着还要个2、3天才做的完这个 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-02 02:11 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/02/54110.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2009-2-1 今天开始更新，之后会不断更新  又是一个通宵……</title><link>http://www.cnitblog.com/zcy860511/archive/2009/02/01/54076.html</link><dc:creator>烟灰这名字被人抢了……</dc:creator><author>烟灰这名字被人抢了……</author><pubDate>Sun, 01 Feb 2009 00:03:00 GMT</pubDate><guid>http://www.cnitblog.com/zcy860511/archive/2009/02/01/54076.html</guid><wfw:comment>http://www.cnitblog.com/zcy860511/comments/54076.html</wfw:comment><comments>http://www.cnitblog.com/zcy860511/archive/2009/02/01/54076.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/zcy860511/comments/commentRss/54076.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zcy860511/services/trackbacks/54076.html</trackback:ping><description><![CDATA[最近很闷，又是一个通宵，不为别的，因为最近精神不好。。。<br>老是晚上才能集中精力，不过总算是将基本的框架给搭出来了，剩下的UI开发还是很成问题，JDK 1.4 没有提供的方法太多了，我在1.6中开发的那些UI将无法应用与现有的程序&#8230;&#8230;<br>不过总体来说JBuilder还算比较强大的，我不太愿意用Borland提供的一些类库，我觉得这样不容易转换平台，所以直接使用了JDK自带的类库，还是够用了&#8230;&#8230;<br>代码暂时不发了，因为我还有个小计划，就算要发也是最后完成了发了<br>花了三天看了些关于数据库建模的东西，简单的建立了一个图书管理系统的模型<br>PD确实方便建立数据库模型，比自己用DOC建模快多了<br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/o_2.gif" border=0><br>下面是图书管理系统的界面，我个人觉得很缺乏开发经验，而且由于是老师提供的一个题目而已，所以也没有需求&#8230;&#8230;所以很遗憾&#8230;&#8230;我没有写太多功能，而且现在还是半成品&#8230;&#8230;<br>不过基本符合MVC的模式，这点对于我的学习很关键，毕竟才学了一年多点的时间，个人觉得很难得了&#8230;&#8230;<br><img src="http://www.cnitblog.com/images/cnitblog_com/zcy860511/8014/o_1.gif" border=0> 
<img src ="http://www.cnitblog.com/zcy860511/aggbug/54076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zcy860511/" target="_blank">烟灰这名字被人抢了……</a> 2009-02-01 08:03 <a href="http://www.cnitblog.com/zcy860511/archive/2009/02/01/54076.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>