java使用token的简单介绍
本篇文章给大家谈谈java使用token,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java如何登录token的代码是什么?
- 2、java里边防止重复提交的token机制不太会搞,使用token需要什么工具吗?急等
- 3、java token是什么意思
- 4、请教Java 登录token的用法
- 5、java 中tonken怎么用
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())){
//进行正常业务流程
java里边防止重复提交的token机制不太会搞,使用token需要什么工具吗?急等
1.在Struts中,如何实现防止表单的重复提交操作?
Struts的Token(令牌)机制能够很好的解决表单重复提交的问题,
基本原理是:
1) 服务器端在处理请求到达之前,会将 请求 中包含的令牌值与保存在当前 用户会话 中的令牌值进行比较,看是否匹配。
2) 在处理完该请求后,且在答复客户端之前,会产生一个新的令牌值,该令牌值除传给客户端以外,也会将 用户会话 中保存的旧的令牌值进行替换。
3) 这样如果用户回退到刚才的提交页面并再次提交的话,客户端传过来的令牌值就和服务器端的令牌值不一致,从而有效地防止了重复提交的发生。
2.Struts使用Token机制,来防止恶意的破坏和重复提交问题,也就是点击后退后在再提交,这是Struts无法发现的
3.在form中生成一个token码,在session中也保存有一个同样的token码,
当表单提交后,判断两个token码相等后,就会改变session中的这个token码,
当然在用回退后,form的token码是不会变的,在提交,还会判断两个token码是否相等,如果不等就会抛出异常,证明这是过时的垃圾数据。
作用:Token机制可以解决表单的重复提交;
产生token的两种方式:
1. form表单的post请求,使用隐藏域input type="hidden" name="token" value="${token}";
2. 直接使用超级链接html:link action="" trasantion="true",可以直接在链接后面添加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 中tonken怎么用
不知道你是不是问的token,我就回答下吧。
项目中一般是在 用户登录成功后 将用户的账号,密码,登录时间等信息存入,经过一些列加密返回给客户端 , 这样在每次请求会在request的header中带这个信息,之后服务端会解析(验签,解密)这个token,如果成功的话,就可以做操作。
一般是用来控制用户的访问,操作权限,还有根据token中存入的时间戳,判断登录是否过期,需要重新登录。
java使用token的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java使用token的信息别忘了在本站进行查找喔。