⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tokensessionstoreinterceptor.java

📁 struts 2 核心包 的源码 有错误是难免的
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   TokenSessionStoreInterceptor.java

package org.apache.struts2.interceptor;

import com.opensymphony.xwork2.*;
import com.opensymphony.xwork2.util.ValueStack;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.util.InvocationSessionStore;
import org.apache.struts2.util.TokenHelper;

// Referenced classes of package org.apache.struts2.interceptor:
//			TokenInterceptor

public class TokenSessionStoreInterceptor extends TokenInterceptor
{

	private static final long serialVersionUID = 0x82a6a7617e7dff2dL;

	public TokenSessionStoreInterceptor()
	{
	}

	protected String handleInvalidToken(ActionInvocation invocation)
		throws Exception
	{
		ActionContext ac = invocation.getInvocationContext();
		HttpServletRequest request = (HttpServletRequest)ac.get("com.opensymphony.xwork2.dispatcher.HttpServletRequest");
		HttpServletResponse response = (HttpServletResponse)ac.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse");
		String tokenName = TokenHelper.getTokenName();
		String token = TokenHelper.getToken(tokenName);
		Map params = ac.getParameters();
		params.remove(tokenName);
		params.remove("struts.token.name");
		if (tokenName != null && token != null)
		{
			ActionInvocation savedInvocation = InvocationSessionStore.loadInvocation(tokenName, token);
			if (savedInvocation != null)
			{
				ValueStack stack = savedInvocation.getStack();
				Map context = stack.getContext();
				request.setAttribute("struts.valueStack", stack);
				ActionContext savedContext = savedInvocation.getInvocationContext();
				savedContext.getContextMap().put("com.opensymphony.xwork2.dispatcher.HttpServletRequest", request);
				savedContext.getContextMap().put("com.opensymphony.xwork2.dispatcher.HttpServletResponse", response);
				Result result = savedInvocation.getResult();
				if (result != null && savedInvocation.getProxy().getExecuteResult())
					synchronized (context)
					{
						result.execute(savedInvocation);
					}
				invocation.getProxy().setExecuteResult(false);
				return savedInvocation.getResultCode();
			}
		}
		return "invalid.token";
	}

	protected String handleValidToken(ActionInvocation invocation)
		throws Exception
	{
		String key = TokenHelper.getTokenName();
		String token = TokenHelper.getToken(key);
		InvocationSessionStore.storeInvocation(key, token, invocation);
		return invocation.invoke();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -