您的位置:

关于tokenjava的信息

本文目录一览:

java中 TOKEN的概念

token 你可以把他当做一个令牌,当第一次访问时设置一个令牌保存,一般我们保存在session中,当启动令牌时,那么就去检测令牌是否一致,然后销毁令牌或者重置令牌,这样第二次再用次令牌访问时,就会不一致了,直接提示重复提交了

java token有什么用

Struts本身有一套完善的防止重复提交表单的Token(令牌)机制,但笔者目前的项目自写的framework没有用到Struts,故也得自写防止用户因为后退或者刷新来重复提交表单内容的Token机制。不难,容易实现。

实现原理:一致性。jsp生成表单时,在表单中插入一个隐藏input字段,该字段就是保存在页面端的token字符串,同时把该字符串存入session中。等到用户提交表单时,会一并提交该隐藏的token字符串。在服务器端,查看下是否在session中含有与该token字符串相等的字符串。如果有,那么表明是第一次提交该表单,然后删除存放于session端的token字符串,再做正常业务逻辑流程;如果没有,那么表示该表单被重复提交,做非正常流程处理,可以警告提示也可以什么也不做。 百度的.

java token是什么意思

token

读音:英 ['təʊk(ə)n]  美 ['tokən]

n. 表征;代币;记号

adj. 象征的;表意的;作为对某事的保证的

vt. 象征;代表

词组短语

by the same token 同样地;出于同样原因

as a token of 作为?的标志

token ring 令牌环(一个环状的区域网路)

in token of 表示;作为?的标志

by this token 由此看来

拓展资料

双语例句

1,Later on we will combine token sequences into parse trees.

稍后我们会将记号序列组合成解析树。

2,After normalization of attributes, you can count on every token in an attribute being separated from its neighbors by whitespace.

在属性规范化后,可以依靠的属性中的每个记号是通过空白来与其邻居区分开来。

3,This little gift is a token of our regard.

这点礼物是我们大家的一点心意。

请教Java 登录token的用法

jsp生成表单时,

1 在表单中插入一个隐藏input字段,该字段就是保存在页面端的token字符串,同时把该字符串存入session中。

2 用户提交表单时,会一并提交该隐藏的token字符串。

3 在服务器端,查看下是否在session中含有与该token字符串相等的字符串。

3 .1 如果有,那么表明是第一次提交该表单,然后删除存放于session端的token字符串,再做正常业务逻辑流程;(注意此处已经将session端的token字符串 删除)

3.2 如果没有,那么表示该表单被重复提交,做非正常流程处理,可以警告提示也可以什么也不做(第一次提交后session端的token字符串已删除)

Java如何登录token的代码是什么?

首先是Token主类。类很简单

package com.company.util;

import java.util.ArrayList;

import javax.servlet.http.HttpSession;

public class Token {

private static final String TOKEN_LIST_NAME = "tokenList";

public static final String TOKEN_STRING_NAME = "token";

private static ArrayList getTokenList(HttpSession session) {

Object obj = session.getAttribute(TOKEN_LIST_NAME);

if (obj != null) {

return (ArrayList) obj;

} else {

ArrayList tokenList = new ArrayList();

session.setAttribute(TOKEN_LIST_NAME, tokenList);

return tokenList;

}

}

private static void saveTokenString(String tokenStr, HttpSession session) {

ArrayList tokenList = getTokenList(session);

tokenList.add(tokenStr);

session.setAttribute(TOKEN_LIST_NAME, tokenList);

}

private static String generateTokenString(){

return new Long(System.currentTimeMillis()).toString();

}

/** *//**

* Generate a token string, and save the string in session, then return the token string.

*

* @param HttpSession

* session

* @return a token string used for enforcing a single request for a particular transaction.

*/

public static String getTokenString(HttpSession session) {

String tokenStr = generateTokenString();

saveTokenString(tokenStr, session);

return tokenStr;

}

/** *//**

* check whether token string is valid. if session contains the token string, return true.

* otherwise, return false.

*

* @param String

* tokenStr

* @param HttpSession

* session

* @return true: session contains tokenStr; false: session is null or tokenStr is id not in session

*/

public static boolean isTokenStringValid(String tokenStr, HttpSession session) {

boolean valid = false;

if(session != null){

ArrayList tokenList = getTokenList(session);

if (tokenList.contains(tokenStr)) {

valid = true;

tokenList.remove(tokenStr);

}

}

return valid;

}

}

在jsp页面端。

首先import该类:

%@ page import="com.company.util.Token" %

表单包含隐藏的token字符串:

form

input type="hidden" name="%=Token.TOKEN_STRING_NAME %" value="%=Token.getTokenString(session) %"

/form

在Servlet中添加如下代码。

if(Token.isTokenStringValid(request.getParameter(Token.TOKEN_STRING_NAME), request.getSession())){

//进行正常业务流程