JAVA里面读取PostgreSQL数据库最近80条温度检测记录,并用Highcharts展示在网站上

news/2024/5/21 1:16:12/文章来源:https://blog.csdn.net/qxd100/article/details/54314809

效果如下:


花了2天时间处理了服务器端的GET处理部分,和前端HTML部分。


难点(1):series[0]["data"][jjj]=parseFloat(arr_temp[jjj]);  首先series[0]的[0]是不能省掉的,因为采用的这个是多曲线展示,要展示的是第一条曲线。其次,这个是浮点型,直接把整型赋值给它是不行的。


难点(2):sql = "select * from ut_ut_detect_value where pointdetect_assit_infor<>'Randon Value Added' order by recordsn desc limit 80"; 读取PostgreSQL数据库里面最新的80条温度记录,而且不能包含AWS的EC2给该表添加的随机数的部分。


难点(3):数据准备好后再调用hightcharts显示,其实很简单,把数据显示部分打包成一个函数。在准备数据的函数里面再数据准备好后后再调用这个函数。不需要什么延时的处理。如下:


    						$.get("http://pptexpert.cn/ServeletQ/TestSV",function(data,status){str1 = data;count = 1;test_display();	//						do { curDate = new Date(); }//						while(curDate-date < 200);//					alert("Data is ready! Click the (2) to display" );});



要点(4):使用网站上的PS在线服务,用来确定图片上某点的颜色值。http://www.uupoop.com/ps/,方法参见:点这儿!


要点(5):UltraEdit自身带有HTML页面的按钮、前景颜色、背景颜色的快捷设置,很方便!



源代码:


服务器端:


package com.qxd;import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;/*** Servlet implementation class TestSV*/
@WebServlet("/TestSV")
public class TestSV extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public TestSV() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubSystem.out.println("Entry of the test GET part =============" );SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String ssString = df.format(new Date());PrintWriter out = response.getWriter();out.print("Reply from server Servel!");out.print("Reply on 20170109!");System.out.println(ssString);out.print(ssString);System.out.println("Exit from the test GET part ************ " );System.out.println("-------- PostgreSQL "+ "JDBC Connection Testing ------------");try {Class.forName("org.postgresql.Driver");} catch (ClassNotFoundException e) {System.out.println("Where is your PostgreSQL JDBC Driver? "+ "Include in your library path!");e.printStackTrace();return;}System.out.println("PostgreSQL JDBC Driver Registered!");Connection connection = null;try {connection = DriverManager.getConnection("jdbc:postgresql://180.76.147.172:5432/lportal", "username","password");} catch (SQLException e) {System.out.println("Connection Failed! Check output console");e.printStackTrace();return;}if (connection != null) {System.out.println("You made it, take control your database now!");} else {System.out.println("Failed to make connection!");}String sql = "select * from ut_ut_detect_value where pointdetect_assit_infor<>'Randon Value Added' order by recordsn desc limit 80"; Statement stmt = null;try {stmt = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}  ResultSet rs = null;try {rs = stmt.executeQuery(sql);} catch (SQLException e2) {// TODO Auto-generated catch blocke2.printStackTrace();}  try {while (rs.next()) {System.out.print(rs.getString(1));out.print(rs.getString(1));System.out.print("  ");out.print("  ");System.out.println(rs.getString(10));out.print(rs.getString(10));System.out.print("  ");out.print("  ");System.out.println(rs.getString(11));out.print(rs.getString(11));System.out.print("  ");out.print("  ");System.out.println(rs.getString(12));out.print(rs.getString(12));out.print("  ");}} catch (SQLException e2) {// TODO Auto-generated catch blocke2.printStackTrace();}try {rs.close();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}  try {stmt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}  try {connection.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}  out.close();}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}


HTML端:

<!DOCTYPE html>
<html>
<head>
<title>David Room Temperature</title>
<script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<div id="container" style="width: 1000px; height: 800px; margin: 0 auto"></div>
<script>
$(document).ready(function(){	var str1 ="blank string";var str2 ="blank string";var str3 = "";var str4 = "";var arr  = new Array();var arr_temp = new Array();var arr_date = new Array();var value = 10.0;var resistance =10.0;var B = 3975.0;var temperature=20.0;var date = new Date();var curDate = null;$.get("http://pptexpert.cn/ServeletQ/TestSV",function(data,status){str1 = data;do { curDate = new Date(); }while(curDate-date < 20);
//						alert("Data is ready! Click the (2) to display" );});$("button2").click(function(){    str2 = str1;str3 = str2.substring(62);arr  = str3.split("  "); for (var i=79;i>=0;i--){arr_temp[i] = arr[4*(79-i)+1] ;arr_date[i] = arr[4*(79-i)+2] ;}			var title = {text: 'David Room Temperature (\xB0C)'};var subtitle = {text: 'Source: pptexpert.cn'};var xAxis = {categories: ['“ª‘¬', '∂˛‘¬', '»˝‘¬', 'Àƒ‘¬', 'ŒÂ‘¬', '¡˘‘¬','∆fl‘¬', '∞À‘¬', 'æ≈‘¬', ' Æ‘¬', ' Æ“ª‘¬', ' Æ∂˛‘¬','“ª‘¬', '∂˛‘¬', '»˝‘¬', 'Àƒ‘¬', 'ŒÂ‘¬', '¡˘‘¬','∆fl‘¬', '∞À‘¬', 'æ≈‘¬', ' Æ‘¬', ' Æ“ª‘¬', ' Æ∂˛‘¬']};for (var jj=0;jj<=79;jj++){xAxis.categories[jj]=arr_date[jj].substring(0,16);}	;var yAxis = {min:0,title: {text: 'Temperature in David room (\xB0C)'},plotLines: [{value: 0,width: 1,color: '#808080'}]};var tooltip = {valueSuffix: '\xB0C'}var legend = {layout: 'vertical',align: 'right',verticalAlign: 'middle',borderWidth: 0};var ccc1 = arr_temp[0];var series =  [{name: 'David Home',data: [7, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,26.5, 23.3, 18.3, 13.9, 9.6,7, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,26.5, 23.3, 18.3, 13.9, 9.6]},];series[0]["data"][0]=100;		var fff = parseFloat(arr_temp[0]); 	 		for (var jjj=0;jjj<=79;jjj++){value = parseFloat(arr_temp[jjj]);//                        			alert("value" + value );resistance = (1023-value)*10000/value;
//                        			alert("resistance" + resistance );temperature = 1.0/(Math.log(resistance/10000.0)/B+1.0/298.15)-273.15;  temperature = Math.round(temperature*100)/100;//                        			alert("temperature" + temperature  );series[0]["data"][jjj]=temperature;}	;
//                    series[0]["data"][0]=0.0;	var json = {};   json.title = title;     json.subtitle = subtitle;json.xAxis = xAxis;json.yAxis = yAxis;json.tooltip = tooltip;json.legend = legend;json.series = series;$('#container').highcharts(json);});});
</script>
</head>
<body>
<div style="text-align: center"><div style="margin:3 auto;width:193px;align="center""> 
</div><div style="background-color: #7bb4eb"><b><div style="margin:3 auto;width:200px;"></div><button2 type="button" align="center">Click Here!</button2></b></div>
</div> 
</body>
</html>





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_897578.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署在线网站

1、注册账号 https://www.ngrok.cc/ 2、开通一个隧道账号 记录一下隧道ID 33adb03ff15e3705 3、下载客户端&#xff0c;最下面 https://www.ngrok.cc/ windows64下载 http://pan.baidu.com/s/1o8HQHxo 4、解压双击&#xff0c;输入33adb03ff15e3705按回车即可 注意&#xff1…

找xpath好用的工具(比较少用,针对只能在IE上打开的网站)

有一些网站只能在IE浏览器里打开&#xff0c;不像firefox那样有好多好用的插件来找元素的xpath,css path等。 当然现在IE也可以&#xff0c;F12出现像firebug那样的窗口&#xff0c;来查看元素。 这里呢在介绍一个工具&#xff0c;Fire-IEBrowser1.4.zip&#xff0c;我已经上…

Echarts一些社区网站,亲测可用,新更新了Antv(阿里旗下)

1.makeapie echarts图表可视化案例makeapie echarts图表可视化案例, 分享你的可视化作品https://www.makeapie.cn/echarts 2.Examples - Apache EChartsECharts, a powerful, interactive charting and visualization library for browserhttps://echarts.apache.org/examples…

使用css和jquery实现一个网站首页轮播图的功能

效果展示说明 页面代码&#xff0c;在一个div框中用img标签放置图片和小圆点 <div id"box01"><img src"img/fengxueshanshenmiao.jpg"/><img src"img/sandazhujiazhuang.jpg" /><img src"img/shuihuAll.jpg" /&…

动态网站的搭建-学习笔记-阿里云服务器测试

1.静态网站&动态网站 Wordpress 2.静态&#xff1a;公司业务介绍等 减轻服务器负担&#xff08;无额外计算&#xff09; 打开快、搜索引擎收录全 动态&#xff1a;交互式网站&#xff0c;电商的库存 降低维护的工作量 用户注册、在线调查、订单管理等 3.iis是在windows下常…

网站的目录分类与TAG标签有什么区别?如何使用?

博客文章或电商网站商品一定要分类&#xff1f; 分类是不是越多越好&#xff1f; 分类与标签有什么不同&#xff1f; 做好标签与分类是不是对于网站在搜索引擎中有帮助&#xff1f; 相信许多在经营博客或是电商网站的人员都会遇到这样的问题。如果你上网百度相关问题&#…

网站转换率如何提高?知道这四点足矣!

网站转换率如何提高&#xff1f;知道这四点足矣&#xff01; 原文出处&#xff1a;http://www.tunan321.com 什么是转换率 转换率顾名思义首先考虑转换&#xff0c;而转换意味着&#xff0c;在不同情况下进行了切换&#xff0c;转换率就是指每个人在不同情况下切换成功的比率…

建设网站到底需不需要用WordPress?

WordPress 最知名的大概就是所谓的 5 分钟安装 (5-Minute install)&#xff0c;让你可以快速地安装 WordPress 并开始撰写内容和设计页面。这几年随著社群的蓬勃发展&#xff0c;各种线上或线下教学以及教学推广 (联盟行销&#xff1f;)&#xff0c;WordPress 的能见度提高很多…

创建自己的博客网站

一直想拥有自己的博客网站&#xff0c;在云上搭建&#xff0c;免服务的。 https://developer.aliyun.com/adc/series/activity/wulin?accounttraceid5944bc16d86f49fca9559abbd2b5f1bbfkjd 我在上面使用WordPress搭建了一个博客&#xff0c;可以自定义主题

ASP.NET MVC3细嚼慢咽---(1)网站创建与发布

这一节我们演示下怎样使用VS2010创建与发布MVC3建立的网站。使用VS2010创建MVC3.0网站&#xff0c;需要下载MVC3.0的安装包&#xff0c;这个大家可以去网络上下载。 1.项目创建 打开VS2010&#xff0c;选择 文件--新建项目---ASP.NET MVC3 web应用程序&#xff0c;如下图 接着选…

模式识别和机器学习实战-K近邻算法(KNN)- Python实现 - 约会网站配对效果判断和手写数字识别

文章目录 前言一、 k-近邻算法&#xff08;KNN&#xff09;1.算法介绍2.举个例子——电影分类3.步骤描述4.来了——代码实现 二、实战之约会网站配对效果判断1.导入数据2.分析数据3.数据归一化4. 测试算法→使用错误率来检测性能5. 构建完整的系统6.总结分析 三、实战之手写数字…

力扣个人主页的**draw函数**信息展示代码自动生成网站

分享内容&#xff1a; 今天给大家分享一个力扣个人主页的draw函数的自动生成代码网站&#xff0c;效果演示 使用方法&#xff1a; 在箭头处输入英文字母&#xff0c;点击提交查询即可。

PHP使用Apache中的ab测试网站

打开Apache服务器的安装路径(我用的是 WampServer)&#xff0c;在bin目录中有一个ab.exe的可执行程序&#xff0c;它就是要介绍的压力测试工具。 在Windows系统的命令行下&#xff0c;进入ab.exe程序所在目录&#xff0c;执行ab.exe程序。注意直接双击无法正确运行。 d:(回车/进…

PHP漏洞全解(六)-跨网站请求伪造

本文主要介绍针对PHP网站的跨网站请求伪造。在CSRF所有攻击方式中包含攻击者伪造一个看起来是其他用户发起的 HTTP 请求&#xff0c;事实上&#xff0c;跟踪一个用户发送的 HTTP 请求才是攻击者的目的。 CSRF(Cross Site Request Forgeries)&#xff0c;意为跨网站请求伪造&a…

Java、JSP球迷用品销售网站

技术&#xff1a;Java、JSP等 摘要&#xff1a;1.1 目的和意义本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的购买自己喜欢的球迷用品&#xff0c;改变传统商业交易&#xff0c;在互联网上进行交易&#xff0c;实现网上购买球迷用品。从而满足客户的要求&…

Java、JSP美食网站

技术&#xff1a;Java、JSP等 摘要&#xff1a;本论文阐述了整个美食网的功能及实现。实现了从菜品管理&#xff0c;名店加盟&#xff0c;到后台管理实现&#xff0c;留言处理&#xff0c;再到系统管理。基本上实现了美食网的功能流程。本系统界面简单直观&#xff0c;易于操作…

HTML5期末大作业:网站——餐饮网页设计(HTML+CSS+JS)

HTML5期末大作业&#xff1a;网站——餐饮网页设计(HTMLCSSJS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大&#xff1f;HTML网页作业无从下手&#xff1f;网页要求的总数量太多&#xff1f;没有合适的模板&#xff1f;等等一系列问题。你想要解决的问题&…

20步打造完美网站布局设计

Claudio Guglieri 在纽约广告公司 B-Reel 任职总监&#xff0c;他撰写了本网站设计培训指南&#xff0c;旨在帮助您了解设计网站布局的全过程。开始讲述设计网站布局的主题之前&#xff0c;我想先分享自己多年从事设计工作中看到的一些常见错误&#xff0c;尤其是“网站设计培训…

19个相见恨晚的黑客技在线学习网站,你离黑客又近了一步

进攻即是最好的防御&#xff0c;这句话同样适用于信息安全的世界。这里罗列了19个合法的来练习黑客技术的网站&#xff0c;不管你是一名开发人员、安全工程师、代码审计师、渗透测试人员&#xff0c;通过不断的练习才能让你成为一个优秀安全研究人员。 好不好还是要自己去体验以…

web前端开发技术实验与实践(第三版)储久良编著 项目12 设计简易网站导航

web前端开发技术实验与实践&#xff08;第三版&#xff09;储久良编著 项目12 设计简易网站导航 实训三 项目12 设计简易网站导航 一、页面文字素材&#xff1a; 序号 网站名称 URL 1 百 度 http://www.baidu.com/ 2 新 浪 http://www.sina.com.cn/ 3 腾 讯 ht…