Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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
Can';t提取Javaservlet中的所有cookie_Java_Servlets_Cookies - Fatal编程技术网

Can';t提取Javaservlet中的所有cookie

Can';t提取Javaservlet中的所有cookie,java,servlets,cookies,Java,Servlets,Cookies,在我当前正在开发的应用程序中,我需要从应用程序服务器创建的用户浏览器中删除所有cookie。 问题是,有了Chrome和Opera,我可以得到所有的cookie,这很好,但使用Firefox和IE只能得到其中的一部分。 当我检查我需要的cookie是否在浏览器历史记录中装箱时,我看到它们在我的Javaservlet中,但无法得到 我的工作如下: public static Cookie getCookieByName(String cookieName, HttpServletRequest r

在我当前正在开发的应用程序中,我需要从应用程序服务器创建的用户浏览器中删除所有cookie。 问题是,有了Chrome和Opera,我可以得到所有的cookie,这很好,但使用Firefox和IE只能得到其中的一部分。 当我检查我需要的cookie是否在浏览器历史记录中装箱时,我看到它们在我的Javaservlet中,但无法得到

我的工作如下:

public static Cookie getCookieByName(String cookieName, HttpServletRequest request) {
        Cookie cookie = null;
        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (int i = 0; i < cookies.length; i++) {
                Cookie c = cookies[i];
                if (c.getName().compareTo(cookieName) == 0) {
                    cookie = c;
                    break;
                }
            }
        }
        return cookie;
    }
公共静态Cookie getCookieByName(字符串cookieName,HttpServletRequest){
Cookie=null;
Cookie[]cookies=request.getCookies();
如果(cookies!=null){
for(int i=0;i
对于Firefox和Opera,返回的cookie是JSESSIONID、\uu\utma。。。但是有丢失的饼干。。我需要的那些。。
知道如何继续吗?

使用Firebug检查这些cookie是否真的由Firefox发送到服务器,以及它们的名称是否与您正在搜索的名称匹配。还要添加一些调试跟踪并打印所有cookie的名称


也许你在cookie中设置了一些路径,Firefox比IE更严格。

浏览器将发送它认为适合发送的cookie,你将无法说服它再发送

您需要做的是检查未发送的cookie的详细信息,找出它们与正在发送的cookie的区别。要看的东西包括:

  • cookie的域
  • 饼干的路径
  • 饼干的端口
  • cookie的“安全”标志

可能有助于解决此问题。

为什么要使用Cookie?为什么不在表单中使用隐藏输入,并在服务器和浏览器之间来回传递变量呢?谢谢你的帮助;在我的例子中,Chrome可以读取/使用cookie,但不能读取/使用FF或IE。事实证明,cookie的“路径”不准确,但在我在服务器端创建cookie时设置了
cookie.setPath(contextPath)
之后,它开始在所有浏览器上工作