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 ...
随机推荐
- 用docker搭建ss访问火星
最近弄了个vultr的VPS,便想用它搭个梯子访问火星.由于vultr是支持docker的,便找了个ss的docker镜像: https://hub.docker.com/r/mritd/shadow ...
- sqlserver 2012 IDE中 Windows身份验证连接服务器报错 ,Login failed for user 'xxx\Administrator'. 原因: 找不到与提供的名称匹配的登录名。
问题描述: 本地装了两个实例,一个是SQLEXPRESS,可以正常操作.但是另一个开发常用的实例MSSQLSERVER却连Windows身份验证都报错,报的错误也是很奇葩,怎么会找不到Administ ...
- linux socket编程示例
#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include &l ...
- Revit Family API 添加几何实体
先创建一个封闭曲线createProfileLShape();再创建实体,这里需要手工画一个参考平面; ; i < nVerts; ++i) { Line l ...
- cocos2dx学习之路
http://blog.csdn.net/qq_30501909/article/details/50720227
- 该对象尚未初始化。请确保在所有其他初始化代码后面的应用程序启动代码中调用 HttpConfiguration.EnsureInitialized()。
WebAPI使用属性路由,配置config.MapHttpAttributeRoutes();后出现错误: System.InvalidOperationException: 该对象尚未初始化.请确保 ...
- 关于云计算基础架构IaaS层的几点看法
真实的云计算什么样? 云计算对普通用户来说,总是一个云里雾里的话题. 本文从最基础的概念開始科普,说明了四个常见的错误理解,和作者的四个猜想. IaaS(Infrastructure as a Ser ...
- AngularJS报错:[$compile:tpload]
页面中有: <div ng-view></div> 这里会根据不同的路由设置选择不同模版下的内容. 如果把AngularJS网站项目放在包含中文字的目录中,会报以上的错. 解决 ...
- 在ASP.NET MVC中使用Boostrap实现产品的展示、查询、排序、分页
在产品展示中,通常涉及产品的展示方式.查询.排序.分页,本篇就在ASP.NET MVC下,使用Boostrap来实现. 源码放在了GitHub: https://github.com/darrenji ...
- javascript中{},[]中括号,大括号使用
一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数. 如:var LangShen = {"Name":"Langshen",&qu ...