• struts2的token interceptor


    关于struts2的token拦截器的说明

    原理:struts2的token interceptor是关于重复提交的拦截器,其实现是:在form表单中加入token标签,如下:

     

    1     <form action="user" method="post">
    2         name:<input name="name">
    3         age:<input name="age">
    4         <input type="submit" value="add">
    5         <s:token></s:token>
    6     </form>

     

    会在服务器传回来的静态页面中找到一个hidden 标签,在此标签中生成了一个随机码,会加入到session中去,当提交完整个页面之后会在session中把它删掉,当在此想提交的时候,在session中找不到这个对象,从而避免重复提交。

    其中struts.xml中的配置如下:

        <package name="test" namespace="/" extends="struts-default">    
        <action name="input" class="com.wbs.InputAction">
                <result>/input.jsp</result>                        
            </action>
            <action name="user" class="com.wbs.UserAction">
                <result>/addOK.jsp</result>            
                <interceptor-ref name="defaultStack"></interceptor-ref>
                <interceptor-ref name="token"></interceptor-ref>
                <result name="invalid.token">/error.jsp</result>
            </action>
        </package>

    访问的时候先访问input这个页面,在这个页面中输入要提交的数据,则会找到相应的action去处理。但是需要注意的是在<intercptor-ref name="defaultStack"/>这个一定要在<interceptor-ref name="token"/>这个之前,因为token是在默认的加载完了之后去继续处理,在<interceptor-ref name="token"/>这个之后,要加上<result name="invalid.token">/xxx.jsp</result>。因为当token拦截器拦截住一个页面的时候,会默认的找invalid.token这个action,吧处理的结果交给这个aciton去处理。

     

  • 相关阅读:
    HDU 1251 统计难题(字典树模板题)
    POJ 1182 食物链(带权并查集)
    FJUT 2351 T^T的图论(并查集)
    10.QT程序框架与connect
    9.正则表达式
    8.QList QMap QVariant
    7.treeview
    6.图形化列表查询显示
    5.listview(QStringList QStringListModel)
    4.QList
  • 原文地址:https://www.cnblogs.com/wbs19950305/p/8831387.html
Copyright © 2020-2023  润新知