• 关于struts2拦截器获取页面参数


    package InterCeptor;


    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;

    import org.apache.commons.fileupload.disk.DiskFileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.struts2.components.FieldError;

    import sun.reflect.FieldInfo;

    import check.CheckRegister;

    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.Interceptor;
    import com.opensymphony.xwork2.util.ValueStack;

    import com.sun.jndi.url.iiopname.iiopnameURLContextFactory;
    import com.sun.org.apache.bcel.internal.generic.NEW;


    public class MyInterceptor implements Interceptor {

    public void destroy() {
    DiskFileItemFactory factory=new DiskFileItemFactory();

    }

    public void init() {


    }

    public String intercept(ActionInvocation invocation) throws Exception {
    System.out.println("befor");
    Map map=invocation.getInvocationContext().getParameters();
    ValueStack stack=invocation.getInvocationContext().getValueStack();
    System.out.println(stack.findString("username"));
    Set set= map.entrySet();
    Iterator iterator=set.iterator();
    while(iterator.hasNext())
    {

    Entry entry= (Entry) iterator.next();
    System.out.println(entry.getKey());
    Object vObject=entry.getValue();
    if(vObject instanceof String[])
    {
    String[] vStrings=(String[])vObject;
    for(int i=0;i<vStrings.length;i++)
    {
    vStrings[i]=vStrings[i].trim();
    System.out.println("长度="+vStrings.length);
    System.out.println("vstring="+vStrings[i]);

    }
    }
    //System.out.println(entry.getValue());
    // System.out.println(invocation.getInvocationContext().getValueStack());

    }
    //String userString=(String) map.get("username");

    //System.out.println("username+="+userString);
    String temp=invocation.getInvocationContext().getName();
    /*Class<CheckRegister> cg=(Class<CheckRegister>) Class.forName(temp);
    java.lang.reflect.Field []field=cg.getFields();
    for(int i=0;i<field.length;i++)
    {
    System.out.println("field="+field[i].getName());
    }*/

    String result=invocation.invoke();
    System.out.println("result="+result);

    System.out.println("after");
    //System.out.println("username+="+userString);
    System.out.println(temp+"=temp");
    return result;
    }


    }

    通过判断类型可知是string数组类型而不是单纯的string类型

  • 相关阅读:
    反弹连接的shellcode
    md5反查网站
    一种新的Heap区溢出技术分析
    ckeditor漏洞
    Fedora Core 4下的一些小问题
    MYCCL特征码定位器详细使用之内存定位
    dedecms5.7最新注入和上传漏洞
    脱壳方法汇总
    一种小堆(heap)溢出的另类利用方法
    对付非法操作! 系统做了如下记录!
  • 原文地址:https://www.cnblogs.com/mengziHEHE/p/3149179.html
Copyright © 2020-2023  润新知