后台维护一个访问路径的列表
public void siteMap(HttpServletRequest request){ String come_url = request.getHeader("referer"); String current_url = request.getRequestURL()+(request.getQueryString()==null?"":"?"+request.getQueryString()); if(come_url!=null){ LinkedList<String> url_lklist = (request.getSession().getAttribute("url_lklist")==null)?new LinkedList<String>():(LinkedList)request.getSession().getAttribute("url_lklist"); boolean isaddcome = true; for(String item:url_lklist) if(item.equals(come_url)) isaddcome = false; if(isaddcome) url_lklist.add(come_url); url_lklist.add(current_url); int j = 0; for(String item:url_lklist){ j++; if(item.equals(current_url)) url_lklist.subList(j, url_lklist.size()).clear(); } request.getSession().setAttribute("url_lklist", url_lklist); request.setAttribute("_href", url_lklist.get(url_lklist.size()-2)); } }
需要重新刷新时清空列表
request.getSession().setAttribute("url_lklist",new LinkedList<String>());