Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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/4/algorithm/10.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 我无法在Servlet中获取cookie_Java_Servlets_Cookies - Fatal编程技术网

Java 我无法在Servlet中获取cookie

Java 我无法在Servlet中获取cookie,java,servlets,cookies,Java,Servlets,Cookies,我目前正在使用最新版本的eclipse和tomcat服务器(v8.5) 在我的代码的“Cookie Cookie[]=req.getCookies();”行的SqServlets.java文件中生成类型不匹配错误。 若它被解决了,那个么我将添加for循环并获得我的“k”值cookie,但该行中的第一个错误将被清除 Addservlets.java package servlets; import java.io.IOException; import javax.servlet.Reques

我目前正在使用最新版本的eclipse和tomcat服务器(v8.5)

在我的代码的“Cookie Cookie[]=req.getCookies();”行的SqServlets.java文件中生成类型不匹配错误。 若它被解决了,那个么我将添加for循环并获得我的“k”值cookie,但该行中的第一个错误将被清除

Addservlets.java

package servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Addservlet extends HttpServlet {

    public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {

        int i= Integer.parseInt(req.getParameter("num1"));
        int j= Integer.parseInt(req.getParameter("num2"));

        int k=i+j;

        String str=Integer.toString(k);

        Cookie cookie=new Cookie("k",str);
        res.addCookie(cookie);

        res.sendRedirect("sq");


    }

}
package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.tomcat.util.http.parser.Cookie;

public class SqServlets extends HttpServlet {

    public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException {

        int k=0;
        Cookie cookie[]= req.getCookies();

        k=k*k;

        PrintWriter out=res.getWriter();
        out.print("square value is = "+k);

    }


}
SqServlets.java

package servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Addservlet extends HttpServlet {

    public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {

        int i= Integer.parseInt(req.getParameter("num1"));
        int j= Integer.parseInt(req.getParameter("num2"));

        int k=i+j;

        String str=Integer.toString(k);

        Cookie cookie=new Cookie("k",str);
        res.addCookie(cookie);

        res.sendRedirect("sq");


    }

}
package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.tomcat.util.http.parser.Cookie;

public class SqServlets extends HttpServlet {

    public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException {

        int k=0;
        Cookie cookie[]= req.getCookies();

        k=k*k;

        PrintWriter out=res.getWriter();
        out.print("square value is = "+k);

    }


}

我认为错误在于导入:

import org.apache.tomcat.util.http.parser.Cookie;
从HttpServletRequest的文档中,我们发现方法
getCookies
返回的
javax.servlet.http.Cookie
与您的声明不兼容

因此,请使用以下方法修复导入:

import javax.servlet.http.Cookie


然后使用相关API查找并获取cookie的值。

请将错误添加到PostDos
i
j
中是否有一些值在您的
Addservlet
类中,请尝试检查。对于(cookie c:cookie){if(c.getName().equals(“k”){k=Integer.parseInt(c.getValue();}我已使用上述代码获取cookie,但它给了我一个错误。类型异常报告消息null说明服务器遇到意外情况,使其无法满足请求。异常java.lang.NumberFormatException:null java.lang.Integer.parseInt(未知源)java.lang.Integer.parseInt(未知源)servlet.Addservlet.doGet(Addservlet.java:15)javax.servlet.http.HttpServlet.service(HttpServlet.java:634)javax.servlet.http.HttpServlet.service(HttpServlet.java:741)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)