📄 apprequestprocessor.java
字号:
/*
* Created on 2006-2-18
*/
package com.common;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.RequestProcessor;
import com.common.utils.LoginUtils;
import com.common.utils.StringUtil;
/**
*
* <p>Title:拦截地址(判断是不是已经登陆) </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: </p>
* @author czl
* @version 1.0
*/
public class AppRequestProcessor extends RequestProcessor {
protected boolean processPreprocess(HttpServletRequest request,
HttpServletResponse response) {
boolean continueProcessing = true;
try {
request.setCharacterEncoding("UTF-8"); // 设置request的字符集,解决乱码问题
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
HttpSession session = request.getSession();
String sessionId = session.getId();
String loginUrl = "/common/LoginAction.do?dispatch=initLogin";
String url=request.getRequestURI();
boolean stop = false;
if(StringUtil.isEmpty(sessionId))
{
stop=true;
}
else
{
Map parameterMap=request.getParameterMap();
url+="?"+getURLParam(parameterMap);
if(LoginUtils.getUserSession(request)!=null)
{
String userId=String.valueOf(LoginUtils.getUserSession(request).getUserId());
System.out.println(userId+"=userId>>>>>>>>>>>>>>>>>>>>>");
System.out.println(url);
LoginUtils.USER_URL_MAP.put(userId, url);
System.out.println(LoginUtils.USER_URL_MAP.get(userId));
}
}
if (stop) {
try
{
RequestDispatcher rd = getServletContext().getRequestDispatcher(loginUrl);
rd.forward(request, response);
continueProcessing = false;
} catch (Exception e) {
e.printStackTrace();
continueProcessing = false;
}
}
return continueProcessing;
}
/**
* 得到地址的参数
* @param parameterMap
* @return
*/
public String getURLParam(Map parameterMap)
{
String param="";
Iterator iter = parameterMap.keySet().iterator();
while (iter.hasNext()) {
String key = (String) iter.next();
String[] params = (String[]) parameterMap.get(key);
for (int i = 0; i < params.length; i++) {
param = param+key+"="+ params[i]+"&";
}
}
return param;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -