`

利用jersey实现IP查询的js调用接口

阅读更多

      这几天一直在学习restful web services,感觉很棒,相对于之前的SOAP方式,它不仅大大缩短了我们程序员的学习周期,而且使用简单,功能强大,于是萌生了用它来实现IP查询的web services服务,可供有需要的朋友直接通过js方式进行调用的想法。因为之前曾经有朋友提到,他的客户要求实现通过来访者的IP定位地图然后查询附近的店铺,他精通页面制作,对js也比较熟悉,但却对java、dot net等不熟悉,也不想花太多的时间去学习,所以问我能不能提供js方法给他,现在终于找到解决的方法了。

      通过jersey的API得知其pojo类的方法返回的值有很多种类型,其中就包括xml和json,而这两种类型,很多js的框架都有很好的支持,有直接的方法对返回的xml,json格式的字符串进行格式化成相应的对象,在此我选择了json格式,下面说说实现的过程。

      首先,需要在方法增加这样的注解,@Produces(MediaType.APPLICATION_JSON),方法体里实现通过IP地址获取对应的信息,如国家、省份、经度、纬度等,方法返回的则是JSONObject对象,代码片段如下:

         @GET
         @Produces(MediaType.APPLICATION_JSON)
         public JSONObject getIpInfoByIpOrHost(@Context HttpServletRequest request){

                   JSONObject myObject = new JSONObject();

                   myObject.put("countryCode","");

                   ......

         }

       然后在页面利用js框架jquery.js和json2.js进行调用

       jQuery.ajax({
           type: "GET",
           url: '<%=path%>/services/ip',
           data: "ip="+ip+"&userId="+userId,
           success: function(data) {
               var myObject = JSON.parse(data);
           }
       });

 

 

       由于我的服务已经发布到互联网,所以如果其他朋友需要在自己的网站进行调用的话,可以直接把上面的url改成我服务的链接即就可,服务的链接为:http://www.jackshow.net/,方法调用参数有二个,一个是待查询的IP,一个是userId(有需要调用的朋友可以联系我,我分配一个用户帐户即可调用)。返回结果包括:

        国家代号(英):countryCode       

        国家名称(英):countryName
        省份(英): province        

        城市(英):city
        时区(英):timeZone       

        经度:jingdu
        纬度:weidu

        省份城市(纯真):chunZhenCountry

        位置(纯真):chunZhenLocation

 

0
1
分享到:
评论

相关推荐

    Jersey实现restful,CXF调用以及jquery AJAX调用

    【标题】:Jersey实现RESTful,CXF调用及jQuery AJAX调用 【内容】: 在现代Web开发中,RESTful API已经成为一种主流的接口设计模式,它以简洁、可扩展的方式提供服务。本篇将详细介绍如何使用Jersey框架实现...

    jersey实现简单的rest接口

    至此,你已经成功地使用Jersey实现了一个简单的REST接口,能够返回JSON数据。 进一步探索Jersey,你可以学习如何处理POST、PUT、DELETE请求,如何进行参数绑定,使用过滤器和拦截器,以及如何利用JAXB或Jackson进行...

    动态发布rest接口及服务调用

    总的来说,"动态发布REST接口及服务调用"涵盖了使用Jetty和Jersey在Java中构建RESTful服务的基本流程,从接口的定义、发布到调用的全过程。通过这种方式,开发者可以快速地开发和测试REST服务,为分布式系统提供灵活...

    oracle 触发器实时调用java 中http接口

    在这个场景中,我们关注的是一个特定的触发器,它在插入数据后被调用,并通过存储过程来实现与Java HTTP接口的交互。这个设计模式通常用于实时的数据处理或者系统间的集成,比如将数据库中的事件通知给外部系统。 ...

    基于rest的jersey实现webservice

    **基于REST的Jersey实现Web服务** REST(Representational State Transfer)是一种软件架构风格,用于构建Web服务。它强调简洁、可伸缩性和基于HTTP协议的设计。RESTful Web服务使用HTTP方法(如GET、POST、PUT、...

    oauth jersey实现例子

    在这个"oauth jersey实现例子"中,我们将探讨如何结合OAuth和Jersey构建安全的RESTful API。 首先,OAuth的核心概念包括资源所有者(Resource Owner)、客户端(Client)、授权服务器(Authorization Server)和...

    jersey 实现restful服务

    此时,可以利用查询参数(query parameters)和路径参数(path parameters)来扩展你的服务。同时,安全方面也不容忽视,可以考虑使用OAuth2或其他身份验证机制保护你的API。 总的来说,Jersey提供了一个强大而灵活...

    jersey+spring+srpingmvc实现上传

    【标题】:“jersey+spring+springmvc实现上传” 在Web开发中,文件上传功能是一项常见且重要的任务。本示例将介绍如何结合Jersey、Spring和Spring MVC框架来实现这一功能。Jersey是Java RESTful Web服务的实现,而...

    spring4.x 集成 jersey2.x 实现对外提供接口服务

    以上就是Spring 4.x集成Jersey 2.x来实现对外提供REST接口服务的完整过程。通过这种方式,你可以利用Spring的强大功能和Jersey的简单易用性,轻松地构建和管理RESTful API服务。在实际项目中,可能还需要考虑安全性...

    java+restful+Jersey+webservice 远程调用

    在Java世界中,实现RESTful服务的一个常用框架就是Jersey。 Jersey是Sun Microsystems(现已被Oracle收购)开发的开源项目,它是JAX-RS(Java API for RESTful Web Services)规范的参考实现。JAX-RS为创建RESTful...

    jersey实现restful简单实例

    除了提供服务端实现,Jersey还包含一个客户端API,允许你在Java代码中调用RESTful服务。以下是一个简单的示例: ```java import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax...

    jersey-core、jersey-client jar包.rar

    结合描述中的"SpringMVC跨服务器上传文件",我们可以推断这是一个关于如何在Spring MVC应用中利用Jersey客户端库来实现跨服务器文件上传的场景。Spring MVC是Spring框架的一部分,用于构建Web应用程序,特别是处理...

    jersey restful webservice集成以及使用

    使用Jersey,开发者可以实现对结果集的分页支持,这可能涉及到使用查询参数(如`page`和`size`),创建自定义的响应模型,或者利用JAX-RS的`@Pagination`注解和相关的扩展库。 综上所述,这篇文章可能涵盖了以下...

    使用SpringBoot整合jersey 实现Restful web service.同时整合springmvc。

    在本文中,我们将深入探讨如何使用SpringBoot框架与Jersey库整合来实现RESTful Web服务,并同时集成Spring MVC。...通过这个整合,开发者可以利用Spring Boot的便利性和Jersey的灵活性,打造高性能的API接口。

    Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用

    "Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用" RESTful Web服务简介 ----------------- RESTful Web服务是使用HTTP和REST原理实现的Web服务。REST 中最重要的概念是资源(resources),使用全球ID...

    Jersey和Tomcat构建RESTfulWebService及其调用[归纳].pdf

    此外,还可以利用Jersey的过滤器、拦截器和提供者等高级功能,实现身份验证、日志记录、错误处理等。 总的来说,通过结合Jersey和Tomcat,开发者可以快速地构建高效、可扩展且易于维护的RESTful Web服务。这不仅...

    Jersey所需Jar包

    jersey-core还包含了JAX-RS规范的主要实现,如`@Path`, `@GET`, `@POST`等注解,以及`Resource`, `Provider`等概念。 3. **jersey-grizzly2**: 这个JAR包是Jersey与Grizzly HTTP服务器的集成,Grizzly是一个轻量...

    前置机接口, 传SQL查询内网数据库

    综上所述,"前置机接口,传SQL查询内网数据库"是一种常见的解决方案,它利用中间层应用作为桥梁,实现了安全的数据访问。通过设计合理的接口应用,我们可以确保数据安全的同时,提供高效、可靠的查询服务。而JERSEY...

    java 远程调用工具

    本文将深入探讨如何利用Java技术进行远程调用,特别是针对WebService和RESTful接口的调用,以及一个常用的工具——SoapUI。 首先,让我们了解什么是远程调用。远程调用(Remote Procedure Call,RPC)是一种在...

    jersey1.18jar包

    例如,`jersey-server.jar`包含了服务端的核心功能,`jersey-client.jar`则用于客户端调用RESTful接口,`jersey-servlet.jar`是与Servlet容器集成的组件,而`jersey-json.jar`则支持JSON数据格式的处理。 另外,...

Global site tag (gtag.js) - Google Analytics