zoukankan      html  css  js  c++  java
  • HttpServletRequest获取浏览器、服务端和客户端信息

      如何通过HttpServletRequest来获取到上面的属性呢?

    1、引入开源工具

    <!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils -->
    <dependency>
        <groupId>eu.bitwalker</groupId>
        <artifactId>UserAgentUtils</artifactId>
        <version>1.21</version>
    </dependency>

    2、在controller中使用

    UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
    Browser browser = userAgent.getBrowser();
    OperatingSystem operatingSystem = userAgent.getOperatingSystem();
    Version browserVersion = userAgent.getBrowserVersion();
    log.info(browser.getName());
    log.info(operatingSystem.getName());
    log.info(browserVersion.getVersion());

    3、运行结果

    4、request的服务端和客户端详细信息

    request.getLocalAddr();//获取本地IP,即服务器IP
    request.getLocalName();//获取本地名称,即服务器名称
    request.getLocalPort();//获取本地端口号,即Tomcat端口号
    request.getLocale();//用户的语言环境
    request.getContextPath();//context路径
    request.getMethod();//GET还是POST
    request.getProtocol();//协议,http协议
    request.getQueryString();//查询字符串
    request.getRemoteAddr();//远程IP,即客户端IP
    request.getRemotePort();//远程端口,即客户端端口
    request.getRemoteUser();//远程用户
    request.getRequestedSessionId();//客户端的Session的ID
    request.getRequestURI();//用户请求的URL
    request.getScheme();//协议头,例如http
    request.getServerName();//服务器名称
    request.getServerPort();//服务器端口
    request.getServletPath();//Servlet路径
  • 相关阅读:
    Maven学习--- 搭建多模块企业级项目
    Spring @Transactional ——事务回滚
    Spring事务异常回滚,捕获异常不抛出就不会回滚
    JVM调优总结(一)-- 堆和栈的基本概念
    Java中常见数据结构:list与map -底层如何实现
    hadoop 2.7.1安装和配置
    Hadoop基本开发环境搭建(原创,已实践)
    Hadoop下添加节点和删除节点
    iOS应用之间跳转
    iOS开发技巧
  • 原文地址:https://www.cnblogs.com/zsh-blogs/p/11024169.html
Copyright © 2011-2022 走看看