Java-在Tomcat 5.5上禁用续订会话
作者:互联网
如何为特定请求在Tomcat 5.5中禁用重置会话超时?在页面上,我有一个javascript函数,该函数定期将ajax调用发送到服务器.在服务器端,我不希望这些调用延长会话寿命.
谢谢.
解决方法:
好的,因为您不喜欢我的第一个想法,所以我提出了这个JSP演示.
这有点像骇客,但确实有效.要测试,复制和粘贴.
浏览到第一个JSP.它将启动会话并设置非活动间隔.
重定向后,请继续点击浏览器上的刷新按钮.
无论您请求第二个JSP的时间如何,当前会话都会终止.
test1.jsp
<%
session.setMaxInactiveInterval(20); //for easy testing
response.sendRedirect("test2.jsp");
%>
test2.jsp
<%@ page session="false" import="java.util.*" %>
<%
HttpSession session = request.getSession(false);
if(session == null){
out.print("Error, No Session!");
return;
}
long creationTime = session.getCreationTime();
long now = new Date().getTime();
long lastAccessedTime = session.getLastAccessedTime();
int oldInterval = session.getMaxInactiveInterval();
int inactivePeriod = (int)(now - lastAccessedTime)/1000;
session.setMaxInactiveInterval(oldInterval - inactivePeriod);
int newInterval = session.getMaxInactiveInterval();
%>
<html>
<body>
session id is <%=session.getId()%>
<br/><%=creationTime%> = creationTime
<br/><%=lastAccessedTime%> = lastAccessedTime
<br/><%=now%> = now
<br/><%=oldInterval%> = oldInterval in seconds
<br/><%=inactivePeriod%> = inactivePeriod
<br/><%=newInterval%> = newInterval in seconds
</body>
</html>
标签:tomcat,tomcat5-5,session,java 来源: https://codeday.me/bug/20191201/2080290.html