Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSP+;Struts:在AJAX调用中处理会话超时_Ajax_Jsp_Struts2_Servlet Filters_Session Timeout - Fatal编程技术网

JSP+;Struts:在AJAX调用中处理会话超时

JSP+;Struts:在AJAX调用中处理会话超时,ajax,jsp,struts2,servlet-filters,session-timeout,Ajax,Jsp,Struts2,Servlet Filters,Session Timeout,我从我的JS方法中调用ajax,以以下方式调用action类的方法: $.getJSON("treeDemo_!getRootNode?appId=" + applicationId, function () { }).success(function (e) { }).error(function (jqXHR, textStatus, errorThrown) { alert(textStatus); }).complete(function () {

我从我的JS方法中调用ajax,以以下方式调用action类的方法:

$.getJSON("treeDemo_!getRootNode?appId=" + applicationId, function () {
    }).success(function (e) {
    }).error(function (jqXHR, textStatus, errorThrown) {
        alert(textStatus);
    }).complete(function () {
    });
my web.xml中的会话配置如下所示

<session-config>
    <session-timeout>1</session-timeout>
</session-config>
但这看起来像是一个一般性错误。我希望捕获会话超时异常,并在发生此异常时将用户重定向到login.jsp页面

我甚至试着用行动来处理它。但这对我不起作用

您能建议我如何解决它吗?

没有“会话超时异常”

您的Ajax调用期望返回JSON,如果会话超时,应用程序中的任何内容都不会返回JSON。在链接中使用过滤器或拦截器,检查会话超时,如果是正常请求,则正常处理,但如果是Ajax请求,则返回HTTP错误代码

在JavaScript回调中处理此错误代码。

没有“会话超时异常”

您的Ajax调用期望返回JSON,如果会话超时,应用程序中的任何内容都不会返回JSON。在链接中使用过滤器或拦截器,检查会话超时,如果是正常请求,则正常处理,但如果是Ajax请求,则返回HTTP错误代码


在JavaScript回调中处理此错误代码。

谢谢Dave。但正如我所提到的,我按照链接中提到的步骤创建了一个过滤器。但是,当会话超时时,控件不会到达
doFilter()
,这在理想情况下是应该的(我猜)。由于我正在进行AJAX调用,我认为这可能是过滤器无法工作的原因。有什么帮助吗?@Darkknowtfan它不能“到达过滤器”,除非你定义了错误的过滤器,比如把它放在S2过滤器后面或者其他什么。谢谢Dave。但正如我所提到的,我按照链接中提到的步骤创建了一个过滤器。但是,当会话超时时,控件不会到达
doFilter()
,这在理想情况下是应该的(我猜)。由于我正在进行AJAX调用,我认为这可能是过滤器无法工作的原因。有什么帮助吗?@Darkknowtfan它不能“到达过滤器”,除非你定义了错误的过滤器,比如把它放在S2过滤器后面或者别的什么东西。
textStatus = parsererror
errorThrown = SyntaxError: JSON.parse: unexpected character