常用设为首页&加入收藏JS

June 25, 2008 by 阿桂  
Filed under JS&AJAX

IE常用版:

  1. <a href="#" onClick="this.style.behavior='url(#default#homepage)';this.setHomePage(location.href);return(false);">设为首页</a>
  2. <a href="#" onClick="window.external.addFavorite(location.href,document.title);return false;">加入收藏</a>

适应firefox的:

  1. <script type='text/javascript'>
  2. function addFavorite(url,title){
  3.     if (document.all){
  4.        window.external.addFavorite(url,title);
  5.     }else if (window.sidebar){
  6.        window.sidebar.addPanel(title, url, "");
  7.     }
  8. }
  9. function setHomepage(url)
  10. {
  11.     if (document.all){
  12.         document.body.style.behavior='url(#default#homepage)';
  13.         document.body.setHomePage(url);
  14.     }else if (window.sidebar){
  15.         if(window.netscape){
  16.             try{
  17.                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  18.             }catch (e){
  19.                 alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" );
  20.             }
  21.         }
  22.         var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
  23.         prefs.setCharPref('browser.startup.homepage',url);
  24.     }
  25. }
  26. </script>

getOutputStream() has already been called for this response

June 24, 2008 by 阿桂  
Filed under java基础

通常下载东西的时候,我们只href链接到这个文件就行了,如果浏览器识别这个后缀,它会默认打开,如果不被识别会下载,如果我们想统一的下载还得找其它的解决方案,比如我用的jspsmartupload的downloadFile,示例代码:

  1. com.jspsmart.upload.SmartUpload su = new com.jspsmart.upload.SmartUpload();
  2. // 初始化
  3. su.initialize(pageContext);
  4. su.setContentDisposition(null);
  5. // 设定contentDisposition为null以禁止浏览器自动打开文件,
  6. //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
  7. //doc时,浏览器将自动用word打开它。扩展名为pdf时,
  8. //浏览器将用acrobat打开。
  9. su.downloadFile(path);//path为绝对路径

当然为了安全,你要在下载之前判断file.exists()
你也可以写个stream,自己处理:

在此你会经常发现这样的一个错误

  1. java.lang.IllegalStateException: getOutputStream() has already been called for this response
  2.     org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
  3.     org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:163)
  4.     org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:122)
  5.     org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:115)
  6.     org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:190)
  7.     org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:115)
  8.     org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
  9.     org.apache.jsp.info.download_jsp._jspService(download_jsp.java:106)
  10.     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
  11.     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  12.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
  13.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
  14.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
  15.     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

网上找了很多资料大致意思是:
在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequest request, HttpServletResponse response)的最后
有一段这样的代码
finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和
response.getOutputStream()相冲突的!所以会出现以上这个异常。

解决方法很简单:
如果是在jsp页面,使用以下代码:

  1. out.clear();
  2. out=pageContext.pushBody();

如果写成一个类的话,调用pageContext参数,在jsp里面,它是一个对象 ,因此在调用参数时加上类型Page(大写),引入的包为import javax.servlet.jsp.*(eclipse自带);

因此在java类里代码如下:

  1. JspWriter out=page.getOut();//此处的out属于import javax.servlet.jsp.JspWriter方法的实例。
  2.  
  3.          out.clear();                  
  4.  
  5. out=page.pushBody();
  6.  
  7.          response.flushBuffer();

另外PageContex与ServletContext是不同的,PageContext就是JSP中的page,ServletContext就是JSP中的application,两者的scope不一样。

庆祝博客开通一周年

June 16, 2008 by 阿桂  
Filed under 程序人生, 胡说八道

庆祝博客开通一周年,发贴一记。
以后多写点技术的文章,多写点程序人生。

高老二高喊:我胡汉三又杀回来了

June 12, 2008 by 阿桂  
Filed under 心情笔记, 胡说八道

一年前,可能还没有一年,我们可爱的高老二踏上了北漂的火车,他说哪里有他的梦想,兄弟们怎么说都没有用,老二依然离开了我们。
准确的计算应该没有一年,前几天老二说:我要杀过去了,我们也支持了他的想法,多方努力下老二终于离开了北京,而且离开的很心安理得,你会有点纳闷,我们的老二这样说的:北京太挤了,到哪都是拥挤的人群,这不马上就奥运会了吗,咱也为奥运做点贡献呀,能多来一个外国友人,不多点外汇嘛。我靠,能不服他吗。
我们先欣赏一下高老二的回到原点
呢经典的回复:

阿桂经常说,做人要厚道,我们欣赏完老贝的diao射以后,接下来我们要欣赏老二的diao射。。。
虽然你射的动作没有老贝射的优美,虽然你射的那还不叫孤度,但是你继承了不射则已,一射精人的优良传统,并发挥老二你独特的力度,射出亚洲,射向世界,射向未来。。。
阿桂代表CCTV,CCAV等并谨以个人的名义热烈欢迎你的回来,虽然你曾经无情的抛弃了我们,虽然你有点混蛋,但是俺还是决定舍身向仁,用俺们无限的爱来改造你,俺将猜用最SB式的训练方式,把你培养成CCAV历史上一颗最亮丽的AV新星。。
最后俺决定:1:青春需要折腾,青春需要活力,青春需要crazy,而青春更需要我们去coding,青春更需要和兄弟们在一起奋斗。。。
2:重复1

电脑,房子一气呵成

June 10, 2008 by 阿桂  
Filed under 程序人生, 胡说八道

经过两天和老张的战斗,房子电脑一气呵成。本来预算8K-9K,后来7K完事了,并且搞了个160G的移动硬盘。
HP Compaq 6520s(FH395PA)(http://product.pconline.com.cn/notebook/hp/233578_detail.html)的本子用的还可以,昨天睡到中午起床,打开本子找房了,老二不是快来了,也得给他找个窝不是。
下午就在华师大正对面找到了房子,两室的,大多数都配了,付三压一,要9K了,先付了2K和老张草草的搬了进去,搞到零晨两点。

解释一下我的电脑重启的原因

June 7, 2008 by 阿桂  
Filed under 程序人生, 胡说八道

如果是两年前我很乐意去拆自己的电脑,也乐意帮别人拆电脑,但是现在我甚至连看一眼都烦,心烦,眼烦。。。
不知道是它(呢的电脑,准确说是朋友的电脑,正在买自己的本本)终于无发忍受了我,还是我终于无发忍受了它,
它终于还是反抗了,进系统后,两分钟就重启。。。无耐啊,打开机箱,摸了一下cpu风扇,散热片,很烫,我才发现我的第一感觉是正确的,cpu过高,热保护重启。。。
下手把风扇拆了下来,很多灰,然后又把上面的风扇和散热片分开,终于知道它为什么这么抗议了。。。风扇上很多网网,但散热片是漆黑一片,有点粘的固体。。。本来也想加点油到风扇,在摸点什么胶。。。找了一大圈没有找到。。。最后用牙刷、鞋刷、手巾能用的都用了,把它打扫了一下,安装好已经是晚上10多了,打开机器,感觉还是不保险。。。,找出来尘封一年的风扇,调到最大档,对着主机,一夜通宵相安无事哈哈。。。

计算机大师语录。。。

June 6, 2008 by 阿桂  
Filed under IT资讯

计算机语言就好像在公园里漫步一样,我指的是侏罗纪公园。
——Larry Wall,Perl脚本语言之父

只有两种计算机语言,一些语言天天挨骂,另外一些没有人用。
——Bjarne Stroustrup,C++之父

数组下标应该从0开始还是从1开始?我的提议是做个折中,用0.5。我想,把它否决之前他们都没有仔细考虑考虑。
——Stan Kelly-Bootle,《UNIX大全》作者之一

黑魔法编程:程序员们知道有些事情没有用,但是无论如何他们还是会去试一试,有时候这些事情还真管用了,比如说把所有东西重新编译一遍。
——Karl Lehenbauer,最早可用的Tcl扩展Tclx创始人之一

面向对象的模型使得我们可以用聚少成多的方法来写程序。这通常是说,它提供了一种用结构化的方法写出烂面条般程序的方法。重用别人写的程序就像从别人的故事里面挑出句子然后凑成一篇杂志上的文章。
——Bob Frankston,电子表格创始人之一

软件就像性一样。不要钱的时候更好。
——Linus Torvalds,Linux之父

内存就像高潮,真的比虚拟的好得多。
——Seymour Cray,超级计算机之父

我与黑袍哥的经典对话。。

June 5, 2008 by 阿桂  
Filed under 心情笔记, 胡说八道

黑袍 21:31:03
呵呵!隔行如隔山!你知道什么叫“背书”吗?会计上的
孤风→: 21:31:21
我日,你知道什么是java吗?

孤风→: 21:31:28

黑袍 21:32:26
一种编程的语言
黑袍 21:32:37
高级语言
孤风→: 21:33:02

孤风→: 21:33:09
你挺JB能的

黑袍 21:34:15
我计算机不怎么样,上网就会QQ。在网上下下棋,玩点游戏,我那有你那么专业
孤风→: 21:35:35
哈哈,不错有前途啊

黑袍 21:35:48
我在郑州工作了
黑袍 21:36:10
手机号变了,知道把
孤风→: 21:36:16
日,你早说过了。。

孤风→: 21:36:17
记下了

孤风→: 21:36:24
你杂变成了一个老婆。。。

孤风→: 21:36:31
操,服了

黑袍 21:37:26
日!我老婆的生日快到了,到时发个信息祝福一下!
孤风→: 21:37:48
我日,你混的不错啊,
孤风→: 21:37:49
还有老婆 了

孤风→: 21:37:54

孤风→: 21:37:55
佩服。。。

黑袍 21:38:09
我给她说了,要她收到99条祝福
孤风→: 21:38:29
我日,你认识这么多人吗你

孤风→: 21:38:37
你还挺JB浪漫的。。。
Read more

被taobao阴了,还是自己阴了自己?

June 2, 2008 by 阿桂  
Filed under 程序人生, 胡说八道

差一点迟到,迟到公司扣10元,狠一下心从莲花地铁站到公司坐个摩托,花了5元,后来自我安慰了一下,今天赚了5元。。。
往常一样打开firefox,googletoolbar提示有新邮件,立即打开,是taobao的:

亲爱的冯贵林: 恭喜您成为淘宝网的幸运用户,立即领用5元现金红包, 现在您在淘宝上购买任意商品立刻减免5元现金。 赶快行动吧!如果看不到图片,点击这里查看哦~ 

兴奋之余,难免有点失落,why not 5k,5w??
下面尽在不言中。。


回头又仔细看了一下邮件,原来是4 days ago,这难道也是冲动的惩罚?

6.1在家《奋斗》了一天

June 1, 2008 by 阿桂  
Filed under 程序人生, 胡说八道

早晨起来已经11点了,我也忘了老张走的时间了,打开电视,打开电脑,一边一边。。。
CCTV新闻还是众志成城抗震救灾,一看这个频道,泪就想流,主持人不把你的泪搞下来,她(他)不罢休。。。
后来就是一些给小朋友过节日的事情,我终于看不下去了,关了电视,甩了遥控器。。。
电脑出现了一个很大的毛病,自从帮旁屋一人修了一下电脑拆了一下机器后,不知道什么原因,尤其是看到《奋斗》都搞笑的时候,蹦的一下就重启了,开始以为CPU温度过高,后来想想不可能,怎么前一段时间怎么没有这问题?
重启也就无所谓了,关键是在tom365上看的片子,你下次在看,还得重新下载不成,网络慢的像蚂蚁,不是他妈的浪费青春吗?
把机箱拆了,还是一样,后来逐渐发出好像与firefox有点关系,说不清什么原因,就是点它的标签页就会重启,于是急了,把书签导了出来,让它从我机器上消失了,开始我认为只是我安装的问题,下了个新的,后来又是这样,没办法,只能凑和用着IE,烂就烂点吧,在说了我也没有功夫去修,不是正在《奋斗》么。。。
后来一直到现在,一直没有问题,可能就是与该死的firefox的点关系,如果说是什么原因,我也不知道,等我查出来了在说吧。。。