网页mysql数据库调用_Servlet读取MySQL数据库并在前端调用

需要实现的功能为在前端点击Cesium下的3dtilse格式的文件并单体化,获取模型的ID,通过ajax将ID传送给servlet,然后servlet进行数据库查询,并将数据传给前端。

1.对于MySQL数据库的安装与配置不再赘述,记住设置的名称和密码就好,本文使用Navicat for MySQL连接MySQL数据库进行可视化操作,设置好连接名并输入密码,点击连接测试,显示连接成功点击确定进入操作界面。

14cca3966eaccc5b36fedfbc697e835c.png

新建连接

2.首先新建数据库名称为test,新建数据表或者右键表->导入向导,直接导入exce、CSV等格式的文件。

a0a7e4e828139dc2c7e67487c16c7348.png

导入向导

3.安装JDK,并配置环境变量,不再赘述。

4.下载Tomcat与安装配置,不再赘述。

5.下载eclipse并运行,新建Dynamic Web Project。

33bd8c1559336b35aab116f8f215c69f.png

新建Dynamic Web Project

da6047585ccf4812807b50eccd156397.png

勾选生成web.xml

6.右击项目,Build Path->Configer Build Path,点击Libraries栏,Add External Jars将servlet-api.jar导入

Web App Libraries下,也就是项目下WebContent文件夹下的WEB-INF文件夹的lib文件夹里,需要导入如下的jar包。链接https://download.csdn.net/download/weixin_43816509/12088920

cccc620fb0b103d91a67425dcbefbb24.png

jar包

7.右击Java Resources下的src,新建Package,然后右击package,新建servlet,配置默认就好。

8.进行代码部分的书写,首先是前端的代码部分书写,在Cesium框架下ajax请求并接收servlet返回的数据。

$.ajax({

dataType:"json",    //数据类型为json格式

contentType: "application/x-www-form-urlencoded;charset=UTF-8",

async:false,

type:"get",

data:{"ID":ID1},

url:"http://localhost:8080/practice/date",

statusCode: {

404: function() {

alert('提交地址url未发现。 ');

}

},

success:function(data){

var MC1=data[0].MC;}

9.后端获取到ID并进行数据库的连接与查询,并转换成json格式的数据传递到前端。

public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {

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

response.setHeader("Access-Control-Allow-Origin", "*");

String ID2=(String)(request.getParameter("ID"));

// System.out.println(ID2);

Connection ct = null;

Statement  sm = null;

ResultSet rs = null;

try{

Class.forName("com.mysql.cj.jdbc.Driver");    //连接mysql数据库

ct = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&useSSL=false","root","admin");

sm = ct.createStatement();

rs = sm.executeQuery("select* from test where ID="+ID2);

JSONArray jsonData = JSONArray.fromObject(convertList(rs));      //先转成List格式,再转成json格式

//System.out.println(jsonData.toString());

PrintWriter out = response.getWriter();    //json数据传递到前端

out.print(jsonData);

ct.close();

}

catch(Exception ex)

{

//error

}

}

private static List convertList(ResultSet rs) throws SQLException {

List list = new ArrayList();

ResultSetMetaData md = rs.getMetaData();

int columnCount = md.getColumnCount();

while (rs.next()) {

LinkedHashMap rowData=new LinkedHashMap();

for (int i = 1; i <= columnCount; i++) {

rowData.put(md.getColumnName(i), rs.getObject(i));

}

list.add(rowData);

}

return list;

}

10.前端获取数据进行可视化。

1a38beb49e3c6bd5c2faae868f613ee9.png

前端可视化效果


版权声明:本文为weixin_35728049原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。