關於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())){

//進行正常業務流程

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/197270.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 13:29
下一篇 2024-12-03 13:29

相關推薦

  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python實現身份信息模擬生成與查驗

    本文將從以下幾個方面對Python實現身份信息模擬生成與查驗進行詳細闡述: 一、身份信息生成 身份信息生成是指通過代碼生成符合身份信息規範的虛假數據。Python中,我們可以使用f…

    編程 2025-04-27
  • Dapper使用getschema獲取表信息

    本文旨在介紹Dapper中使用getschema獲取表信息的方法和注意事項。 一、獲取某張表的所有列信息 使用Dapper獲取某張表信息,可以使用 `IDbConnection.G…

    編程 2025-04-27
  • 已裝備我軍的空中信息化作戰平台

    本文將會從多個方面詳細闡述已裝備我軍的空中信息化作戰平台。 一、平台概述 已裝備我軍的空中信息化作戰平台是一個全新的作戰系統,具備實時數據採集、處理、分析、共享的能力。它可以在不同…

    編程 2025-04-27
  • 通過提交信息搜索-使用git

    本篇文章重點講解如何使用git通過提交信息來搜索。我們將從多個方面介紹如何使用git來搜索提交信息,並提供相應的代碼示例以供參考。 一、搜索方式 Git提供了三種搜索方式,分別為:…

    編程 2025-04-27
  • Linux查看系統信息

    一、CPU信息 Linux系統下,查看CPU的信息最常用的命令是lscpu。該命令可以顯示CPU架構、核心數量、線程數、緩存大小、CPU頻率等信息。例如: lscpu 該命令會輸出…

    編程 2025-04-24
  • 軟考 信息安全工程師

    軟考 信息安全工程師是一項技能型國家級資格認證考試,主要測試考生在信息安全領域的理論知識和實踐技能,是證明個人信息安全能力的重要證書。本文將從多個方面對軟考 信息安全工程師做詳細的…

    編程 2025-04-23

發表回復

登錄後才能評論