源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jsp连接MySQL操作GIS地图数据实现添加point的功能代码

  • 时间:2021-01-28 18:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jsp连接MySQL操作GIS地图数据实现添加point的功能代码
[img]http://files.jb51.net/file_images/article/201308/201308011648399.gif?20137116491[/img] index_map.jsp中的代码:
[u]复制代码[/u] 代码如下:
<%@ 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");  %>  <html> <head> </head> <body> <form action="insert_map.jsp" method="post"> ID :<input type = "text" name="id" value="0"/> 名称 :<input type = "text" name="name" value="aaa"/> </br> 电压等级 :<input type = "text" name="voltage_level" value="110kv"/> 经度 :<input type = "text" name="lon" value="121."/> 纬度 :<input type = "text" name="lat" value="28."/> </br> <input type = "submit" value="提交"/> </form> </body> </html>
insert_map.jsp的代码:
[u]复制代码[/u] 代码如下:
<%@ 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");  %>  <HTML> <HEAD> <TITLE>add message into table </TITLE> </HEAD> <BODY> <% 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")%> </br> 名称:<%=rs.getString("name")%> </br> 电压等级:<%=rs.getString("voltage_level")%> </br> 经纬度:<%=rs.getString("the_geom")%> </br> </br> <% } }catch(Exception e) { e.printStackTrace(); } //rs.close(); stmt.close(); conn.close(); }catch (Exception e) { e.printStackTrace(); } %> </body> </html>
访问index_map.jsp: [img]http://files.jb51.net/file_images/article/201308/2013080116493210.gif?201371164945[/img]   提交前数据库的值: [img]http://files.jb51.net/file_images/article/201308/2013080116501511.gif?201371165027[/img]   输入测试值并提交,得到如下页面: [img]http://files.jb51.net/file_images/article/201308/201381165110967.jpg?201371165143[/img]   数据库的变化如下: [img]http://files.jb51.net/file_images/article/201308/2013080116520412.gif?201371165222[/img]   可以看出,在上面的提交后的页面上经纬度是乱码的,原因是the_geom的数据类型是POINT类型,是几何数据类geometry类中的一个子类,有特定的格式,可能这种特定的格式没能被浏览器识别。我正在考虑的解决方案是将the_geom数据进行剥离,得到两个数值及经纬度。不过可能没这个必要,因为没必要显示这两个值。 总的来说,大功告成了一半吧,呵呵,今天收获很大啊!很开心!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部