在搜狐原来是这样用Struts的,我们引以为戒吧!

本文来自光速网,转载请注明出处!

我是一个搜狐的老用户了,很早以前就注册了Sohu的邮箱,所以很特殊的享有用ThunderBird客户端直连搜狐SMTP的服务(新注册的用户已经不 行了,包括163……)。今天突然发现邮件不能正常收了,以为是长时间不登陆搜狐,用户被停用了,所以就上搜狐了一下,结果发现搜狐的passport是 用Java做的,所以很好奇,就多试验了一下看做的如何(我本身是一个Java程序员,写BS的程序居多,所以对此比较感兴趣。)。结果让我很伤心。搜狐 在我的心里一直是一个很崇敬的公司,没想到做的应用却如此的差,真不知道他们应用上线是否经过测试。

      搜狐的passport是用Struts2做的,应用服务器应该是Resin。这点从下面的截图就能看见。我请求了一个根本不存在的action,没想到他们竟然没有做处理。直接一个标准的Java异常呈现在眼前,不但对最终用户十分不友好,而且将自己网站使用的技术框架完全暴漏给别人(好在我不是一个喜欢搞破坏的人)。其实这个问题处理很简单,只要在struts.xml里配置:

<package name="struts-default-action" extends="struts-interceptor">

    <default-action-ref name="defaulHandle"/>

    <action name="*****" class="*****"/>

</package>
 

加一个默认的action处理类就可以。搜狐这么强的公司的技术竟然不知道!!!可悲!

搜狐的错误截图:

下载 (148.75 KB)
搜狐的passport错误
2 分钟前



      最可笑的还不止如此。看异常就可以看出来,搜狐的技术对Struts一点也不了解。错误的页面给了一段描述:

 

You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:

  struts.devMode=false

in your WEB-INF/classes/struts.properties file.

 

这句说的是什么,我想用过Struts2的大部分人都知道,搜狐的基于Struts2的应用竟然还开着调试模式……只要将struts.properties文件中的struts.devMode设置为false即可,否则性能会打折扣,真不知他们是不知道还是故意的?

       其实类似的错误我在百度也遇到过,我本身也是做互联网应用的,我们公司也有类似的问题。其实这已经是互联网公司的通病了,大家为了项目能快速上线,很多应 用根本没有经历过严格的测试就退出来,原计划3个月的项目,非要压缩到2个月,恨不得一个月完成上线。这样做的本意是为了用新的东西拉拢网友,但是面对问 题多多的服务,到底吓跑的网友多还是拉拢的网友多?做为服务提供商的我们真的应该好好思考这个问题了,不要拿自己的声誉不当回事,不要拿网友不当回事。

你可能感兴趣的:(struts2)