【java】服务器端获取用户访问的URL/用户IP/PC还是移动端

    @RequestMapping(value="/test")
    @ResponseBody
    public void test1(HttpServletRequest request,Questionnaire quest,String  questOptions){
        String ipAddress = null;
         if (request.getHeader("x-forwarded-for") == null) {
             ipAddress = request.getRemoteAddr();
         }else{
            if(request.getHeader("x-forwarded-for").length()  > 15){
                String [] aStr = request.getHeader("x-forwarded-for").split(",");
                ipAddress = aStr[0];
            } else{
                ipAddress = request.getHeader("x-forwarded-for");
            }
         }  

         String terminal = request.getHeader("User-Agent");
        if(terminal.contains("Windows NT")){
            terminal = "PC端";
        }else{
            terminal = "移动端";
        }
        System.out.println("访客IP:"+ipAddress);
        System.out.println("用户访问来源:"+terminal);
        System.out.println("访问URL:"+request.getRequestURL());
    }
时间: 2024-10-08 00:50:06

【java】服务器端获取用户访问的URL/用户IP/PC还是移动端的相关文章

Samba服务(匿名用户访问、本地用户访问、虚拟用户访问)

Samba是一个实现不同操作系统(Windows.Linux.UNIX)之间文件共享和打印机共享的一种SMB协议的免费软件.SMB协议是客户机/服务器协议,客户机通过该协议可以访问服务器上的共享文件及打印机共享资源.它主要应用于局域网上,也可以通过设置"NetBIOS over TCP/IP"同互联网中的电脑分享资源. SMB协议:TCP 139端口 CIFS协议:TCP 445端口 重要配置文件: /etc/samba/smb.conf: SAMBA的主配置文件,内有丰富的说明,也可

linux下的shell命令的编写,以及java如何调用linux的shell命令(java如何获取linux上的网卡的ip信息)

程序员都很懒,你懂的! 最近在开发中,需要用到服务器的ip和mac信息.但是服务器是架设在linux系统上的,对于多网口,在获取ip时就产生了很大的问题.下面是在windows系统上,java获取本地ip的方法.贴代码: package com.herman.test; import java.net.InetAddress; /** * @see 获取计算机ip * @author Herman.Xiong * @date 2014年5月16日 09:35:38 */ public class

Emq 限制匿名用户访问,开启用户密码认证

问题: 刚搭建的emq服务默认是开启匿名用户访问的,这样的环境非常不安全,只要知道ip地址就可以连接,所以强烈建议开启用户认证,设置密码! 解决过程 1.修改配置文件 vim /etc/emqx/emqx.conf修改true为falseallow_anonymous = false 2.重启服务 systemctl stop emqxsystemctl start emqx 3.导入插件模块 cd /usr/lib/emqx/binsh emqx_ctl plugins load emqx_a

如何使用redis作为缓存,增强用户访问数据的用户体验

/**完成步骤 1.创建关系型数据库mysql的Provice库,同时启动nosql系列的redis数据库 2.创建项目,导入相关的jar包 3.创建jedis/utils/domain/dao/service/web项目框架包 4.书写相关代码*///页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title<

oracle分配权限:一个用户访问另一个用户的表

相当于alias(别名),比如把user1.table1在user2中建一个同义词table1 create synonym table1 for user1.table1; 这样当你在user2中查select * from table1时就相当于查select * from user1.table1; //批量生成创建同义词select 'create synonym '||object_name||' for jys.'||object_name||';' from dba_objects

Java 服务器获取客户端IP

今天做了一个在线投票的项目,具体需求如下 1.不需要用户体系 2.打开网页就可以投票 3.每人每天只可以投1票 根据以上需求,不同客户端只能用ip来区分,便顺便研究了一下java 服务器端获取客户端ip的方式,废话不多说,直接上代码 /** * 获取客户端IP地址 * * @param request * @return */ public static String getIPAddr(HttpServletRequest request) { String ip = request.getH

php获取设置用户访问页面语言类

php实现获取及设置用户访问页面语言类,可实现获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language. 一个php获取及设置用户访问页面语言类,具体分析:该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language. 根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文)UserLang.class.php类文件如下: <?php /** User Language Clas

Java 利用监听器来实现记录用户访问网站次数

假如有这么一个需求,要记录所有用户访问某一页面的次数. 最先想到的可能是在该Controller定义一个静态成员,然后在相应Action里自增.但这样有一个问题,就是Tomcat或者其他服务器重启的话,这个值是没办法保存的. 当然在数据库中直接保存也是可以的,但因此便要去单独建张表,日后用户访问相应页面都要去访问数据库维护该表有点不值得. 利用自定义ServletContextListener可以很方便做到这一点.思路如下: 1 .在 Web 应用启动时从文件中读取计数器的数值,并把表示计数器的

Nginx反向代理+Tomcat+Springmvc获取用户访问ip

Nginx+Tomcat+Springmvc获取用户访问ip 1.Nginx反向代理 修改Nginx配置文件 location / { ***********之前代码*******; proxy_set_header host $host; proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;//设置代理服务器ip头,代码获取时的参数 proxy_set_header X-Real-IP $remote_addr; //允许将发