struts2-->validate 和 interceptor
来源:互联网 发布:plc编程软件下载 编辑:程序博客网 时间:2024/06/07 05:40
1.Validate
1.1重写validate方法
例如:在前台上做登录页面
action:
1.2 校验框架
1. 编写校验规则文件是一个典型的XML文件,其格式为ActionName-validation.xml该校验文件需要添加一个dtd约束说明该dtd说明在xwork-core里面<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">2. 校验器的配置a) 常用的内置校验器b) struts-2.3.20.1\src\xwork-core\src\main\resources\com\opensymphony\xwork2\validator\validators\default.xml3. 完善校验文件,进行校验
xml配置样板
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"><validators> <field name="user.username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名不能为空!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">8</param> <param name="maxLength">20</param> <message>用户名长度必须在${minLength}-${maxLength}之间</message> </field-validator> </field> <field name="user.password"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>密码不能为空!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <message>密码长度必须大于${minLength}</message> </field-validator> </field> <field name="repassword"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>确认密码不能为空!</message> </field-validator> <field-validator type="fieldexpression"> <param name="expression">user.password==repassword</param> <message>两次密码不一致</message> </field-validator> </field> <field name="user.phone"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>电话号码不能为空!</message> </field-validator> <field-validator type="regex"> <param name="regex">1[3578][0-9]{9}</param> <message>电话号码格式不正确!</message> </field-validator> </field> <field name="user.email"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>邮箱不能为空!</message> </field-validator> <field-validator type="email"> <message>邮箱格式不正确</message> </field-validator> </field></validators>
2.拦截器 interceptor
1.什么是拦截器,拦截器栈
拦截器是一种可以在让用户在Action执行之前和Result执行之后进行一些功能处理的机制每个拦截器只有一个实例,采用单例模式,所以如果拦截器中使用的是类变量,要注意同步问题。拦截器是AOP的一种实现,Struts2的拦截器实现原理相对简单,当请求Struts2的action时,struts2会查找配置文件,并根据其配置实例化对应的拦截器对象,如果有多个拦截器,则连接成一条链,形成拦截器栈,然后一个一个去调用拦截器栈中的拦截器
拦截器在action执行之前和result执行之后的顺序是相反的,可以看下图:
也就是说执行的顺序是:Interceptor1—Interceptor2—Interceptor3—Action—Result–Interceptor3—-Interceptor2—-Interceptor1
2.2拦截器的优点
拦截器与过滤器
1.过滤器属于WEB容器,可以过滤一切的请求(action,servlet,jsp,html);
2.拦截器属于struts2框架,只能拦截action(jsp无法拦截)
3.过滤器内部采用回调函数来实现,拦截器采用动态代理来实现
默认的18个拦截器
拦截器的应用,记录Action执行时间
struts.xml中拦截器的配置
阅读全文
0 0
- struts2-->validate 和 interceptor
- Struts2 interceptor 和 filter
- Struts2 interceptor 和 filter
- struts1 和 struts2中的validate
- Struts2---->interceptor
- Struts2 interceptor
- Struts2-Interceptor
- struts2 interceptor
- Struts2的Interceptor和Listener以及Plugin
- Struts2的Interceptor和Listener以及Plugin
- struts2+jsp filter和Interceptor配置
- Struts2的Interceptor和Listener以及Plugin
- 【Struts2】:Interceptor的配置和使用
- struts2 -- interceptor(Interceptor怎么写)
- struts2 -- interceptor(如何配置Interceptor)
- struts2 -- interceptor(如何配置Interceptor)
- struts2 -- interceptor(如何配置Interceptor)
- struts2 -- interceptor(如何配置Interceptor)
- Hibernate初学者---自动生成数据表
- Python epoll编程:实现一个ioloop
- 练习题2(17.09.06)
- 如何制作Excel表头
- POJ2559.md
- struts2-->validate 和 interceptor
- python
- [LeetCode] 389 Find the Difference 解题思路 字符查找
- VMware虚拟机下安装CentOS7.0图文教程
- hdu5073 数学化简
- RMQ Problem.md
- 如何在移动开发者的寒冬中破冰而出?
- PhotoView图片查看器
- Android -开启GPS权限