展会信息港展会大全

jsp连接MySQL操作GIS地图数据实现添加point的功能代码
来源:互联网   发布日期:2016-03-01 10:47:10   浏览:1053次  

导读: 本文为大家介绍下使用jsp连接MySQL操作GIS地图数据并实现添加point的功能,思路及代码如下,感兴趣的朋友可以参考下 index_map.jsp中的代码: 复制代码 代码如下...

本文为大家介绍下使用jsp连接MySQL操作GIS地图数据并实现添加point的功能,思路及代码如下,感兴趣的朋友可以参考下

index_map.jsp中的代码:

复制代码 代码如下:

<%@ page language="java" pageEncoding="utf-8"%>

<%@ page contentType="text/html;charset=utf-8"%>

<%

request.setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=utf-8");

%>

ID :

名称 :

电压等级 :

经度 :

纬度 :

insert_map.jsp的代码:

复制代码 代码如下:

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>

<%@ page contentType="text/html;charset=utf-8"%>

<%

request.setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=utf-8");

%>

<%

String id=request.getParameter("id"); //从表单获得

String name=request.getParameter("name"); //从表单获得

String voltage_level=request.getParameter("voltage_level"); //从表单获得

String lon=request.getParameter("lon"); //从表单获得

String lat=request.getParameter("lat"); //从表单获得

java.util.Date date=new java.util.Date();

String datetime=new Timestamp(date.getTime()).toString();

try

{

/** 连接数据库参数 **/

String driverName = "com.mysql.jdbc.Driver"; //驱动名称

String DBUser = "root"; //mysql用户名

String DBPasswd = "123456"; //mysql密码

String DBName = "map_db"; //数据库名

String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd;

Class.forName(driverName).newInstance();

Connection conn = DriverManager.getConnection(connUrl);

Statement stmt = conn.createStatement();

stmt.executeQuery("SET NAMES UTF8");

String insert_sql = "INSERT INTO biandianzhan_point_tb VALUES('" + id + "','" + name + "','" + voltage_level + "',GeometryFromText('POINT (" + lon + " " + lat + ")') )";

String query_sql = "select * from biandianzhan_point_tb";

try {

stmt.execute(insert_sql);

}catch(Exception e) {

e.printStackTrace();

}

try {

ResultSet rs = stmt.executeQuery(query_sql);

while(rs.next()) {

%>

ID:<%=rs.getString("id")%>

名称:<%=rs.getString("name")%>

电压等级:<%=rs.getString("voltage_level")%>

经纬度:<%=rs.getString("the_geom")%>

<%

}

}catch(Exception e) {

e.printStackTrace();

}

//rs.close();

stmt.close();

conn.close();

}catch (Exception e) {

e.printStackTrace();

}

%>

访问index_map.jsp:

提交前数据库的值:

输入测试值并提交,得到如下页面:

数据库的变化如下:

可以看出,在上面的提交后的页面上经纬度是乱码的,原因是the_geom的数据类型是POINT类型,是几何数据类geometry类中的一个子类,有特定的格式,可能这种特定的格式没能被浏览器识别。我正在考虑的解决方案是将the_geom数据进行剥离,得到两个数值及经纬度。不过可能没这个必要,因为没必要显示这两个值。

总的来说,大功告成了一半吧,呵呵,今天收获很大啊!很开心!

赞助本站

人工智能实验室

相关热词: 开发 编程 android

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港