声明:在我的教程中有些东西,没有提及到。不是我不知道,而是在我个人来看对你们不是太重要的知识点。你们在看课本时有了解到即可。我不会面面俱到的都给你们提及。我写博文的目的是把我这一年的开发经验通过学习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端验证的更多相关文章

  1. LoRaWAN协议(三)--Server端数据协议

    LoRaWAN Server 端架构 LoRaWAN 的server包括 NS(Network server).AS(application server).CS(Custom server).... ...

  2. 微信小程序Server端环境配置

    主要内容:1. SSL免费证书申请步骤2. Nginx HTTPS 配置3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请 ...

  3. Zabbix(二) : Zabbix Server端配置文件说明

    Zabbix Server端配置文件说明 # This is a configuration file for Zabbix Server process # To get more informat ...

  4. Zabbix Server端配置文件说明

    zabbix作为运维邻域不可缺少的一员,它的各种文档可是数不胜数啊,但是关于配置文件的解释与说明就有点少.这里列出zabbix配置文件篇之zabbix_server. Zabbix Server端配置 ...

  5. 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. ...

  6. Zabbix Server端配置文件

    Zabbix Server端配置文件说明 # This is a configuration file for Zabbix Server process # To get more informat ...

  7. C#实现svn server端的hook

    目标 要做的东东呢,就是在向svn提交文件的时候,可以再server端读到所有提交文件的内容,并根据某些规则验证文件的合法性,如果验证失败,则终止提交,并在svn的客户端上显示错误信息. 准备工作   ...

  8. Drcom账户管理Server端解说

    https://www.github.com/xiyouMc 首先今天要讲的是针对Drcom查询账户URL的解析和抓取数据.    Drcom是大学生宿舍上网普遍使用的联网client,然而对于自己账 ...

  9. 利用函数计算构建微信小程序的Server端

    10分钟上线 - 利用函数计算构建微信小程序的Server端-博客-云栖社区-阿里云 https://yq.aliyun.com/articles/435430 函数计算  读写 oss import ...

随机推荐

  1. 打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)

    package main import "fmt" // 用户 type User struct { Id int Name string Age int } func main( ...

  2. cefsharp wpf 中文输入问题解决方法

    摘要 最近在搞一个客户端的项目,考虑使用wpf,内嵌webView的方式,访问h5页面.所以使用了CefSharp组件,但发现一个问题,就是在输入中文的时候,无法输入. 解决办法 去官方github的 ...

  3. 移植Python2到TQ2440

    环境 Python:2.7.13 开发板: TQ2440 工具链: arm-none-linux-gnueabi-gcc 4.8.3 概述 前面已经把Python3移植到TQ2440上面的,现在我们移 ...

  4. SQL Where in list 问题

    不过,这种做法有两个缺陷1.Oracle In列表的数目有限制(1000)2.不能复用执行计划,每次几乎都是硬解析.3.In拼接可能存在SQL注入的风险

  5. mormot中间件成功匹配客户端FDMemTable和ClientDataSet

    mormot中间件成功匹配客户端FDMemTable和ClientDataSet

  6. Java删除List和Set集合中元素

    今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常: ConcurrentModificationException 为了以后不忘记,使用烂笔头把它记录 ...

  7. BadgeValueView

    BadgeValueView 效果 源码 https://github.com/YouXianMing/UI-Component-Collection 中的 BadgeValueView // // ...

  8. 多个Jar的合并操作

    同事要写Android平台下的打包工具,遇到需要将多个jar合并成一个jar的问题.这里列一下操作步骤: 1.将所有jar文件复制至某临时目录中,通过jar命令解压得到所有的.class文件 > ...

  9. bash 设置

    export COLUMNS=500 $* 将所有命令行参数当做单个文本值包含 $@ 将所有命令行参数当做独立的文本值包含 $# 命令行参数数目 $? 最近使用的前端进程的退出状态码 $- 当前命令选 ...

  10. Material Designer的低版本兼容实现(十二)—— Slider or SeekBar

    Slider,我更喜欢叫他SeekBar,其实是一个东西啦,就是拖动条.5.0的拖动条和4.x上的HOLO风格完全不同,平添了一些精致.此外还加入了数值指示器,让用户在滑动的时候就能知道现在到了什么位 ...