`
蓝色的墨
  • 浏览: 77920 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

写一个servlet实现gps坐标偏移接口功能

 
阅读更多

             写一个servlet实现GPS坐标偏移接口功能

这两天写了一个servlet,用于实现GPS坐标偏移接口功能。大概就是,我需要首先接收一个经纬度串数组,然后用json解析,给URL服务发送请求,服务器返回json格式的数组.

 

0、需要引入json-simple-1.1的类库。

 

1、GPS坐标偏移接口文档见附件

 

2、具体servlet代码:

 

package com.tm.gpsController;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class GPSConventCoordinateServlet extends HttpServlet {

 private static final long serialVersionUID = 3018725984829044717L;

 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {

  // 我申请的key
  String a_k = "XXXXXX";

  String coors = req.getParameter("lonLatStr");

  JSONParser parser = new JSONParser();
  Object obj = "";
  try {
   obj = parser.parse(coors);
  } catch (ParseException e) {
   e.printStackTrace();
  }
  String lonLatStr = "";
  JSONArray array = (JSONArray) obj;
  for (Object j : array) {
   //
   lonLatStr = lonLatStr + ((JSONObject) j).get("lon") + ","
     + ((JSONObject) j).get("lat") + ";";
  }

  lonLatStr = lonLatStr.substring(0, lonLatStr.length() - 1);
  String postParam = "config=RGC&flag=true&resType=json&cr=0&coors="
    + lonLatStr + "&a_k=" + a_k;
  System.out.println(postParam);
  // 服务地址
  String urlString = "XXXXXX
";

  URL url = new URL(urlString);
  URLConnection urlc = url.openConnection();

  HttpURLConnection httpConnection = (HttpURLConnection) urlc;
  httpConnection.setRequestMethod("POST");
  httpConnection.setDoInput(true);
  httpConnection.setDoOutput(true);

  httpConnection.connect();

  OutputStreamWriter osw = new OutputStreamWriter(
    new BufferedOutputStream(httpConnection.getOutputStream()));
  osw.write(postParam);
  osw.flush();
  System.out.println();
  osw.close();
  BufferedReader br = new BufferedReader(new InputStreamReader(
    httpConnection.getInputStream()));
  String line;
  StringBuffer sbuffB = new StringBuffer();
  while ((line = br.readLine()) != null) {

   sbuffB.append(line + "\n");
   System.out.println(line);
  }
  br.close();
  httpConnection.disconnect();

 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  doGet(req, resp);
 }

}

 

3、web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="
http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
 
    <welcome-file-list>
         <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
 
 
  <servlet>
    <servlet-name>GPSConventCoordinateServlet</servlet-name>
    <servlet-class>com.tm.gpsController.GPSConventCoordinateServlet</servlet-class>
  </servlet>

 
  <servlet-mapping>
    <servlet-name>GPSConventCoordinateServlet</servlet-name>
    <url-pattern>/GPSConventCoordinateServlet</url-pattern>
  </servlet-mapping>
 
 
</web-app>

 

4、启动tomcat,部署一下,运行。

 

5、在浏览器中输入

http://localhost:8080/gpsCoordinateConvent/GPSConventCoordinateServlet?lonLatStr=[{"lon":133.34,"lat":35.33},{"lon":134.33,"lat":34.33]进行测试。

 

6、在控制台输出返回的信息{"message":"ok","list":[{"gridcode":"873482645301","y":"582.5422219509549","x":"582.5422219509549"},{"gridcode":"873482645301","y":"582.5422219509549","x":"582.5422219509549"}]} 就对了

 

 

7、注意 在浏览器中输入的参数lonLatStr=[{"lon":133.34,"lat":35.33},{"lon":134.33,"lat":34.33] 参数格式有时候输入的特殊,服务器端就会返回一个默认的返回的结果。"[{"gridcode":"873482645301","y":"582.5422219509549","x":"582.5422219509549"},这时候,其实程序是没有问题的,只需要改一下参数,就可以了。

分享到:
评论

相关推荐

    JSP+Servlet实现文件上传到服务器功能

    这里的User是由user表来定义的一个类,再封装增删改查等操作,实现从数据库查询与插入,修改与删除等操作,并实现了分页操作,也实现了将图片放到服务器上运行的效果。 Dao层:主要实现了User类的定义,接口IUserDao...

    servlet实现密码修改功能

    servlet实现密码修改功能,这个功能可以实现前台JSP页面提交信息,通过servlet直接处理实现密码修改功能,希望对需要的朋友有所帮助,谢谢使用本资源!JAVA文件

    使用Java servlet实现自动登录退出功能

    使用Java Servlet实现自动登录退出功能是Web应用程序中一个非常重要的功能,本文将详细介绍如何使用Java Servlet实现自动登录退出功能。 知识点1:了解Java Servlet Java Servlet是一个Java类库,用于开发基于Web...

    JSP+Servlet实现简易购物车功能

    本项目“JSP+Servlet实现简易购物车功能”就是一个典型的示例,它展示了如何利用这两者来创建一个基本的在线购物系统。以下是关于这个项目及其涉及的技术点的详细解释: 1. **JSP(JavaServer Pages)**:JSP是一种...

    Servlet实现增删改查功能_+jsp登录页面.

    "Servlet实现增删改查功能_+jsp登录页面" 本文将从 Servlet 实现增删改查功能和 jsp 登录页面两个方面对知识点进行总结和解释。 MVC 模式 MVC 模式是一种软件架构模式,它将应用程序分为三个基本组件:模型...

    使用JSP+Servlet实现商品管理功能,后台为数据库,功能包括商品信息浏览、商品信息详情、商品信息删除及修改。

    本文将深入探讨如何使用JSP和Servlet实现一个商品管理功能,涉及的内容包括商品信息的浏览、详情展示、删除及修改。 首先,让我们了解JSP和Servlet。JSP是一种动态网页技术,它允许我们在HTML页面中嵌入Java代码,...

    利用servlet技术实现一个简单的聊天室

    实验1: 利用servlet实现一个简单的聊天室 实验目的 (1) 理解servlet的工作原理 (2) 掌握servlet编程基本技能 实验内容及要求 1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息...

    使用servlet实现简单用户登录

    在本文中,我们将深入探讨如何使用Servlet技术来实现一个简单的用户登录功能。Servlet是一种Java编程接口,用于扩展服务器的功能,特别是在Web应用中处理HTTP请求。在这个项目中,我们结合了Servlet与JSP(Java...

    Servlet接口及方法

    `RequestDispatcher`接口是Servlet容器提供的,用于实现请求转发和包含请求处理结果的功能。该接口提供了两个主要方法:`forward`和`include`。 ##### 1. forward方法 ```java public void forward(ServletRequest...

    Servlet实现猜数字大小游戏

    在这个"Servlet实现猜数字大小游戏"项目中,我们将探讨如何使用Servlet和session技术来创建一个互动的在线猜数字游戏。 首先,让我们理解Servlet的基本概念。Servlet是Java提供的一种服务器端的编程接口,它允许...

    servlet实现身高体重比测试

    Servlet是Java Web开发中的一个重要组件,它主要用于扩展服务器的功能,处理来自客户端(通常是浏览器)的请求并返回响应。在这个“servlet实现身高体重比测试”的项目中,我们将深入理解Servlet的生命周期、EL...

    jsp+Servlet实现简单的登陆

    本示例探讨的是如何使用这两种技术来实现一个简单的登录功能,这是一个基础但关键的功能,对于任何Web应用程序来说都是必不可少的。 首先,让我们深入了解一下Servlet。Servlet是Java编写的小型服务器端程序,它...

    使用JSP、JavaBean和Servlet实现一个简单的留言板设计.zip

    综上所述,这个项目通过整合JSP、JavaBean和Servlet,构建了一个功能简单的在线留言板系统,实现了用户提交留言、后台数据存储以及信息展示的基本功能。通过这样的实践,开发者可以深入理解Web应用程序开发的核心...

    jsp+servlet小项目(实现图片上传功能)

    本项目"jsp+servlet小项目(实现图片上传功能)"旨在教授如何利用这两者创建一个简单的图片上传功能。下面将详细介绍这个项目涉及的关键知识点。 1. JSP基础:JSP是一种动态网页技术,允许开发者在HTML页面中嵌入...

    jsp+servlet头像上传功能

    本篇文章将深入探讨如何利用`JSP`和`Servlet`来创建一个头像上传功能。 首先,`JSP`是一种基于Java的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页效果。在头像上传的场景中,`JSP`通常...

    Servlet简单实现用户登录等功能.zip

    在Java Web开发中,Servlet是一种Java编程语言编写的服务器端程序,主要...通过理解和应用这些概念,开发者能够构建一个简单的但功能完整的用户管理系统。实际开发中,还需要考虑安全性、性能优化以及用户体验等因素。

    纯Servlet实现用户管理系统(入门实例,深刻认识Servlet)

    首先,Servlet是一个Java类,它扩展了`javax.servlet.Servlet`接口或实现了`javax.servlet.http.HttpServlet`抽象类。Servlet的主要职责是接收客户端的请求,进行业务处理,然后返回响应。在用户管理系统中,Servlet...

    使用Servlet写app接口

    - **Servlet定义**:Servlet是Java编程语言中的一个接口,由Java Servlet API提供,用于扩展服务器的功能,处理来自客户端的请求,并向客户端发送响应。 - **生命周期**:Servlet经历初始化、服务、销毁三个阶段。...

    servlet实现登录注册等源码

    Servlet是Java平台上的一个核心技术,用于开发动态Web应用程序。它提供了一种标准的方法来处理HTTP请求,并将这些请求转发到服务器端的应用程序,通常是一个Java类。在本项目"Servlet实现登录注册等源码"中,我们...

    用继承servlet接口的方式手动开发servlet

    本文档将详细介绍如何通过实现`Servlet`接口的方式,从零开始构建一个简单的Servlet程序。这个Servlet不仅会显示“Hello World”,还会显示当前的时间。这对于刚接触Servlet技术的初学者来说非常实用。 #### 二、...

Global site tag (gtag.js) - Google Analytics