繁体   English   中英

我无法在我的 Servlet 中获取 cookie

[英]i am not able to get cookie in my Servlet

我目前使用的是最新版本的eclipse和tomcat server(v8.5)

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

添加servlets.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");


    }

}

SqServlets.java

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 的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM