1、HttpServletRequest获取客户端IP方法:
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * <p>Title: [HttpServletRequest获取客户端IP方法类] </p> * <p>Description: [HttpServletRequest获取客户端IP方法]</p> * <p>Copyright: Copyright (c) 2013</p> * @update [修改人] [修改时间] * @version $Revision$ */ public class CheckMACandIP extends HttpServlet { private static final long serialVersionUID = 1L; public CheckMACandIP() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String ip = getRemoteAddress(request); System.out.println(ip); } public void init() throws ServletException { } /** * * <p>Discription:HttpServletRequest获取客户端IP方法</p> * @param request * @return * @update [修改人] [修改时间] [变更描述] */ public String getRemoteAddress(HttpServletRequest request){ String ip = request.getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getHeader("Proxy-Client-IP"); System.out.println(ip); if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getHeader("WL-Proxy-Client-IP"); System.out.println(ip); if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getRemoteAddr(); System.out.println(ip); return ip; } }
2、webservice方式获取客户端ip的方法:
import org.apache.axis.MessageContext; import javax.servlet.http.HttpServletRequest; import org.apache.axis.transport.http.HTTPConstants; /** * * <p>Discription:动态获取前置机代理健康档案IP地址</p> * @return * @update [修改人] [修改时间] [变更描述] */ public static String getClientIpAxis() { MessageContext mc = null; HttpServletRequest request = null; try { mc = MessageContext.getCurrentContext(); if (mc == null) throw new Exception("无法获取到MessageContext"); request = (HttpServletRequest) mc .getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST); log.info("前置机ip地址:" + request.getRemoteAddr()); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } return request.getRemoteAddr(); }
相关推荐
webService调取IP所在地,以及获得客户端真实IP
总结,本教程详细介绍了如何利用Spring Boot和Apache CXF搭建Web Service服务端,以及使用JAX-WS的`javax.xml.ws.Service`和Apache CXF的`JaxWsProxyFactoryBean`两种方式实现Java客户端调用。这些技能对于开发者来...
综上所述,通过WebService获取服务端硬件信息和客户端网络信息是一个涉及网络通信、数据解析、隐私保护等多个领域的复杂过程。正确理解和实施这些技术可以帮助我们构建更智能、更安全的网络应用。
本文将深入探讨WebService的两种客户端调用方式,并通过源码分析和实际工具的使用来帮助你理解这两种方法。 一、SOAP(Simple Object Access Protocol)调用 1. SOAP简介:SOAP是一种基于XML的协议,用于在Web上...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
webService在客户端调用webService在客户端调用webService在客户端调用webService在客户端调用webService在客户端调用webService在客户端调用webService在客户端调用webService在客户端调用webService在客户端调用...
本文将详细介绍四种常见的 WebService 发布方式及其客户端调用方法,包括 CXF、XFire、AXIS1 和 AXIS2,并结合实际案例进行分析。 #### 二、CXF 方式 **1. 概述** - CXF 是 Apache 的一款开源框架,它提供了强大...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去...
XFire使用简单的API,可以方便地创建服务端和客户端。尽管XFire已经被CXF取代,但理解它的机制有助于理解现代Web服务框架的发展历程。 在实际开发中,选择哪种方式取决于项目需求、团队技术栈以及性能要求。对于...
java webService servlet发送邮件 servlet获取客户端真实IP,城市,国家 上传文件 连接数据转换xml 等等!全套一字母不差源码,下载直接部署就可以用 , tomcat5.5 MyEclipse 分包下载 共4个包,太大一个包传不上去,...
本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...
3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息,实现两个系统间消息的...
WebService是一种通过网络提供功能的方法,它基于WSDL(Web Services Description Language)描述服务,使用SOAP(Simple Object Access Protocol)进行通信,并依赖于UDDI(Universal Description, Discovery, and ...
无论采用哪种方式获取`HttpServletRequest`对象,我们都可以利用它来获取客户端的IP地址。下面是一个简单的示例方法,用于从`HttpServletRequest`对象中提取客户端IP地址: ```java public static String getIpAddr...
本篇主要讨论的是使用CXF和Axis2两种方式来发布WebService以及客户端如何调用它们。下面将详细阐述这两种发布方式。 1. **CXF方式** CXF(CXF=XFire+CXF)是一个开源的Java框架,它支持多种协议和服务样式,包括...
webservice客户端几种方式调用汇总,客户端代码生成及调用方式详细说明等
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同系统之间进行数据交换和功能调用。在本场景中,服务器端通过WebService提供服务,而Android客户端则负责调用这些服务。WebService通常使用...
这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...