struts2-用token拦截器屏蔽重复提交问题

[size=medium]在服务器端生成一个随机值,然后传给客户端的form中,当客户端提交时,用隐含域提交给服务器端,提交后,
服务器端又把那个随机值清掉了,当你再次提交时,服务器端的那个随机值已经清掉了,所以提交失败[/size]


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>


<constant name="struts.devMode" value="true"></constant>
<package name="test" namespace="/" extends="struts-default">

<action name="input" class="com.hugui.action.InputAction">
<result>/input.jsp</result>


</action>

<action name="user" class="com.hugui.action.UserAction">
<result>/addOK.jsp</result>


<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 在服务器端生成一个随机值,然后传给客户端的form中,当客户端提交时,用隐含域提交给服务器端,提交后,
服务器端又把那个随机值清掉了,当你再次提交时,服务器端的那个随机值已经清掉了,所以提交失败,错误是invalid.token -->
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/error.jsp</result>
</action>

</package>


</struts>




package com.hugui.action;

import com.opensymphony.xwork2.ActionSupport;

public class InputAction extends ActionSupport {



@Override
public String execute() throws Exception {

return super.execute();
}




}




package com.hugui.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {

private String name;
private int age;

@Override
public String execute() throws Exception {
System.out.println("a user added!");
return super.execute();
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值