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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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 C:禁用Cookie时url未附加jsessionid_Java_Jsp_Jstl - Fatal编程技术网

Java C:禁用Cookie时url未附加jsessionid

Java C:禁用Cookie时url未附加jsessionid,java,jsp,jstl,Java,Jsp,Jstl,我试过: <c:url value="/web/pclub/userprofile" var="test"> <c:param name="userid" value="${user.id}"/> </c:url> ${test} ${test} 但是,当我在禁用cookies的情况下检查页面时,不会附加jsessionid。 有人知道为什么会发生这种情况吗?只有当cookies被禁用时,才会附加jsessionid,当服务器端创建会话时才会附加

我试过:

<c:url value="/web/pclub/userprofile" var="test">
    <c:param name="userid" value="${user.id}"/>
</c:url>
${test}

${test}
但是,当我在禁用cookies的情况下检查页面时,不会附加jsessionid。
有人知道为什么会发生这种情况吗?

只有当cookies被禁用时,才会附加
jsessionid
,当服务器端创建会话时才会附加(因此服务器端需要以某种方式通知客户端,cookie是默认方法)。如果没有创建会话,则没有必要附加
jsessionid

至少在调用
行之前,尝试将以下行添加到JSP的顶部。它不仅为您打印/调试会话ID,还隐式创建会话(如果尚未完成)

${pageContext.session.id}
此操作仅用于测试目的。如果它有效,那么问题的原因是根本没有会话的方法。保持原样。不需要不必要地创建会话。对于存在as会话且浏览器不支持cookie的情况,
c:url
将正常工作



顺便说一下,为了验证cookie是否确实被禁用,请通过跟踪请求头。如果请求中没有
Cookie
头,即使服务器在响应中设置了
set Cookie
头,那么这意味着客户端确实禁用了Cookie。

我认为BalusC是正确的,但是要强制在服务器上创建会话,可以在JSP顶部添加一个指令页,像这样:

<%@ page session="true" %> 

您确定已禁用Cookie吗?你是怎么做到的?在firefox中将该网站添加到我的cookies排除列表中。当我登录时,JSessionID确实会附加到我的URL中。(某些默认生成的链接超出了我的控制范围)。我可以使用getRequestedSessionId检索会话id