Struts2之server端验证
声明:在我的教程中有些东西,没有提及到。不是我不知道,而是在我个人来看对你们不是太重要的知识点。你们在看课本时有了解到即可。我不会面面俱到的都给你们提及。我写博文的目的是把我这一年的开发经验通过学习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:……靠!
终于解释权归爱尚合伙人全部,转载请注明出处。
Struts2之server端验证的更多相关文章
- LoRaWAN协议(三)--Server端数据协议
LoRaWAN Server 端架构 LoRaWAN 的server包括 NS(Network server).AS(application server).CS(Custom server).... ...
- 微信小程序Server端环境配置
主要内容:1. SSL免费证书申请步骤2. Nginx HTTPS 配置3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请 ...
- Zabbix(二) : Zabbix Server端配置文件说明
Zabbix Server端配置文件说明 # This is a configuration file for Zabbix Server process # To get more informat ...
- Zabbix Server端配置文件说明
zabbix作为运维邻域不可缺少的一员,它的各种文档可是数不胜数啊,但是关于配置文件的解释与说明就有点少.这里列出zabbix配置文件篇之zabbix_server. Zabbix Server端配置 ...
- zabbix 3.2.2 server端(源码包)安装部署 (一)【转】
环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...
- Zabbix Server端配置文件
Zabbix Server端配置文件说明 # This is a configuration file for Zabbix Server process # To get more informat ...
- C#实现svn server端的hook
目标 要做的东东呢,就是在向svn提交文件的时候,可以再server端读到所有提交文件的内容,并根据某些规则验证文件的合法性,如果验证失败,则终止提交,并在svn的客户端上显示错误信息. 准备工作 ...
- Drcom账户管理Server端解说
https://www.github.com/xiyouMc 首先今天要讲的是针对Drcom查询账户URL的解析和抓取数据. Drcom是大学生宿舍上网普遍使用的联网client,然而对于自己账 ...
- 利用函数计算构建微信小程序的Server端
10分钟上线 - 利用函数计算构建微信小程序的Server端-博客-云栖社区-阿里云 https://yq.aliyun.com/articles/435430 函数计算 读写 oss import ...
随机推荐
- MikroTik RouterOS网址资源收集
routeros|mikrotik|ros|软路由论坛|中国路由网|软件路由|软件路由器|routeros技术论坛|路由论坛 - Powered by Discuz! Mikrotik RB450 ...
- MongoDB的Java驱动使用整理 (转)
MongoDB Java Driver 简单操作 一.Java驱动一致性 MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为 ...
- Java 与 .NET 的平台发展之争
Java 8即将正式发布,从早期版本中,我们已经可以领略到一些令人兴奋的特性.但是开发者Andrew C. Oliver表示,尽管如此,Java语言在某些特性上还是落后于.Net.比如,Java 8中 ...
- PHP 服务端 和 APP 客户端 实现 RSA+AES 双向加密解密
目的:服务端和移动端双向加密解密 共有七个文件 其中包括三个类文件 lib_aes.php aes对称加密解密类 server_rsa_crypt.php 服务端RSA公钥私钥非对称加密解密类 cli ...
- setsockopt 设置TCP的选项SO_LINGER
SO_LINGER选项用来设置延迟关闭的时间,等待套接字发送缓冲区中的数据发送完成. 没有设置该选项时,在调用close()后,在发送完FIN后会立即进行一些清理工作并返回.如果设置了SO_LINGE ...
- DirectX全屏游戏中弹出窗口(转)
一直有人问如何在DirectX全屏游戏中弹出窗口就象金山游侠一样.我答应过要给出原码,只是一直没有时间整理,不过现在总算是弄玩了.代码不长,大致作了些注释,但愿你能看懂:)按照我的说明一步步作应该就能 ...
- javascript中的回调函数(callback)
代码如下: app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; ...
- NSDictionary 详解
1.使用dictionaryWithObjectsAndKeys方法存储数据时,中间任何一个对象都不能为nil,否则它后面都对象都无法存入aFiledic.因为dictionaryWithObject ...
- Shell 命令行快捷键
在shell命令终端中.Ctrl+n相当于方向向下的方向键,Ctrl+p相当于方向向上的方向键. 在命令终端中通过它们或者方向键能够实现对历史命令的高速查找.这也是高速输入命令的技巧. 在命令终端中能 ...
- Android之仿iphone抖动效果
转自:http://blog.csdn.net/long33long/article/details/7693671 布局文件: <?xml version="1.0" en ...