失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Ajax请求Session超时解决

Ajax请求Session超时解决

时间:2024-07-11 14:11:03

相关推荐

Ajax请求Session超时解决

$.ajaxSetup({contentType : "application/x-www-form-urlencoded;charset=utf-8",complete : function(xhr, textStatus) {if (xhr.status == 520) {//如果返回状态码是520window.location..reload();//刷新页面,执行登录逻辑return;}}});

java代码:

1. 写一个filter

import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SessionTimeoutFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse res = (HttpServletResponse) response;// 判断session里是否有用户信息if (req.getSession().getAttribute("username") == null){// 如果是ajax请求响应头会有,x-requested-with;if (req.getHeader("x-requested-with") != null && req.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){res.setStatus(520);//表示session timeout}else{chain.doFilter(req, res);}}else{chain.doFilter(req, res);}}public void init(FilterConfig chain) throws ServletException {}}

转载地址:/cxyj/p/3884964.html

如果觉得《Ajax请求Session超时解决》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。