Java编程中spring mvc 获取请求ip

编程教程 > Java > Spring (2822) 2024-11-26 14:39:04

一、使用背景

    在Spring框架中, 你可以直接使用注解@Autowired来注入一个HttpServletRequest,只要在被spring管理的类中,然后你就可以从request的headers中获取到来访的请求客户IP地址。

二、具体获取IP代码

WebUtils.java:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;

@Component
public class WebUtils {

    private HttpServletRequest request;

    @Autowired
    public void setRequest(HttpServletRequest request) {
        this.request = request;
    }

    private static String getClientIp() {

        String remoteAddr = "";

        if (request != null) {
            remoteAddr = request.getHeader("X-FORWARDED-FOR");
            if (remoteAddr == null || "".equals(remoteAddr)) {
                remoteAddr = request.getRemoteAddr();
            }
        }

        return remoteAddr;
    }

}

三、使用IP工具类

最常使用的地方可能是你的controller中,例如

public GetIpController{
   @Autowired
   WebUtils webUtils;

   @GetMapping("/getIp.do")
   public String getClientIP(HttpServletRequest request){
    return webUtils.getClientIp();
   }
}

评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Java编程中spring mvc 获取请求ip,springmvc 获取访问ip
linux 配置静态ip地址,Centos6.5配置静态IP地址,Linux系统配置静态IP地址
本文针对IPv4地址详解每个使用 IP 协议进行通信的实体,都需要分配一个地址,这就是我们所熟知的 IP 地址。IP 地址由 4 个字节组成,共 32 位,理论
获取客户端来源真实ip在很多业务场景都需要,比如微信支付的v2版,要求必须有下单的用户来源IP。下面详解。 从Java代码端获取真实客户端IP源码参考: pub
为主机配置 IP 地址并调通网络,是开发工程师和网络管理员的必备技能。本节提供了 4 个典型的实验场景,讲解为 Linux 主机配置 IP 地址的关键步骤。实践
Spring框架5.0,spring mvc 5.0入门教程。DispatcherServlet的详细讲解配置以及spring mvc5.0的helloword程序
概述IP地址(IPv4)子掩码及斜杠/24/16/8是什么网络地址管理是网络配置和设计的关键组成部分。其中,IP地址和子网掩码起着至关重要的作用。本文将详细解析
springmvc集成logback不打印spring mvc启动日志解决
​Spring Boot 或者Spring MVC 判断请求类型是否为Ajax请求具体如下:public static boolean isAjaxRequest(HttpServletRequ...
spring mvc采用mapping代码方式配置项目的默认首页注意事项,spring mvc,默认首页,spring
在这个Spring5教程中,学习创建Spring 5 MVC Web应用程序,处理表单提交,集成hibernate连接到后端数据库,以及添加用于输入表单字段验证的hibernate验证器。
spring mvc项目是spring的一个子项目用于处理视图层的请求,类似Struts框架。302跳转很简单:@RequestMapping(value =
Spring Context 与Spring MVC Context那些坑
Spring mvc文件下载IE/Edge中文乱码解决,在spring mvc项目开发中,我们可能经常遇到文件的上传和下载操作。这里将讲解在IE/Edge浏览器中文件下载中文乱码的解决方法。