Struts2提供token关键字,可以防止表单的重复提交

阅读更多

token标签输出两个隐藏的表单字段,用于防止表单的重复提交。要让token标签正常工作,需要启用TokenInterceptor或者TokenSessionInterceptor拦截器。

 

 

配置一:(需要配置的部分使用红色字体进行了标注)

 

1、  首先需要启用token,需要在struts.xml中进行配置token的拦截器:

 

如在loginaction中:

 

        
            /mainpage.action
            /index.jsp
            /token.jsp
               
             
        

 

 

配置的invalid.token是指当表单被重复提交后,跳转到该页面。

 

然后还需要配置两个拦截器:分别是defaultStacktoken

 

这样这个token就启动了。

 

2、启动token后,我们需要在页面中表单的部分添加标签

 


    
    

 

  

 

3、然后我们再新建一个token.jsp页面,用于重复提交后跳转到该界面,提示用户不要进行重复提交。

token.jsp:

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>





Insert title here


token

 

 

4、这样我们在登录界面,填写上用户名和密码后,如果提交过了表单,然后用重新提交这个表单的时候,如在表单页面进行刷新,就会自动跳转到token.jsp页面了。就是防止了表单的重复提交。

 

 

 

 

 

配置二:

上面在启动token的时候,我们是在action中进行配置的。我们也可以为整个package配置token

 

    
        
            
               
                
            
        

          
        
            /mainpage.action
            /index.jsp
            /token.jsp
        
    

 

 

这样就会为这个包下的所有action都配置上这个token。然后在界面中使用也是一样的,只需加上标签即可。

 


    
    

 

 

当我们重复提交这个登陆表单的时候,就会跳转到token.jsp页面了。

 

你可能感兴趣的:(Struts2,提token,防止,表单重复提交)