struts中简单的校验
Struts中简单的校验
“计应134(实验班) 凌豪”
Struts2校验简要说明:struts2中通常情况下,类型转换要在数据校验之前进行。类型转换其实也是基本的服务器端校验,合法数据必然可以通过类
型转换,但是通过类型转换的不一定是符合项目的合法数据,还必须进行数据校验,所以类型转换是进行数据校验的前提。
比如:struts2可以将String类型的转为int类型,要求用户输入年龄(小于10岁),如果用户输入的不是一个整型而是一个字符
串,或者用户输入的年龄不符合要求,所以在转换之后必须执行校验操作。在Struts2中提供了3种输入校验方式,第一种是重写Action中的validate()方法,
此方法对当前Action中的所有方法都是有效的。第二种是重写Action中的validateXXX()方法,其中XXX是对应的方法名,采用这种方法可以为每个业务逻辑编写
一个校验代码。第三种方法是利用Struts2的校验框架,这种方法是将所有的校验规则都写在相应的XML文件中,其中下面的例子则是用了第三种方法。
- 注意:校验文件的命名规则为Action类名-validation.xml,例如在下面的例子中RegisAction类对应的校验文件名为
RegistAction-validation.xml且校验文件必须与要检验的Action类放在同一个包中。
Register例子
1.创建一个新的Web项目register(File->new->Web Project)
2.添加struts2框架(右击项目register->add struts cabapbilities)
选择struts 2.1点击Finish

3.配置web.xml(web.xml是Web应用项目的核心配置文件,用来对整个项目进行部署配置。
对于struts2而言,如果要加载控制器FilterDispatcher,只需要在web.xml文件中配置FilterDispatcher即可)


4.在src下建一个com包,在包中新建名为RegisAction的class(即业务逻辑层action)RegisAction需继承ActionSupport

5.配置校验文件RegistAction-validation.xml(校验文件的命名规则是Action类名-validation.xml
如上面的RegisAction类对应的校验文件名为RegistAction-validation.xml且校验文件必须与要检验的Action类放在同一个包中)


6.配置struts.xml

7.新建regist.jsp


8.在浏览器中输入http://localhost:8080/register/(有的端口号为8085根据自身情况进行更改)
struts中简单的校验的更多相关文章
- struts中的数据校验
1.struts中如何进行数据校验 在每一个Action类中,数据校验一般都写在业务方法中,比如login().register()等.struts提供了数据校验功能.每个继承自ActionSuppo ...
- struts中的常量,action配置中的默认值
1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验: 实现Action接口: 不继承任何类,不实现任何接口: 是否继承类或实现接口, ...
- Struts 2的数据校验
既然说到了Struts 2的数据校验,我们该怎么去实现呢?又是通过什么来实现呢? 就让我带着大家一起来走进Struts 2的数据校验吧. 首先我们会想到在Stuts 2的登录案例中我们定义了一个Act ...
- Struts中的 saveToken的方法
Struts中的 saveToken的方法 saveToken防止2次提交的问题 struts有自带的Token(令牌)的机制来解决重复提交(包括后退,刷新等).举例: 假设:假设有一个新增用 ...
- Struts2中validate数据校验的两种常用方法
本文主要介绍Struts2中validate数据校验的两种方法及Struts2常用校验器. 1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接 ...
- 在Apache Struts中利用OGNL注入
前言 本文简要介绍了Apache Struts的OGNL注入缺陷,文章中介绍使用简单的应用程序复现OGNL注入.深入研究针对公共漏洞,并理解这类漏洞. 内容 安装Apache Tomcat服务器(入门 ...
- 转载-struts中logic标签使用
Struts中Logic逻辑标签的作用及用法 Struts中Logic逻辑标签的作用及用法 2006年10月18日 星期三 21:34 Terry原创,转载请说明作者及出处 Logic标签大部分的功能 ...
- 【SpringMVC学习06】SpringMVC中的数据校验
这一篇博文主要总结一下springmvc中对数据的校验.在实际中,通常使用较多是前端的校验,比如页面中js校验,对于安全要求较高的建议在服务端也要进行校验.服务端校验可以是在控制层conroller, ...
- Struts 2简单实例
Struts 2简单实例 参考: [java开发系列]—— struts2简单入门示例 - xingoo - 博客园https://www.cnblogs.com/xing901022/p/39616 ...
随机推荐
- javascript 手机号抽奖
案例 ---- 手机号抽奖 开始抽奖 停止 *具体的备注在代 ...
- mysql 的基础知识
这边博客,纯为了摘录 mysql 常用的一些操作,如果你已经懂了,可以忽略,谢谢. 最基本的mysql操作 1.查询mysql 的版本和当前时间信息 select version(),current_ ...
- 在Google map图上做标记,并把标记相连接
<!DOCTYPE html> <html> <head> <title>GeoLocation</title> <meta name ...
- JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)
JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...
- 算法_php猴子选大王_约瑟夫问题
题目: n个猴子围坐一圈,从第一个猴子开始数,到第m个出列,求最后一个猴子的编号. 分析: 首先想到循环,然后队列,然后堆,所以用数组模拟一个循环的列表,下标为[0-(n-1)],下标+1整除m干掉元 ...
- C# 异步Socket
C# 异步Socket (BeginXXXX)服务器代码 前言: 1.最近维护公司的一个旧项目,是Socket通讯的,主要用于接收IPC(客户端)发送上来的抓拍图像,期间要保持通讯,监测数据包并进行处 ...
- 不调用库函数实现 strCpy
实现函数时,首先要弄清楚特殊情况,边界条件要搞清. char* strCpy(char* src,char* des){ //判断指针是否为空 if(NULL==src||NULL == des) r ...
- Android01-概述
1.Android特点 开源和免费 强大的研发力量,完整的生态圈 互联网服务的支持 2.Android系统架构 应用层 应用框架层 系统运行库层 Linux内 ...
- MFC中SQLite数据库的使用
1打开数据库 BOOL playDlg::openData() { WCHAR a[100]; CString path; path = m_exePath+L"sentence_makin ...
- Invalidate(TRUE)与Invalidate(FALSE)区别(前者会发送WM_ERASEBKGND消息全部刷新,然后使用WM_PAINT消息绘制,而后者只发送WM_PAINT消息)
使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_ERASEBKGND和WM_PAINT两个消息. 使用Invalidate(FALSE)函数时,它只会向消息队列中添加了WM_P ...