登录成功后跳转回登录前的页面,实现思路

首先,我的网站都是动态跳转的。

整体思路:

1、拦截:在拦截到用于session过期,或用户未登录的情况下,将登录前requestUrl,post请求的参数组成paramMap存放到session中

String requestURL = request.getRequestURL().toString();

Map<Integer, String> paramMap = new HashMap<Integer, String>();
Enumeration e = req.getParameterNames();
int i = 1;
while (e.hasMoreElements()) {
	String param = e.nextElement().toString();
	String value = req.getParameter(param);
	log.info("##账户:" + loginname + "##(" + i + ")(地址: " + requestURL  + ")(属性: " + param + ")(参数: " + value + ")##");
        paramMap.put(param, value);
     req.getSession.setAttribute("paramMap", paramMap); i++; }

2、登录:若发现用户可以成功登录,取出requestUrl和paramMap,然后将paramMap放到request的paramter中,并使用Action转发到requestUrl

Map<String, String> paramMap = (Map<String, String>) ServletActionContext.getRequest().getSession().getAttribute("paramMap");
Set<String> params= paramMap.keySet();
for(String param : params){
	ServletActionContext.getRequest().setAttribute(param, paramMap.get(param));
}

3、跳转到登录前页面

posted @ 2016-04-09 14:32  NewLife365  阅读(3324)  评论(7编辑  收藏  举报