Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Java 添加筛选器以检查会话是否有效_Java_Spring_Servlets - Fatal编程技术网

Java 添加筛选器以检查会话是否有效

Java 添加筛选器以检查会话是否有效,java,spring,servlets,Java,Spring,Servlets,我正在添加一个过滤器来检查会话是否有效 添加了以下内容,但得到了错误 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException { if (request.getRequestedSessionId() != null &&

我正在添加一个过滤器来检查会话是否有效

添加了以下内容,但得到了错误

public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws java.io.IOException, ServletException {

    if (request.getRequestedSessionId() != null
            && !request.isRequestedSessionIdValid()) {
错误:-

The method getRequestedSessionId() is undefined for the type ServletRequest

方法
getRequestedSessionId
(和
isRequestedSessionIdValid
)在上声明。您正在尝试对类型为的引用调用该方法。如果您知道被引用的对象实际上是一个
HttpServletRequest
,请强制转换它以调用该方法

HttpServletRequest httpRequest = (HttpServletRequest) request;
if (httpRequest.getRequestedSessionId() != null && !httpRequest.isRequestedSessionIdValid()) {...

谢谢,成功了。有一个问题-当它被强制转换时,我确信它会将ServletRequest的所有属性复制到HttpServletRequest。如果ServletRequest中有更多属性,或者ServletRequest中有更多属性,会发生什么情况?@user1050619 Casting对对象没有任何作用。强制转换应用于值,此处的值是对对象的引用。对象是完全相同的。您只是以不同的方式看待它,将类型
HttpServletRequest
替换为
ServletRequest