2012-01-04 57 views
0

我剛剛在幾天前開始使用Java servlets。我正在嘗試開發一個僅用於練習的程序,並瞭解我們可以使用Java servlet完成的任務。通過cookies獲取客戶端環境信息

試圖有一個生成一個cookie和響應並將其發送回給客戶機的程序。 發回cookie並獲取cookie信息沒有問題,但我想要做的是,我們可以使用cookie獲取有關客戶端環境的信息,以及我們是否可以使用cookie獲取瀏覽器信息,例如哪個瀏覽器,其版本,OS等

我知道他們存儲狀態信息,因爲HTTP是無狀態的。所以我只是想知道並試圖通過cookie來獲取客戶端的環境信息和瀏覽器信息。

+0

你提的問題是非常廣泛的。我會推薦一本好的HTML書或在線教程。 – Perception 2012-01-04 02:37:28

+0

如果您想要客戶端信息,請查看請求標頭。嘗試http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Request-Headers.html代碼 – rickz 2012-01-04 03:11:21

回答

3

Cookies沒有設計來獲得客戶信息。您必須使用javax.servlet.http.HttpServletRequest方法 - getHeader()getHeaders()方法來讀取請求標頭鍵值。

Enumeration names=request.getHeaderNames(); 

    while(names.hasMoreElements()) 
    { 
    String key=names.nextElement().toString(); 
    String value=request.getHeader(key); 
    } 

想要獲得價值user-agent的鑰匙。

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

對不起回覆遲遲!但謝謝..你的文章幫助我! :) – ritesht93 2012-03-28 02:51:48

0
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(); 
    } 
} 

請訪問此link

+1

問題是我們是否獲取客戶信息(瀏覽器。其中,它的版本,操作系統)通過cookie? – adatapost 2012-01-04 02:52:19

+0

看到這個[鏈接](http://www.roseindia.net/servlets/header-information-available.shtml) – sivakg2000 2012-01-04 02:56:51

+0

我也多次引用該網站:P,dost!感謝您的鏈接! :) – ritesht93 2012-03-28 02:54:23