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

📄 apprequestprocessor.java

📁 自己写的一个struts+spring+hibernate测试程序
💻 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 + -