星期三, 十一月 30, 2005

小心你的头!哦不,是HTTP头…

抽空帮一个同事 解决了一个问题,感觉有必要记一下,这属于很让人分特的问题,如果没有反应过来可能按着一条错误的路跑到明年自己还都不知道。
事情是这样的……
公司的OA应用在tomcat上表现一切正常,但客户需要移植到他们用Resin搭建的应用服务器上,所以我的同事想先测试一下(对Java的WORA还是有些怀疑,是吧?:P),果不其然(果然还是怀疑的…)应用出错了,但不是程序的问题,只是一个日历和时间的控件怎么也没办法显示,公司里可没JS牛人,我就勉强被叫过去看看。
由于以前没有接触过这个产品,就让他演示给我看。其实显示日历和时间都是靠showModalDialog()这个破方法显示的,里面的内容是靠一个jsp显示,于是继续看那个负责显示内容的jsp。打开这个jsp,很奇怪,IE提示有错误,而同样的部署在tomcat上的应用的同一个jsp打开后则不会出现这个错误。继续看代码…
代码里有一段通过Style声明导入一个.htc的控件(Style来导入控件,分特,挂什么卖什么…),打开这个.htc的代码,恩,比较正常的一大篇javascript,接下来在浏览器里直接打开…
恩?奇怪,访问Resin服务器时那段js是显示出来的,而访问Tomcat服务器时则提示下载,哦…
一切都明了了,用ieHttpHeaders一看,Tomcat对.htc类型的文件会返回Content-Type: text/x-component的头部,而Resin则像哑了一样,啥也没返回,而我记得IE对没有Content-Type的文件的处理是按照text/html来处理的,所以就…
解决方法:给Resin的什么什么.xml文件里加上这个MIME类型的声明就一切OK了。根本和程序不搭靠。
IE的这种行为我记得几年前被一个ID为crazybird的同学找到过,报告为bug,但微软的人根本没鸟这种报告,说是正常行为,其实我也觉得从一个开发人员的角度来看IE的这个行为不是太过分,但从搞安全的人看来则完全是不负责任的,具体原因略过不提,有丁点想像力的人就能想像到。不过IE,为什么就不能处理为text/plain呢?

星期一, 十一月 28, 2005

XUL终于被人看到了…

据说Yahoo!在招会XUL的人,赫赫,看来做web应用的人也终于算是看到UI的重要性了,不像以前那样用若干个2D强人把页面搞得巨酷,而是开始重视起UI与用户的交互了,好现象,不是吗?好在一直以来对HTML、js和XUL都比较重视,要是有条件试验XAML也早就去看了。UI matters,尤其对于web应用,大家原先都在同一条起跑线上,静态的交互,漫长的form提交,现在出来AJAX一下就把差距拉大了,要是不跟进,难保以后会被人摔开:用户都习惯了灵活又漂亮的UI,谁还鸟你的静态页,加上图片、flash也不行(除非页上的Flash已经搞得比较RIA了)。以后又是XUL、XAML了,你的HTML得做成什么样才能到这种表现能力?

星期三, 十一月 23, 2005

时间紧,任务重~

面对着对灵活性要求比较高的广告管理,准备通过script.aculo.usdrag-n-drop功能实现,恩,管理页面的功能强大了,后台的逻辑也简单些,省得处理繁杂的参数们。

星期二, 十一月 22, 2005

读书计划:Java Performance Tuning

刚从公司的小图书馆借来,又是我最喜欢的性能话题,虽然是影印版的,争取尽量短的时间内完成吧。536 pages。

星期一, 十一月 21, 2005

新的刀山火海

从今天就正式开始了。一个月做一个人才网站怎么都让我觉得不太现实,好在可以建立在公司自己开发的CMS基础之上。你说CMS和人才网站不搭调?我也这么认为,所以我才提议用XML+XSLT作为中间层,这部分可以记录用户对各个栏目的操作、配置,而底层一律通过XSLT转换到html片断,最后还是当作一篇普通的文章保存在CMS里——有点儿像大型网站的静态页面转换过程吧?虽然我很反感发布到静态页面:) 不过如果从头开发,一个月您认为可能么?在一个team只有不到5个开发人员和一个美工的条件下:S
还有就是对Acegi Security System for Spring框架的一些扩充,以解决用户提出的一些需求。
嗯,只有这两点能让我在这种重复性极高的项目里找到一些乐趣……

星期日, 十一月 20, 2005

也许该歇歇了

忽然发现感兴趣的电影已经堆了不少在硬盘里,同事讨论电影时我总是奇怪为什么他们能有时间看电影。项目搞得很忙,技术跑得很快,时间总不够用,哪来的时间看电影。前几天和同学发短信还提到,现在猝死和过劳死的人太多了,好好一人,也没什么征兆——实际上没征兆是不可能的,只是外人可能都不会注意——就那么死了。人的命是够脆弱的,以致人们对死几个人都很习惯了似的,谁也不是谁的谁,死了就死了吧…

星期五, 十一月 18, 2005

指天誓日

我再在公司项目里为了界面友好增加AJAX功能我就是孙子,全世界人民的孙子

为了功能的除外,还是受不了瞎胡乱提交form刷新页面。

星期二, 十一月 01, 2005

树叶开始落

风不是太大,树叶一片一片地落下来,我骑在车上,穿过一阵阵的落叶的雨,感受着袭来的离别,听着车轮挪上落叶时发出的哗哗声。肃杀,美不胜收。