gpt4 book ai didi

javascript - 注销后禁用 spring mvc 应用程序中的浏览器后退按钮

转载 作者:太空宇宙 更新时间:2023-11-04 16:06:14 26 4
gpt4 key购买 nike

我正在做 spring mvc 应用程序,当我从应用程序注销时,如果我单击浏览器后退按钮,它会转到应用程序的上一页,我必须限制它,我在我的 *.xml 文件中尝试了这个

      <interceptors>
<beans:bean id="webContentInterceptor"
class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<beans:property name="cacheSeconds" value="0" />
<beans:property name="useExpiresHeader" value="true" />
<beans:property name="useCacheControlHeader" value="true" />
<beans:property name="useCacheControlNoStore" value="true" />
</beans:bean>
</interceptors>

只有当我单击浏览器后退按钮转到上一页时再次注销时,此功能才适用于应用程序。

我尝试使用 Javascript 和 Jquery 示例,但在我的 spring mvc 应用程序中不起作用。任何人都可以在这方面建议我并遵循方法。

最佳答案

好的,我在这里给你一个如何做到这一点的想法。假设您在 com.test.filter 包中有一个实现 FilterSessionFilter 类。在这里,您重写 doFilter() 方法并检查 session 是否存在:

public class SessionFilter implements Filter {

@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException,
ServletException {

HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String url = request.getRequestURI();

response.setHeader("pragma", "no-cache");
response.setHeader("Cache-control", "no-cache, no-store, must-revalidate");
response.setHeader("Expires", "0");
HttpSession session = request.getSession(false);

//!url.contains("login.html") check if the requested page is login page or not. you can do it a numerous way.
// but for simpplicity here i do that
if(session==null && !url.contains("login.html")) {
response.sendRedirect(request.getContextPath() + "/login.html"); // here goto http://yourdoamin/login.html
response.setHeader("message", "Session Timeout."); // you can set your preffered message.
return; //break filter chain, requested JSP/servlet will not be executed
}

chain.doFilter(req, res);
}
}

现在将类引用添加到 web.xml

<filter>
<description>session filter</description>
<filter-name>SessionFilter</filter-name>
<filter-class>com.test.filter.SessionFilter</filter-class>
</filter>

关于javascript - 注销后禁用 spring mvc 应用程序中的浏览器后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41848868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com