struts2 重复提交拦截器用法 token与token-session_wkcgy的博客-程序员秘密

技术标签: exception  struts2  struts  session  jsp  action  token  

标签: token-session token 拦截器 struts2.0 it 首先要在jsp的from标签里加入 防重复提交标签, 生成如下的内容:(struts.token.name 标识哪个隐藏域存了 token 值) 注意自定义的表单域别重名了。它的作用是防止表单重复提交,每次加载页面 struts.token 的值都不一样,如果两次提交时该值一样,则认为是重复提交。此时要启用 TokenInterceptor(token) 拦截器,最好是也启用 TokenSessionStoreInterceptor(token-session) 拦截器,不然后台会出现错误提示: 2008-11-17 20:39:21 com.opensymphony.xwork2.interceptor.ParametersInterceptor setParameters 严重: ParametersInterceptor - [setParameters]: Unexpected Exception catched: Error setting expression 'struts.token' with value '[Ljava.lang.String;@1c2e163' 2008-11-17 20:39:21 com.opensymphony.xwork2.interceptor.ParametersInterceptor setParameters 严重: ParametersInterceptor - [setParameters]: Unexpected Exception catched: Error setting expression 'struts.token.name' with value '[Ljava.lang.String;@abaf8c' 但不影响使用。不过如果只有 token-session 拦截器却是不行的。 token 和 token-session 拦截器的启用,是在 struts.xml 配置文件中,既可以为包启用,也可以单独为某个 action 启用: 1) 为包启用 token 和 token-session 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. /login.jsp 12. /exception.jsp 13. 14. ............................................................................ 2) 为 Action 启用 token 和 token-session 1. 2. 3. 4. 5. /login.jsp 6. /exception.jsp 7. 8. ............................................................................ 注意 token、token-session 和 defaultStack 的顺序要保证,还需要加上名为 "invalid.token" 的 result,当发现重复提交时转向到这个逻辑页,如 /exception.jsp,在 /exception.jsp 加上 在出现重复提交时就会提示:The form has already been processed or no token was supplied, please try again. * token: 在活动中检查合法令牌(token), 防止表单的重复提交; * token-session: 同上, 但是在接到非法令牌时将提交的数据保存在session中;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wkcgy/article/details/5973224

智能推荐

mysql中如何修改表的名字?修改表名?_刘天爱的博客-程序员秘密

mysql> create table ts01 like ti_o_sms; #创建表结构.这样的建表方式,不仅仅是表的结构,连带着索引也会同时创建.Query OK, 0 rows affected (0.02 sec)mysql> alter table ts01 rename to ts01_new; #修改表名的语法:alter table rename to/as new_tablename;Query OK, 0 rows affected (0.00 s.

python如何统计list中元素个数_python list元素个数_丶麻辣小龙虾的博客-程序员秘密

Python统计list中不同元素个数的方法统计list中元素个数,这里提供一个简单的方法,使用Counter(), 示例如下:from collections import Counter# 随便定义一个list,也可以是自己生成的temp = [1, 2, 1, 3, 4, 2, 3, 6, 3]count = Counter(temp)print(count)# 输出元素3的个数print(count[3]) # 输出结果为Counter({1: 2, 2: 2, 3: 3,

微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器_.NET快速开发框架的博客-程序员秘密

在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览版外,最大的惊喜莫过于宣布推出免费跨平台的 Visual Studio Code 编辑器了!  Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Li

双主动桥隔离双向DC-DC变换器(一)摘要、引言_双向 acdc_ManTou馒头的博客-程序员秘密

为了帮助自己和大家对双主动桥隔离双向DC-DC变换器有一个初步了解,将翻译一篇发表于IEEE on Power Electronics的高引用综述。无其他用途,仅学习交流用。首先感谢原文作者给予的宝贵的学习机会。原文名称:Overview of Dual-Active-Bridge Isolated Bidirectional DC–DC Converter for High-Freque...

深度学习网络训练中出现loss函数为nan的原因_小小川_的博客-程序员秘密

1. 学习率太大,步子迈的太大导致梯度爆炸等都是有可能的。 梯度消失或者爆炸的优化,请参考:https://blog.csdn.net/u013250416/article/details/814106932. 网络结构不合理,导致的Non 1. 增加或者减少网络的深度 2. 增加网络的宽度 3.不当的损失函数 4.relu和so...

centos--history查看输入的历史命令_weixin_38627000的博客-程序员秘密

centos–history查看输入的历史命令1.显示历史命令 history实际是保存在每个用户的.bash_history里面,不过该文件保存的是用户上次退出保留的命令,所以如果要同步把这次的缓存写进去用history -w,清空的话用history -c2.具体命令的使用,!字符串开头,查找历史命令中的含义这开头最近的命令执行!!上次执行的命令!n第n次执行的命令3.存储的历史命令条数有限制1000,要修改得改/etc/profile...

随便推点

Unreal 导出dll 嵌入到程序 (嵌入Qt 程序)_unreal qt_zsyddl2的博客-程序员秘密

  unreal 默认是 无法嵌入到程序中作为一个dll模块的。想嵌入,需要做一些修改调整。再上一篇文章说过这个主要修改步骤。这里说第一方面:     unreal 导出 dll工程:    1、通过ue editor 建立一个 ue工程。(UeSdk)   2、调用vs 打开项目, 修改编译选项。 UeSdk.target.cs 文件 :        public uesdkTarget(Ta...

数据结构 - 二叉搜索树基本算法(c语言实现)_树搜索算法_williamgavin的博客-程序员秘密

二叉搜索树基本算法:查找、删除一个节点、插入、找最大(最小)节点、中序遍历(前序和后序只要换个位置就好了)。# include <stdio.h># include <stdlib.h>// 建立节点模型typedef struct TreeNode{ int data; struct TreeNode * left; struct ...

震惊kafka_关于2019年互联网使用情况的6个令人震惊的统计数据_culin0274的博客-程序员秘密

震惊kafkaIf you’re thinking of launching an onlinebusiness or a website for an existing company, there has never been a bettertime. Developments in technology and the affordability of connected device...

Spring Cloud Alibaba微服务从入门到进阶_清风细雨_林木木的博客-程序员秘密

Spring Cloud Alibaba 微服务1.基础准备2.Maven管理软件3.1.基础准备JDKMySqlMaven的安装和配置IDEA配置与快捷键技巧2.Maven管理软件版本:3.6.1下载地址:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/安装 Maven:(1)下载指定版本,这里是3.6.1;(2)配置环境变量配置【Maven_HOME】和【Path】(3)点击【win + r】输

股票量化分析(12)——第三个策略(kdj策略)_niuge No.1的博客-程序员秘密

首先来看一下百度百科上kdj的策略: 这里的kdj值采用talib的STOCH函数来计算,感兴趣的可以看看具体计算过程。理科生会发现经济学的学生的数学计算简直不能更简单。 直接放代码(这里将上面的策略稍微改了一下,j值太敏感,不考虑,k值大于D值的第二天买入该股票,另外d值要大于20,避免超卖):import tushare as tsimport pandas as pdimport

f1c100s kernel调试记录_我歌月徘徊、的博客-程序员秘密

spi flash修改设备树arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts将原来的&spi0{…}替换为: &spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_pins_a>; status = "okay"; spi-max-frequency = <50000000>; flash: w2

推荐文章

热门文章

相关标签