在登录前将他们正在查看的内容重定向回实际页面

如果我的用户被重定向到登录页面,如何使用,以便在他们登录后,他们被重定向到-original-destination页面(他们第一次点击的页面)?

将最初请求的URL作为请求参数传递给重定向到登录页面。

String from = URLEncoder.encode(request.getRequestURI(), "UTF-8"); if (request.getQueryString() != null) { from += "?" + request.getQueryString(); } response.sendRedirect("login.jsp?from=" + from); 

login.jsp ,将其作为隐藏输入字段传递给登录表单提交目标。

  

(注意: fn:escapeXml()在HTML中重新显示用户控制的数据时阻止你进入XSS)

在登录操作中,检查它是否存在然后相应地处理。

 String from = request.getParameter("from"); if (from != null && !from.isEmpty()) { response.sendRedirect(from); } else { response.sendRedirect("home.jsp"); }