1. 12306 采用自由社区通用框架SSH,这本身就不合理。我们现在无从知晓12306 的页面,是不是采用了Struts2 做的。对于Spring这样的框架我不做评论,但是如果是我设计,在大型系统上,豪无疑问是采用EJB+JPA 的模式,因为稍微对JAVA 世界了解的人都知道 Spring 真正优于 EJB3.0 的地方,就是EJB3.0分布式特性在超大型系统上才得以展示,但很少有项目会涉及到。所以一般那些不懂技术只懂跟风的都会去用spring。问题是12306就是超大型系统。
2. 上面说的是框架的起码道理,不搞JAVA开发的很难理解。我们做点简单的。那个Bug 我们用下面的话来表述:
泥玛会不会基本开发啊,会不会啊会不会,防止SQL注入的代码规范知不知道啊。学生作品啊。项目经理在哪里啊,Code Review 没有吧。
就算不知道组队管理代码规范,就算不知道如何防止SQL 注入。尼玛 try catch exception 会不会啊。 不求你可以做到绝对规范,所有exception 最终 throw 到一个地方知不知道啊。程序员不会做,项目经理,senior 吃屎大。你们不会是连开发框架都不搭,直接就叫程序员自己命名方法,自己组建对象吧。作坊成这样啊。
好吧就算你们不懂规范,不懂SQL 注入,没有项目经理连编程语言里最基本的try catch exception 都不知道。你们知道出错页面处理吗?知道吗?知道吗?就这种东西还科技进步奖。那我随便写个什么东西出来就可以申请诺贝尔奖拉。
3.我们再说个复杂的,从现在暴露出的问题可以说明什么?说明这个网站根本没有对售票做核心技术开发啊。你大型系统不能像小型系统那样,应用层直接访问数据层,这谁不会啊,我手下最渣的程序员都会这个啦。你需要在应用层和数据层之间开发数据引擎,优化并发数据查询啊。普通程序员只可以做对数据引擎的访问,如果真是这样,也不会出现SQL 注入啦。
显然是没有大,就是最渣,最普通,最烂的写法,就获得科技进步奖啦。
学术腐败,科技腐败。还研究院呢,没人拉,要不要我介绍我们组里几个初级工程师去指导一下开发啊。帮你们教授把关做项目评审设计啊。