Java 通过cookies获取客户端环境信息

Java 通过cookies获取客户端环境信息,java,servlets,cookies,Java,Servlets,Cookies,几天前我刚开始使用Java servlet。我正试图开发一个程序,只是为了练习和了解我们可以用Javaservlet做的事情 尝试让程序生成cookie并将其发送回客户端作为响应。 发送回cookie并获取cookie信息很好,但我想做的是,我们可以使用cookie获取有关客户端环境的信息,也可以使用cookie获取浏览器信息,例如哪个浏览器、其版本、操作系统等 我知道它们存储状态信息,因为HTTP是无状态的。所以我只是想知道,有没有一种方法可以通过servlet中的cookies获取客户端的环

几天前我刚开始使用Java servlet。我正试图开发一个程序,只是为了练习和了解我们可以用Javaservlet做的事情

尝试让程序生成cookie并将其发送回客户端作为响应。 发送回cookie并获取cookie信息很好,但我想做的是,我们可以使用cookie获取有关客户端环境的信息,也可以使用cookie获取浏览器信息,例如哪个浏览器、其版本、操作系统等

我知道它们存储状态信息,因为HTTP是无状态的。所以我只是想知道,有没有一种方法可以通过servlet中的cookies获取客户端的环境信息和浏览器信息。

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

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

public class GetCookiesServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        Cookie[] cookies = request.getCookies();

        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.println("<B>");
        for (int i = 0; i < cookies.length; i++) {
            String name = cookies[i].getName();
            String value = cookies[i].getValue();
            pw.println("name = " + name + "; value = " + value);
        }
        pw.close();
    }
}
导入java.io.PrintWriter; 导入javax.servlet.ServletException; 导入javax.servlet.http.Cookie; 导入javax.servlet.http.HttpServlet; 导入javax.servlet.http.HttpServletRequest; 导入javax.servlet.http.HttpServletResponse; 公共类GetCookiesServlet扩展了HttpServlet{ public void doGet(HttpServletRequest请求、HttpServletResponse响应) 抛出ServletException、IOException{ Cookie[]cookies=request.getCookies(); response.setContentType(“text/html”); PrintWriter pw=response.getWriter(); pw.println(“”); for(int i=0;i
请访问此

导入java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.http.Cookie;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
公共类GetCookiesServlet扩展了HttpServlet{
public void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
Cookie[]cookies=request.getCookies();
response.setContentType(“text/html”);
PrintWriter pw=response.getWriter();
pw.println(“”);
for(int i=0;i

请访问此

Cookie不是为获取客户信息而设计的。您必须使用
javax.servlet.http.HttpServletRequest
方法-
getHeader()
getHeaders()
方法来读取请求头键值

 Enumeration names=request.getHeaderNames();

  while(names.hasMoreElements())
     {
     String key=names.nextElement().toString();
     String value=request.getHeader(key);
     }
要获取
用户代理
键的值

String userAgent=request.getHeader("user-agent");

Cookie不是为获取客户信息而设计的。您必须使用
javax.servlet.http.HttpServletRequest
方法-
getHeader()
getHeaders()
方法来读取请求头键值

 Enumeration names=request.getHeaderNames();

  while(names.hasMoreElements())
     {
     String key=names.nextElement().toString();
     String value=request.getHeader(key);
     }
要获取
用户代理
键的值

String userAgent=request.getHeader("user-agent");

你的问题很广泛。我会推荐一本好的HTML书籍或在线教程。如果你想了解客户信息,请查看请求标题。在你的问题上尝试代码是非常广泛的。我会推荐一本好的HTML书籍或在线教程。如果你想了解客户信息,请查看请求标题。试一试问题代码是我们是否通过cookies检索客户端信息(.which browser,它的版本,OS)?看到这个我也多次提到那个站点:P,dost!谢谢你的链接!:)问题是我们是否通过cookies检索客户端信息(.which browser,它的版本,OS)?看到这个我也多次提到那个站点:P,dost!谢谢你的链接!:)很抱歉回信太晚了!但是谢谢。。你的帖子帮助了我!:)很抱歉回信太晚了!但是谢谢。。你的帖子帮助了我!:)