如何在JSP中获取浏览器信息?

时间:2009-09-03 12:09:58

标签: jsp

如何使用JSP获取客户端IP和浏览器信息?

6 个答案:

答案 0 :(得分:11)

以下jsp将输出您的IP地址和用户代理:

Your user-agent is: <%=request.getHeader("user-agent")%><br/>
Your IP address is: <%=request.getRemoteAddr()%><br/>

要了解用户正在使用的浏览器和/或操作系统,请解析用户代理标头。

例如:

<%
String userAgent = request.getHeader("user-agent");
if (userAgent.indexOf("MSIE") > -1) {
  out.println("Your browser is Microsoft Internet Explorer<br/>");
}
%>

有关用户代理的列表,请查看here

答案 1 :(得分:5)

对于浏览器部分,您需要解析reqeust的User-Agent部分。

String browserType = request.getHeader("User-Agent");

您可以在那里找到相关信息......

答案 2 :(得分:1)

ServletRequest.getRemoteAddr()X-Forwarded-For标题,如果您认为可以信任它。

什么样的浏览器信息?请求标头将包含User-Agent。

答案 3 :(得分:1)

String browser=request.getHeader("user-agent");
String browsername = "";
String browserversion = "";
String[] otherBrowsers={"Firefox","Chrome","Chrome","Safari"};
    if(browser != null ){
        if((browser.indexOf("MSIE") == -1) && (browser.indexOf("msie") == -1)){
            for(int i=0; i< otherBrowsers.length;  i++){
                System.out.println(browser.indexOf(otherBrowsers[i]));
                browsername=otherBrowsers[i];
                break;
            }
            String subsString = browser.substring( browser.indexOf(browsername));
            String Info[] = (subsString.split(" ")[0]).split("/");
            browsername = Info[0];
            browserversion = Info[1];
    }
    else{
        String tempStr = browser.substring(browser.indexOf("MSIE"),browser.length());
            browsername    = "IE"
        browserversion = tempStr.substring(4,tempStr.indexOf(";"));
    }
}

答案 4 :(得分:0)

Here你可以找到getRemoteAddr(),其中

  

返回客户端的完全限定名称或发送请求的最后一个代理

...和你一起(也许)检索浏览器

request.getHeader("User-Agent")

答案 5 :(得分:0)

您可以通过HTTP标头获取客户愿意为您提供的所有信息。 Here是完整的列表。

要访问servlet或JSP中的标头,请使用:

request.getHeader(“名称的最头任您想”);