Struts2框架验证

来源:互联网 发布:杭州淘宝城是做什么的 编辑:程序博客网 时间:2024/06/06 08:34
struts2有框架验证,我这边主要说的是XML配置的struts2的框架验证,继承validate方法的验证还是比较容易的,至于有人用注解来验证不怎么常见我也不讲了(感觉好多东西总结的都会有注解来掺和一脚,比如spring注入方式,最常见的一种总结三种方式就有注解,但是我认为注解这种方式不是很好维护不管干什么,也许是我才疏学浅不太懂,看来是时候好好学习一下注解了)。 框架验证还是很必要的,因为验证主要是分为前端验证和服务器验证,前端验证被绕过了,还有服务器验证这把锁,对于一些行业来说安全是相当重要的,加把锁尽管对服务器增加了负担,但还是很必要的。现在讲一下步骤吧:一,肯定是搭一个简单的struts框架我相信大家肯定看了许多视频文章教你怎么搭。我这里再多个嘴吧,讲一下如何快速搭建一个struts框架,(1)首先建个web工程,**在src下面建一个struts.xml**,位置别建错了。(2)件entity和action类,一个装的是数据,一个获取数据进行操作。直接分开封装便于维护,**这里注意的一点是就是action类要继承ActionSupport类**,这个是来自struts2的xwork包里的一个类,想用编码验证的同学继承这个类的validate方法重写就好了,文章很多不多介绍(3)添加jar包,如果不想一个一个去按照网上的文章的写的从一大堆struts的jar包找,我有个简单的方法,找到你下的struts的文件打开里面有一个app的文件夹(其实这个就是装官方给的例子的包,很多技术包都有这个东西给个示范例子。),里面有个blank的包把它下面的lib包的文件里的jar包拷出来就可以了,struts2的必须jar包里面都有。(4)web.xml这里要设置struts的拦截器,网上有许多文章给的是过时的例子,简直是坑爹。我给个例子,最起码我现在用着很好。 index.jsp struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* 这就弄好了,一个简单的struts框架搭建好了。现在开始XML框架校验了首先要在struts.xml中配置action,看这个文章的人,我默认就是了解知道怎么配,我就不细讲了。第二步骤很重要就是在对应要用到的校验的action同一层包下面对应建一个xml文件。命名规则是action对应的xml文件是Action-xml前面声明的那部分一定要写对否则会出现校验通不过的情况。代码演示entityimport com.opensymphony.xwork2.ActionSupport;import com.pb.entity.User;public class UserAction extends ActionSupport { private User user; @Override public String execute() throws Exception { if(null==user.getUsername() || “”.equals(user.getUsername())){ this.addFieldError(“user.username”, “用户名不能为空!”); } if(null==user.getPassword() || “”.equals(user.getPassword())){ this.addFieldError(“user.password”, “密码不能为空!”); } String ageStr=”^\\d{1,3}”;
        Pattern ageReg=Pattern.compile(ageStr);
        Matcher ageMatcher=ageReg.matcher(user.getAge()+”“);
        if(!ageMatcher.matches()){
            this.addFieldError(“user.age”, “年龄只能是数字,并只能为1-200之间!”);
        }
        if(null==user.getAge()){
            this.addFieldError(“user.age”, “年龄不能为空!”);
        }

        String emaString=”^\\w+@\\w+(.\\w{2,3}){1,2}
”; Pattern emailReg=Pattern.compile(emaString); Matcher emailMatcher=emailReg.matcher(user.getEmail()); if(!emailMatcher.matches()){ this.addFieldError(“user.email”, “邮箱格式不正确”); } if(this.hasErrors()){ this.addActionError(“输入的注册信息有误”); return INPUT; } return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; }}struts.xml /register3.jsp /registerSuccess.jsp action package com.pb.web.action;import java.util.regex.Matcher;import java.util.regex.Pattern;import com.opensymphony.xwork2.ActionSupport;import com.pb.entity.User;public class UserAction3 extends ActionSupport { private User user; public String register() throws Exception { System.out.println(“=========完成注册信息======”); return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; }}校验的xml文件(这里要注意前面这两行,很容出错导致校验不成功)
0 0
原创粉丝点击