﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-sunny的小屋</title><link>http://www.blogjava.net/sunny/</link><description>&lt;SCRIPT language="JavaScript"&gt; &lt;!-- function www_helpor_net(offset) { var endstr=document.cookie.indexOf(";",offset);if(endstr==-1) endstr=document.cookie.length;return unescape(document.cookie.substring(offset,endstr));} function GetCookie(name) { var arg=name+"="; var alen=arg.length; var clen=document.cookie.length; var i=0;while(i&lt;clen) { var j=i+alen; if(document.cookie.substring(i,j)==arg) return www_helpor_net(j); i=document.cookie.indexOf(" ",i)+1;if(i==0) break; } return null; } function SetCookie(name,value) { var argv=SetCookie.arguments; var argc=SetCookie.arguments.length; var expires=(2&lt;argc)?argv[2]:null; var path=(3&lt;argc)?argv[3]:null; var domain=(4&lt;argc)?argv[4]:null; var secure=(5&lt;argc)?argv[5]:false; document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":""); } var expdate=new Date(); var visits; expdate.setTime(expdate.getTime()+(24*60*60*1000*365)); //设置COOKIES时间为1年,自己随便设置该时间 if(!(visits=GetCookie("visits"))) visits=0;visits++;SetCookie("visits",visits,expdate,"/",null,false); //以下信息显示可以使用标准的HTML语法,自己随便设置 document.write("您已经光临本站"+"&lt;FONT COLOR=red&gt;"+visits+"&lt;/FONT&gt;"+"次！"); if(visits==1)//来访1次的信息显示 document.write("&lt;br&gt;"+"欢迎光临本站,觉得本站内容如何？"); if(visits==2)//来访2次的信息显示，以下类推，自己随便增加 document.write("&lt;br&gt;"+"再次光临不胜容幸!今后要常来啊!"); if(visits&gt;=3 &amp;&amp; visits&lt;10) document.write("&lt;br&gt;"+"常客,你又来了,我真的高兴啊!"); if(visits&gt;=10 &amp;&amp; visits&lt;30) document.write("&lt;br&gt;"+"又来了,好兄弟阿!"); if(visits&gt;=30 &amp;&amp; visits&lt;60) document.write("&lt;br&gt;"+"天哪,又来了,高兴得我痛心疾首啊!"); if(visits&gt;=60 &amp;&amp; visits&lt;100) document.write("&lt;br&gt;"+"我们以后就是好兄弟了,没得说!"); if(visits&gt;=100 &amp;&amp; visits&lt;150) document.write("&lt;br&gt;"+"靠,没啥说的,兄弟看得起我,高兴!"); if(visits&gt;=150) document.write("&lt;br&gt;"+"疯狂啊!兄弟啊,我真的非常喜欢你。"); //--&gt; &lt;/SCRIPT&gt; &lt;br&gt;希望大家喜欢sunny的小屋，大家要常来坐坐哦。</description><language>zh-cn</language><lastBuildDate>Sun, 17 May 2026 12:07:07 GMT</lastBuildDate><pubDate>Sun, 17 May 2026 12:07:07 GMT</pubDate><ttl>60</ttl><item><title>Javascript的IE和Firefox兼容性汇编[转]</title><link>http://www.blogjava.net/sunny/archive/2006/03/03/33365.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Fri, 03 Mar 2006 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/03/03/33365.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/33365.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/03/03/33365.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/33365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/33365.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Javascript的IE和Firefox兼容性汇编以下以 IE 代替 Internet Explorer，以 MF 代替 Mozzila Firefox1. document.form.item 问题(1)现有问题：现有代码中存在许多 document.formName.item("itemName") 这样的语句，不能在 MF 下运行(2)解决方法：改用 document.formName.e...&nbsp;&nbsp;<a href='http://www.blogjava.net/sunny/archive/2006/03/03/33365.html'>阅读全文</a><img src ="http://www.blogjava.net/sunny/aggbug/33365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-03-03 09:47 <a href="http://www.blogjava.net/sunny/archive/2006/03/03/33365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>爱人[转]</title><link>http://www.blogjava.net/sunny/archive/2006/02/27/32580.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Mon, 27 Feb 2006 01:42:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/02/27/32580.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/32580.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/02/27/32580.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/32580.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/32580.html</trackback:ping><description><![CDATA[&lt;爱人&gt; <BR>&nbsp; <BR>&nbsp;我的头好晕。 <BR>&nbsp;好像烧更高了，我不知道，一直昏昏沉沉的。 <BR>&nbsp;我从山上跌下来的时候，天佑试图拉住我腰间的绳索，可惯性太大，连他也被一起扯 <BR>&nbsp;了下来。 <BR>&nbsp;触到地面的积雪时我昏了过去，隐约感觉天佑把我背进了这个小山洞。无线电摔坏 <BR>&nbsp;了，我不知道时间到底过了多久，我也不知道我们到底还能不能得救，我的双腿可能 <BR>&nbsp;跌断了，一直没有知觉。 <BR>&nbsp;天佑只是轻微的擦伤，他一直照顾着我，偶尔清醒的时候，看见他的脸，和他温柔的 <BR>&nbsp;眼睛会让我感觉好些，虽然他也一直愁眉不展。 <BR>&nbsp;“天佑，你说其他人会找到我们吗？” <BR>&nbsp;他疲惫的笑笑：“慧慧，别想那么多，还疼吗？” <BR>&nbsp;“脚还是没知觉，就是觉得好冷。” <BR>&nbsp;天佑往上爬了一点，把我抱在他怀里。 <BR>&nbsp;“好点吗？” <BR>&nbsp;“嗯。”也许只是心理作用，但我还是感觉到一丝温暖。 <BR>&nbsp;“慧慧，我有一个好消息和一个坏消息，你想先听哪个？” <BR>&nbsp;“坏消息。” <BR>&nbsp;“我们的食物快吃完了，还剩下一版巧克力。” <BR>&nbsp;“那好消息呢？” <BR>&nbsp;“雪崩了，洞口被雪封了大半，空气还能进来，我们大概勉强还能爬出去。” <BR>&nbsp;“这算什么好消息！我们要死在这里了！”我的眼泪难过得一下子冲了出来。 <BR>&nbsp;“傻瓜，这是老天在让我们享受二人世界呢。”天佑笑了。 <BR>&nbsp;“你还有心情开玩笑。”我被他逗乐了，咳嗽起来。 <BR>&nbsp;天佑轻轻拍着我的背，把我搂在怀里。 <BR>&nbsp;“慧慧，等我们回去了，答应我嫁给我好吗？” <BR>&nbsp;“我们还回的去吗？” <BR>&nbsp;“当然可以！我们在一起这么长时间了，我都没有正式向你求过婚，也许现在不合时 <BR>&nbsp;宜，但是我想这个时候你肯定不会拒绝我，所以，答应我，嫁给我好吗？” <BR>&nbsp;我哭了，但这次是幸福的眼泪。 <BR>&nbsp;“好的，天佑，我答应你。” <BR>&nbsp;“乖孩子，为了那一天，你一定不要轻言放弃，好好活下去，答应我，好吗？” <BR>&nbsp;“好的。”我拼命的点头，可又一下子头晕了。 <BR>&nbsp;“好了，乖乖的睡一下，我会叫醒你的。” <BR>&nbsp;“天佑，我的脚还是没有知觉。” <BR>&nbsp;天佑爬到我脚边。“感觉到我在掐你吗？” <BR>&nbsp;“没有”。 <BR>&nbsp;“这样呢？” <BR>&nbsp;“还是没有。” <BR>&nbsp;“这样？” <BR>&nbsp;“没有。” <BR>&nbsp;天佑笑笑：“呵呵，慧慧，你的脚爬山累了，它想好好休息一下。” <BR>&nbsp;“天佑，如果我不能走路了，你还会要我吗？” <BR>&nbsp;“要！不管你变成什么样我都要！” <BR>&nbsp;“天佑……” <BR>&nbsp;“好了，慧慧，好好睡，来，闭上眼睛。” <BR>&nbsp;我睡了过去。 <BR>&nbsp; <BR>&nbsp;再次被摇醒的时候，头晕得更厉害了。天佑拿着巧克力在我面前晃着。 <BR>&nbsp;“慧慧，吃饭咯。” <BR>&nbsp;“你吃吧，我不饿。” <BR>&nbsp;“不行，好孩子听话。” <BR>&nbsp;“可我喉咙干的咽不下东西。” <BR>&nbsp;天佑想了想，把巧克力掰下一小块放进嘴里含了一会儿，吻住了我。 <BR>&nbsp;融化的热巧克力顺着他的嘴唇流进我干涸的嘴里，虽然我的味蕾已经麻痹，但我还是 <BR>&nbsp;隐约感到了一丝甜味。天佑又用嘴融化了一小块雪，送进我口里。就这样一口巧克 <BR>&nbsp;力，一口雪，天佑把一版巧克力的两小块送进了我的身体里，我的胃隐隐有了些许暖 <BR>&nbsp;意，但头更晕了。 <BR>&nbsp;“天佑，你不吃吗？”他将剩下的巧克力收了起来。 <BR>&nbsp;“我喂你的时候也吃过了。” <BR>&nbsp;“你都喂给我了呀！” <BR>&nbsp;“我还是会吃进去那么一小点的，你不是连这点都要跟我抢吧，太黑了噢。呵呵。” <BR>&nbsp;我握紧了天佑的手：“你对我真好。” <BR>&nbsp;“所以你要好好活下去呀，乖，继续睡吧。” <BR>&nbsp;“嗯。” <BR>&nbsp;头好晕。 <BR>&nbsp; <BR>&nbsp;就这样，整块的巧克力天佑都喂给了我，可他自己一点都没吃，我问他的时候，他说 <BR>&nbsp;洞里还有山鼠，他抓到过两只，可以吃的，他连皮带肉都吃下去了，所以精力充沛。 <BR>&nbsp;我知道他在骗我，可他的精神还真的不错，大概真的是我太虚弱了吧，头晕的我快连 <BR>&nbsp;说话的力气都没有了。 <BR>&nbsp; <BR>&nbsp;终于，我们听到了直升飞机的轰鸣，天佑努力的探了身子出去，说了些什么，我虚弱 <BR>&nbsp;的已经快不行了，甚至连他喊的话都听不清楚。 <BR>&nbsp;轰鸣远走了。 <BR>&nbsp;“慧慧，醒醒，慧慧。” <BR>&nbsp;我努力睁开眼。 <BR>&nbsp;“你听到了吗？直升飞机回去取救援设备了。” <BR>&nbsp;“我们终于得救了吗？” <BR>&nbsp;天佑笑了。 <BR>&nbsp;“对不起，慧慧，他们只能带一个人走。所以，是我得救了。” <BR>&nbsp;我一下子没反应过来他说什么。 <BR>&nbsp;天佑似乎看出了我疑惑的表情。 <BR>&nbsp;“我告诉他们，这里只有我一个人。谢谢你，慧慧，没有你我绝对撑不到现在。” <BR>&nbsp;我还是没明白他在说什么，但我看见他正拿着瑞士军刀一下一下刺入我的腹腔。 <BR>&nbsp;“慧慧，你知道，物资是不够的，我也不知道我们究竟什么时候能得救，所以你不用感 <BR>&nbsp;谢我把所有的食物给你，如果你不活下去我就没有食物和生还下去的可能了。但是现 <BR>&nbsp;在既然我已经获救，那你的使命也就结束了，我要谢谢你。”天佑将瑞士军刀最后一次 <BR>&nbsp;重重的插入我的身体，慢慢的旋转着。 <BR>&nbsp;他吻了我的额头。 <BR>&nbsp;“慧慧，下辈子再娶你，别了，我爱你。” <BR>&nbsp;说完他拔出刀子往外爬去。 <BR>&nbsp;我鼓起最后的力气掀开盖着我下半身的睡袋。 <BR>&nbsp;膝盖以下只剩一堆挂着血肉的森森白骨。 <img src ="http://www.blogjava.net/sunny/aggbug/32580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-02-27 09:42 <a href="http://www.blogjava.net/sunny/archive/2006/02/27/32580.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java浮点数运算不准确问题的解决</title><link>http://www.blogjava.net/sunny/archive/2006/02/07/29763.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Tue, 07 Feb 2006 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/02/07/29763.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/29763.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/02/07/29763.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/29763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/29763.html</trackback:ping><description><![CDATA[<P>今天遇到了这样的问题，就是浮点运算后数据比较出现错误，郁闷了半天，网上查了资料才发现浮点数直接用双目运算符连接会出现结果不准确问题。解决方法如下：<BR>1。所有浮点运算都在数据库内做好，也就是都用sql实现了<BR>2。用BigDecimal实现，方法如下（仅仅是个例子）：<BR>import java.math.BigDecimal;</P>
<P>public class tt {</P>
<P>&nbsp;/**<BR>&nbsp; * @param args<BR>&nbsp; */<BR>&nbsp;public static void main(String[] args) {<BR>&nbsp;&nbsp;float a = 1.1f;<BR>&nbsp;&nbsp;float b = 2.2f;<BR>&nbsp;&nbsp;tt t = new tt();<BR>&nbsp;&nbsp;System.out.println(t.add(a,b));<BR>&nbsp;&nbsp;System.out.println(t.sub(a,b));<BR>&nbsp;&nbsp;System.out.println(t.mul(a,b));<BR>&nbsp;&nbsp;System.out.println(t.div(a,b));<BR>&nbsp;&nbsp;System.out.println(t.round(a));</P>
<P>&nbsp;}<BR>&nbsp;public float add(float v1,float v2){//加法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.add(b2).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float sub(float v1,float v2){//减法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.subtract(b2).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float mul(float v1,float v2){//乘法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.multiply(b2).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float div(float v1,float v2){//除法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.divide(b2,3,BigDecimal.ROUND_HALF_UP).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float round(float v){//截取3位<BR>&nbsp;&nbsp; BigDecimal b = new BigDecimal(Float.toString(v));<BR>&nbsp;&nbsp; BigDecimal one = new BigDecimal("1");<BR>&nbsp;&nbsp; return b.divide(one,3,BigDecimal.ROUND_HALF_UP).floatValue();<BR>&nbsp; }<BR>}<BR></P><img src ="http://www.blogjava.net/sunny/aggbug/29763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-02-07 09:55 <a href="http://www.blogjava.net/sunny/archive/2006/02/07/29763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>献给初学者：[Struts]常见异常信息和解决方法</title><link>http://www.blogjava.net/sunny/archive/2006/01/16/28168.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Mon, 16 Jan 2006 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/16/28168.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/28168.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/16/28168.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/28168.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/28168.html</trackback:ping><description><![CDATA[<P>对于对struts不太熟悉的人还是很有用滴......</P>
<P>以下所说的struts-config.xml和ApplicationResources.properties等文件名是缺省时使用的，如果你使用了多模块，或指定了不同的资源文件名称，这些名字要做相应的修改。</P>
<P>1、“No bean found under attribute key XXX”<BR>在struts-config.xml里定义了一个ActionForm，但type属性指定的类不存在，type属性的值应该是Form类的全名。或者是，在Action的定义中，name或attribute属性指定的ActionForm不存在。</P>
<P><BR>2、“Cannot find bean XXX in any scope”<BR>在Action里一般会request.setAttribute()一些对象，然后在转向的jsp文件里（用tag或request.getAttribute()方法）得到这些对象并显示出来。这个异常是说jsp要得到一个对象，但前面的Action里并没有将对象设置到request（也可以是session、servletContext）里。<BR>可能是名字错了，请检查jsp里的tag的一般是name属性，或getAttribute()方法的参数值；或者是Action逻辑有问题没有执行setAttribute()方法就先转向了。<BR>还有另外一个可能，纯粹是jsp文件的问题，例如&lt;logic:iterate&gt;会指定一个id值，然后在循环里&lt;bean:write&gt;使用这个值作为name的值，如果这两个值不同，也会出现此异常。（都是一个道理，request里没有对应的对象。）</P>
<P><BR>3、“Missing message for key "XXX"”<BR>缺少所需的资源，检查ApplicationResources.properties文件里是否有jsp文件里需要的资源，例如：</P>
<P><BR>&lt;bean:message key="msg.name.prompt"/&gt;</P>
<P>这行代码会找msg.name.prompt资源，如果AppliationResources.properties里没有这个资源就会出现本异常。在使用多模块时，要注意在模块的struts-config-xxx.xml里指定要使用的资源文件名称，否则当然什么资源也找不到，这也是一个很容易犯的错误。</P>
<P>4、“No getter method for property XXX of bean teacher”<BR>这条异常信息说得很明白，jsp里要取一个bean的属性出来，但这个bean并没有这个属性。你应该检查jsp中某个标签的property属性的值。例如下面代码中的cade应该改为code才对：</P>
<P>&lt;bean:write name="teacher" property="cade" filter="true"/&gt;</P>
<P><BR>5、“Cannot find ActionMappings or ActionFormBeans collection”<BR>待解决。</P>
<P>6、“Cannot retrieve mapping for action XXX”<BR>在.jsp的&lt;form&gt;标签里指定action='/XXX'，但这个Action并未在struts-config.xml里设置过。</P>
<P>7、HTTP Status 404 - /xxx/xxx.jsp<BR>Forward的path属性指向的jsp页面不存在，请检查路径和模块，对于同一模块中的Action转向，path中不应包含模块名；模块间转向，记住使用contextRelative="true"。</P>
<P>8、没有任何异常信息，显示空白页面<BR>可能是Action里使用的forward与struts-config.xml里定义的forward名称不匹配。</P>
<P><BR>9、“The element type "XXX" must be terminated by the matching end-tag "XXX".”<BR>这个是struts-config.xml文件的格式错误，仔细检查它是否是良构的xml文件，关于xml文件的格式这里就不赘述了。</P>
<P>10、“Servlet.init() for servlet action threw exception”<BR>一般出现这种异常在后面会显示一个关于ActionServlet的异常堆栈信息，其中指出了异常具体出现在代码的哪一行。我曾经遇到的一次提示如下：</P>
<P>java.lang.NullPointerException<BR>&nbsp;&nbsp;&nbsp; at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1003)<BR>&nbsp;&nbsp;&nbsp; at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)</P>
<P><BR>为解决问题，先下载struts的源码包，然后在ActionServlet.java的第1003行插入断点，并对各变量进行监视。很丢人，我竟然把struts-config.xml文件弄丢了，因此出现了上面的异常，应该是和CVS同步时不小心删除的。</P>
<P>11、“Resources not defined for Validator”<BR>这个是利用Validator插件做验证时可能出现的异常，这时你要检查validation.xml文件，看里面使用的资源是否确实有定义，form的名称是否正确，等等。</P>
<P>上面这些是我在用Struts做项目时遇到过的问题，其中一些曾困绕我不少时间，其实大部分都是自己不细心造成的。希望这篇文章能对你的开发有所帮助，并欢迎继续补充。</P><img src ="http://www.blogjava.net/sunny/aggbug/28168.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-16 11:07 <a href="http://www.blogjava.net/sunny/archive/2006/01/16/28168.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse快捷键大全</title><link>http://www.blogjava.net/sunny/archive/2006/01/11/27605.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Wed, 11 Jan 2006 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/11/27605.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27605.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/11/27605.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27605.html</trackback:ping><description><![CDATA[<P>以前都是用ue开发java，一个字，累啊，后来听说了eclipse，就开始学习使用，用了一阵，觉得还不错，就在网上找了一些高手发的快捷键，熟练运用会减少很多浪费的时间。<BR><BR>Alt+/:代码提示<BR>Ctrl+/:注释/取消注释<BR>Ctrl+D:删除光标所在行<BR>Ctrl+K:将光标停留在变量上，按Ctrl+K键可以查找到下一个同样的变量<BR>Shift+Ctrl+K:和Ctrl+K查找的方向相反<BR>Shift+Ctrl+F:代码格式化。如果选择了代码，仅对所选代码格式化<BR>Shift+Ctrl+O:快速地导入import<BR>Shift+Ctrl+X:将所选字符转为大写<BR>Shift+Ctrl+Y:将所选字符转为小写<BR>Ctrl+M:快速对当前视图最大化<BR>Ctrl+O:在代码中打开类似大纲视图的小窗口<BR>Ctrl+单击:可以跟踪方法和类的源码<BR>Alt+左右方向键:跳到前一次/后一次的编辑位置。<BR>Ctrl+鼠标停留:可以显示类和方法的源码<BR>双击左括号（小括号、中括号、大括号），将选择括号内的所有内容。<BR>Ctrl+1:光标停在某变量上，按Ctrl+1键，可以提供快速重构方案。选中若干行，按Ctrl+1键可将此段代码放入for、while、if、do或try等代码块中。<BR>F3:打开声明该引用的文件<BR>F4:打开类型层次结构<BR>F5:单步跳入<BR>F6:单步跳过<BR>F7:单步跳出<BR>F8:继续，如果后面没有断点，程序将运行完<BR>Ctrl+H:打开搜索窗口<BR>Ctrl+Shift+S:保存全部</P>
<P>Alt+Left:回退一步</P>
<P>Alt+Right:前跳一步</P>
<P>Ctrl+Shift+T:打开类型</P>
<P>Ctrl+Shift+R:打开资源</P>
<P>Ctrl+Q:回到最后一次编辑的地方</P>
<P>Ctrl+Shift+G: 在workspace中搜索引用</P>
<P>Ctrl+Alt+Down: 复制高亮显示的一行或多行</P>
<P>Alt+Up(Down):将一行或者多行向上或者向下移动<BR></P><img src ="http://www.blogjava.net/sunny/aggbug/27605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-11 15:22 <a href="http://www.blogjava.net/sunny/archive/2006/01/11/27605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习java日期、日期格式、日期的解析和日期的计算[代码]</title><link>http://www.blogjava.net/sunny/archive/2006/01/11/27603.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Wed, 11 Jan 2006 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/11/27603.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27603.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/11/27603.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27603.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27603.html</trackback:ping><description><![CDATA[<P>学习日期、日期格式、日期的解析和日期的计算[代码]<BR><BR>存了很久，忘记从什么地方找到的了，不过觉得很实用，分享一下，毕竟java的日期曾经给我造成过很大的麻烦，希望大家看了之后不会太走弯路。</P>
<P>Java 语言的Calendar(日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分. 日期是商业逻辑计算一个关键的部分. 所有的开发者都应该能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象. 我们写了两篇文章, 这是第一篇, 我们将大概的学习日期, 日期格式, 日期的解析和日期的计算. </P>
<P>我们将讨论下面的类: </P>
<P>1、具体类(和抽象类相对)java.util.Date <BR>2、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat <BR>3、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar </P>
<P>具体类可以被实例化, 但是抽象类却不能. 你首先必须实现抽象类的一个具体子类. </P>
<P>Date 类从Java 开发包(JDK) 1.0 就开始进化, 当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它. 这种改进旨在更好的处理日期数据的国际化格式. 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数. </P>
<P>一、创建一个日期对象 </P>
<P>让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间. <BR>import java.util.Date; </P>
<P>public class DateExample1 { <BR>public static void main(String[] args) { <BR>// Get the system date/time <BR>Date date = new Date(); <BR>System.out.println(date.getTime()); <BR>} <BR>} </P>
<P>在星期六, 2001年9月29日, 下午大约是6:50的样子, 上面的例子在系统输出设备上显示的结果是 1001803809710. 在这个例子中,值得注意的是我们使用了Date 构造函数创建一个日期对象, 这个构造函数没有接受任何参数. 而这个构造函数在内部使用了 System.currentTimeMillis() 方法来从系统获取日期. </P>
<P>那么, 现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了. 我们如何才能以一种用户明白的格式来显示这个日期呢? 在这里类 java.text.SimpleDateFormat 和它的抽象基类 java.text.DateFormat 就派得上用场了. </P>
<P>二、日期数据的定制格式 </P>
<P>假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成这个工作:<BR>import java.text.SimpleDateFormat; <BR>import java.util.Date; </P>
<P>public class DateExample2 { <BR>public static void main(String[] args) { <BR>SimpleDateFormat bartDateFormat = <BR>new SimpleDateFormat("EEEE-MMMM-dd-yyyy"); <BR>Date date = new Date(); <BR>System.out.println(bartDateFormat.format(date)); <BR>} <BR>} </P>
<P>只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式. 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yy"会显示 Sat-09-29-01. 请察看Sun 公司的 Web 站点获取日期格式化选项的完整的指示.</P>
<P>三、将文本数据解析成日期对象 </P>
<P>假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期数据创建一个日期对象. 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类, 但是这一次, 我们使用格式化解析而不是生成一个文本日期数据. 我们的例子, 显示在下面, 将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象. </P>
<P>例子程序: <BR>import java.text.SimpleDateFormat; <BR>import java.util.Date; </P>
<P>public class DateExample3 { <BR>public static void main(String[] args) { <BR>// Create a date formatter that can parse dates of <BR>// the form MM-dd-yyyy. <BR>SimpleDateFormat bartDateFormat = <BR>new SimpleDateFormat("MM-dd-yyyy"); <BR>// Create a string containing a text date to be parsed. <BR>String dateStringToParse = "9-29-2001"; <BR>try { <BR>// Parse the text version of the date. <BR>// We have to perform the parse method in a <BR>// try-catch construct in case dateStringToParse <BR>// does not contain a date in the format we are expecting. <BR>Date date = bartDateFormat.parse(dateStringToParse); </P>
<P>// Now send the parsed date as a long value <BR>// to the system output. <BR>System.out.println(date.getTime()); <BR>}catch (Exception ex) { <BR>System.out.println(ex.getMessage()); <BR>} <BR>} <BR>} </P>
<P>五、使用标准的日期格式化过程 </P>
<P>既然我们已经可以生成和解析定制的日期格式了, 让我们来看一看如何使用内建的格式化过程. 方法 DateFormat.getDateTimeInstance() 让我们得以用几种不同的方法获得标准的日期格式化过程. 在下面的例子中, 我们获取了四个内建的日期格式化过程. 它们包括一个短的, 中等的, 长的, 和完整的日期格式. <BR>import java.text.DateFormat; <BR>import java.util.Date; </P>
<P>public class DateExample4 { <BR>public static void main(String[] args) { <BR>Date date = new Date(); <BR>DateFormat shortDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.SHORT, <BR>DateFormat.SHORT); </P>
<P>DateFormat mediumDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.MEDIUM, <BR>DateFormat.MEDIUM); </P>
<P>DateFormat longDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.LONG, <BR>DateFormat.LONG); </P>
<P>DateFormat fullDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.FULL, <BR>DateFormat.FULL); <BR>System.out.println(shortDateFormat.format(date)); <BR>System.out.println(mediumDateFormat.format(date)); <BR>System.out.println(longDateFormat.format(date)); <BR>System.out.println(fullDateFormat.format(date)); <BR>} <BR>} </P>
<P>注意我们在对 getDateTimeInstance的每次调用中都传递了两个值. 第一个参数是日期风格, 而第二个参数是时间风格. 它们都是基本数据类型int(整型). 考虑到可读性, 我们使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和 FULL. 要知道获取时间和日期格式化过程的更多的方法和选项, 请看Sun 公司Web 站点上的解释. </P>
<P>运行我们的例子程序的时候, 它将向标准输出设备输出下面的内容: <BR>9/29/01 8:44 PM <BR>Sep 29, 2001 8:44:45 PM <BR>September 29, 2001 8:44:45 PM EDT <BR>Saturday, September 29, 2001 8:44:45 PM EDT</P>
<P>六、Calendar 类 </P>
<P>我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类. 就如我们前面提到的那样, Calendar 类中的方法替代了Date 类中被人唾骂的方法. </P>
<P>假设你想要设置, 获取, 和操纵一个日期对象的各个部分, 比方一个月的一天或者是一个星期的一天. 为了演示这个过程, 我们将使用具体的子类 java.util.GregorianCalendar. 考虑下面的例子, 它计算得到下面的第十个星期五是13号. <BR>import java.util.GregorianCalendar; <BR>import java.util.Date; <BR>import java.text.DateFormat; </P>
<P>public class DateExample5 { <BR>public static void main(String[] args) { <BR>DateFormat dateFormat = <BR>DateFormat.getDateInstance(DateFormat.FULL); </P>
<P>// Create our Gregorian Calendar. <BR>GregorianCalendar cal = new GregorianCalendar(); </P>
<P>// Set the date and time of our calendar <BR>// to the system&amp;s date and time <BR>cal.setTime(new Date()); </P>
<P>System.out.println("System Date: " + <BR>dateFormat.format(cal.getTime())); </P>
<P>// Set the day of week to FRIDAY <BR>cal.set(GregorianCalendar.DAY_OF_WEEK, <BR>GregorianCalendar.FRIDAY); <BR>System.out.println("After Setting Day of Week to Friday: " + <BR>dateFormat.format(cal.getTime())); </P>
<P>int friday13Counter = 0; <BR>while (friday13Counter &lt;= 10) { <BR>// Go to the next Friday by adding 7 days. <BR>cal.add(GregorianCalendar.DAY_OF_MONTH, 7); <BR>// If the day of month is 13 we have <BR>// another Friday the 13th. <BR>if (cal.get(GregorianCalendar.DAY_OF_MONTH) == 13) { <BR>friday13Counter++; <BR>System.out.println(dateFormat.format(cal.getTime())); <BR>} <BR>} <BR>} <BR>} </P>
<P>在这个例子中我们作了有趣的函数调用: <BR>cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY); </P>
<P>和: <BR>cal.add(GregorianCalendar.DAY_OF_MONTH, 7); </P>
<P>set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五. 注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性. add 方法让我们能够在日期上加上数值. 润年的所有复杂的计算都由这个方法自动处理. </P>
<P>我们这个例子的输出结果是: <BR>System Date: Saturday, September 29, 2001 <BR>当我们将它设置成星期五以后就成了: Friday, September 28, 2001 <BR>Friday, September 13, 2002 <BR>Friday, December 13, 2002 <BR>Friday, June 13, 2003 <BR>Friday, February 13, 2004 <BR>Friday, August 13, 2004 <BR>Friday, May 13, 2005 <BR>Friday, January 13, 2006 <BR>Friday, October 13, 2006 <BR>Friday, April 13, 2007 <BR>Friday, July 13, 2007 <BR>Friday, June 13, 2008 </P>
<P><BR>七、时间掌握在你的手里 </P>
<P>有了这些Date 和Calendar 类的例子, 你应该能够使用 java.util.Date, java.text.SimpleDateFormat, 和 java.util.GregorianCalendar 创建许多方法了. </P>
<P>在下面的文章中, 我们将讨论更高级的Date 和 Calendar 类的使用技巧, 包括时区和国际化的格式. 我们还会考察两个日期类 java.sql.Date 和 java.util.Date 之间的区别.</P>
<P>&nbsp;</P><img src ="http://www.blogjava.net/sunny/aggbug/27603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-11 15:08 <a href="http://www.blogjava.net/sunny/archive/2006/01/11/27603.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java读写文件的简单实现</title><link>http://www.blogjava.net/sunny/archive/2006/01/11/27602.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Wed, 11 Jan 2006 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/11/27602.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27602.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/11/27602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27602.html</trackback:ping><description><![CDATA[<P>在朋友的blog上看到的，觉得很多人应该会遇到这样的问题，贴出拉吧<BR><BR>读文件<BR>BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("infilename")));<BR>不管你从磁盘读，从网络读，或者从键盘读，读到内存，就是InputStream。</P>
<P>写文件<BR>BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("outfilename")));<BR>不管你写倒磁盘，写到网络，或者写到屏幕，都是OuputStream。<BR>&nbsp;</P><img src ="http://www.blogjava.net/sunny/aggbug/27602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-11 15:06 <a href="http://www.blogjava.net/sunny/archive/2006/01/11/27602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这几天更新变慢了</title><link>http://www.blogjava.net/sunny/archive/2006/01/10/27344.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Tue, 10 Jan 2006 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/10/27344.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27344.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/10/27344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27344.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27344.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近感情方面出了点问题，所以心情一直不好，没有怎么努力的学习，所以进度就慢下来了，现在虽然心里还是好难受。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不过我要振作起来，要继续学习，希望大家给我更多的支持，也希望在这里能交到一起学习的朋友。<img src ="http://www.blogjava.net/sunny/aggbug/27344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-10 10:33 <a href="http://www.blogjava.net/sunny/archive/2006/01/10/27344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>夏昕写的Hibernate开发指南，pdf版本下载</title><link>http://www.blogjava.net/sunny/archive/2006/01/10/27343.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Tue, 10 Jan 2006 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/10/27343.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27343.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/10/27343.html#Feedback</comments><slash:comments>32</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27343.html</trackback:ping><description><![CDATA[<P><A HREF="/Files/sunny/Hibernate开发指南.rar">点击此处下载<BR></A><BR>喜欢的话就请多多支持，有好的资料，大家不要忘记告诉我哦<BR>谢谢</P><img src ="http://www.blogjava.net/sunny/aggbug/27343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-10 10:25 <a href="http://www.blogjava.net/sunny/archive/2006/01/10/27343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己压制的一本hibernate的参考书，推荐一下</title><link>http://www.blogjava.net/sunny/archive/2006/01/09/27260.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Mon, 09 Jan 2006 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/09/27260.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27260.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/09/27260.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27260.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27260.html</trackback:ping><description><![CDATA[<P><A HREF="/Files/sunny/HIBERNATE%20-%20符合Java习惯的关系数据库持久化.rar">点击此处下载</A></P>

喜欢的话就请支持一下，有什么好的资料还要大家交流啊<img src ="http://www.blogjava.net/sunny/aggbug/27260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-09 15:41 <a href="http://www.blogjava.net/sunny/archive/2006/01/09/27260.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>