js实现一定时间内没有操作注销

1.首先是js代码

<!-- 监听鼠标和键盘是否有操作,10分钟无操作注销 -->
<script>
	var x;
	window.onload=init;
	function init(){	
		x = setTimeout("window.location.href='${pageContext.request.contextPath}/servlet/UserServlet?action=logout'",10*60*1000);	//鼠标在网页上移动调用moved函数	
		document.onmousemove = moved;
		document.onkeydown  = moved;  
		}
	function moved(){	//既然鼠标移动了,取消页面跳转	
		clearTimeout(x);	
		x = setTimeout("window.location.href='${pageContext.request.contextPath}/servlet/UserServlet?action=logout'",10*60*1000);
	}
</script>
<!-- 监听鼠标和键盘是否有操作,10分钟无操作注销 -->

2.servlet中注销session。

public class UserServlet extends HttpServlet{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String action=request.getParameter("action");
	        if("logout".equals(action)){
			logout(request,response);
		}
		
	}
	
	private void logout(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.getSession().invalidate();//注销Session
		response.sendRedirect(request.getContextPath()+"xxx");//这里是注销后返回的页面
	}
}



你可能感兴趣的:(js实现一定时间内没有操作注销)