声明:在我的教程中有些东西,没有提及到。不是我不知道,而是在我个人来看对你们不是太重要的知识点。你们在看课本时有了解到即可。我不会面面俱到的都给你们提及。我写博文的目的是把我这一年的开发经验通过学习ssh的方式教给你们。
之所以在此声明,是希望某些朋友明白我写博文的目的。我不是老师,我也是学生。
Understand?
呵呵,开个玩笑,回归正题。
一、学习重点:server端的验证。struts2提供了两种方式,一个是action中手动编码验证,还有一个就是配置文件验证。能够说。仅仅要是讲struts2的书,都有案例,仅仅要按着样例是非常easy配置的。
注意:不管哪种验证方式。在验证出错后,struts2会抛一个input的结果,所以在配置action中要加入一个name为input的result。
因为这一知识点的重要性在我个人看来不是太重要。所以就不再提供项目演示。
二、经验分析:做系统我们首要注重的是用户体验,假设你的注冊页面要填非常多信息,你点击提交后,server验证失败,最起码你要又一次输入password和验证码,一次还行,两次,三次预计用户就得愤慨了,所以用户体验来讲,client验证还是首选。所以server验证事实上没什么讲的必要性。但为了那些处女座的朋友考虑还是讲下吧。
三、经验之谈:
a) 对于刚開始学习的人。尤其是哪些看视频学习的同学。不要计较视频中老师所讲的一些代码编写方式。不是说不遵守老师们的编写方式。而是由于刚開始学习的人以实现功能为目的。在功能晚上,代码手写量足够的情况下。再注意代码的编写规范。
b) 事实上每一个公司都有自己的编码规范,就是功能的实现方式。
不是说。你想怎么编写即可。
比如:struts的配置文件,不可能你每一个请求都要相应一个action,也不可能让你在每一个action上直接使用method指定调用方法,这一点是肯定的。这样会非常easy导致代码混乱的。当然。我说这一点不是让刚開始学习的人严格遵守视频中老师的编码方式。由于各大公司的编码方式不同,所以我们更不用计较这一点。对于刚開始学习的人。实现功能为第一。
c) 有人说,server校验有必要吗,js在前端校验不即可了。
事实上这一点对于每位刚開始写项目的朋友一样。当初我開始写“爱尚合伙人”时,也是和你们想的一样,server端验证要用,js也要用,这样最起码心里会感觉安全些。
事实上如今非常多项目仅仅有client的js验证。讲个现实点的。假设一个黑客想攻击你的站点。你认为你一个server端验证能防止的了吗。
所以我们有时候要学会取舍。
框架的功能说简单些就是它把插件的功能做成了集成的方式,它为了总体的完好性,必须的整合全部必备功能。所以有些功能也不是说最好的。非得要用,取舍有度,该舍就舍就OK。
四、每日一乐:
A:我叫你一声你敢答应吗
B:有什么不敢,你叫啊?
A:儿子
B:……靠!
终于解释权归爱尚合伙人全部,转载请注明出处。