<%@ page import="java.text.DateFormat,java.text.ParseException,java.text.SimpleDateFormat,tools.*"%>
<%@page import="java.sql.Connection,java.sql.DriverManager,java.sql.PreparedStatement,java.sql.ResultSet,java.sql.SQLException,java.util.ArrayList,java.util.Date"%>
<%@ page import="java.util.Calendar"%>
<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%
request.setCharacterEncoding("gb2312");
String bt = request.getParameter("bt");
String et = request.getParameter("et");
long ltoday = System.currentTimeMillis();
long lyesday = ltoday-24*60*60*1000l;
long l7day = ltoday-7*24*60*60*1000l;
java.sql.Timestamp todaytimes = new java.sql.Timestamp(ltoday);
java.sql.Timestamp yesdaytimes = new java.sql.Timestamp(lyesday);
java.sql.Timestamp day7times = new java.sql.Timestamp(l7day);
String day7 = day7times.toString().substring(0,10).replace("-","");
//昨天日期
String yesteday = yesdaytimes.toString().substring(0,10).replace("-","");
//今天日期
//String today = todaytimes.toString().substring(0,10).replace("-","");
if(bt==null) bt=day7;
if(et==null) et=yesteday;
//画图
String sql_chart = "select date_format(logday,'%Y-%m-%d') as logday,sum(u_1) as u_1,sum(u_2) as u_2,pt,p_type,pubid from T_CLIENT_STAT_DAY where (p_type=6 or p_type=1 or p_type=8) and date_format(logday,'%Y%m%d')='"+todaytimes.toString().substring(0,10)+"' group by date_format(logday,'%Y%m%d'),p_type order by p_type,date_format(logday,'%Y%m%d')";
// 时间轴
StringBuffer dlist = new StringBuffer();
// 时间
if(bt!=null && et!=null)
{
// 画图
sql_chart = "select date_format(logday,'%Y-%m-%d') as logday,sum(u_1) as u_1,sum(u_2) as u_2,pt,p_type,pubid from T_CLIENT_STAT_DAY where (p_type=6 or p_type=1 or p_type=8) and date_format(logday,'%Y%m%d')<='"+et+"' and date_format(logday,'%Y%m%d')>='"+bt+"' group by date_format(logday,'%Y%m%d'),p_type order by p_type,date_format(logday,'%Y%m%d') ";
}
Connection conn_tv = null;
PreparedStatement stmt_chart = null;
ResultSet rs_chart = null;
try {
conn_tv = getConnection();
// 画图
stmt_chart = conn_tv.prepareStatement(sql_chart);
rs_chart = stmt_chart.executeQuery();
ArrayList<String> l_ydt_u_1 = new ArrayList<String>();
StringBuffer bf_ydt_u_1 = new StringBuffer();
ArrayList<String> timelist = new ArrayList<String>();
while (rs_chart.next())
{
if(!timelist.contains(rs_chart.getString("logday")))
{
timelist.add(rs_chart.getString("logday"));
}
switch(Integer.parseInt(rs_chart.getString("p_type")))
{
case 6:
l_ydt_u_1.add(rs_chart.getString("u_1"));
l_ydt_u_2.add(rs_chart.getString("u_2"));
break;
case 1:
l_zk_u_1.add(rs_chart.getString("u_1"));
l_zk_u_2.add(rs_chart.getString("u_2"));
break;
case 8:
l_news_u_1.add(rs_chart.getString("u_1"));
l_mews_u_2.add(rs_chart.getString("u_2"));
break;
}
}
dlist.append("[");
//out.print(timelist.size());
for (int i = 0; i < timelist.size(); i++)
{
dlist.append(timelist.get(i).toString().substring(8,10));
if (i < (timelist.size()-1))
{
dlist.append(",");
}
}
dlist.append("]");
//out.print(dlist+"<br/>");
bf_ydt_u_1.append("[");
for (int i = 0; i < l_ydt_u_1.size(); i++)
{
bf_ydt_u_1.append(l_ydt_u_1.get(i));
if (i < (l_ydt_u_1.size()-1))
{
bf_ydt_u_1.append(",");
}
}
bf_ydt_u_1.append("]");
%>
</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
<!-- 1. Add these JavaScript inclusions in the head of your page
<script type="text/javascript" src="js/modules/jquery.min.js"></script>
-->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/highcharts.js"></script>
<script type="text/javascript" src="js/modules/exporting.js"></script>
<script type="text/javascript">
var chart;
var date_d = <%=dlist%>;
var v_name_new = '用户数';
var v_name_act = '活跃数';
var u_1 = <%=bf_ydt_u_1%>;
function changechart(i){
switch(i){
case 1:
v_name_new = '111';
u_1 = <%=bf_ydt_u_1%>;
u_2 = <%=bf_ydt_u_2%>;
chart = new Highcharts.Chart({chart: {renderTo: 'container_new',defaultSeriesType: 'line'},
title: {text: v_name_new},
xAxis: {categories: date_d,title: {text: "日期/天"}},
yAxis: {title: {text: ''}},
tooltip: {formatter: function() {return '<b>'+ this.series.name +'</b><br/>'+this.x +'号: '+ this.y ;}},
legend: {layout: 'vertical',align: 'right',verticalAlign: 'top',x: -10,y: 100,borderWidth: 0},
series: [{name: '新增用户数',data: u_1}]});
break;
case 2:
v_name_new = '222';
u_1 = <%=bf_zk_u_1%>;
u_2 = <%=bf_zk_u_2%>;
chart = new Highcharts.Chart({chart: {renderTo: 'container_new',defaultSeriesType: 'line'},
title: {text: v_name_new},
xAxis: {categories: date_d,title: {text: "日期/天"}},
yAxis: {title: {text: ''}},
tooltip: {formatter: function() {return '<b>'+ this.series.name +'</b><br/>'+this.x +'号: '+ this.y ;}},
legend: {layout: 'vertical',align: 'right',verticalAlign: 'top',x: -10,y: 100,borderWidth: 0},
series: [{name: '新增用户数',data: u_1}]});
break;
case 3:
v_name_new = '333';
u_1 = <%=bf_news_u_1%>;
u_2 = <%=bf_news_u_2%>;
chart = new Highcharts.Chart({chart: {renderTo: 'container_new',defaultSeriesType: 'line'},
title: {text: v_name_new},
xAxis: {categories: date_d,title: {text: "日期/天"}},
yAxis: {title: {text: ''}},
tooltip: {formatter: function() {return '<b>'+ this.series.name +'</b><br/>'+this.x +'号: '+ this.y ;}},
legend: {layout: 'vertical',align: 'right',verticalAlign: 'top',x: -10,y: 100,borderWidth: 0},
series: [{name: '新增用户数',data: u_1}]});
break;
}
}
</script>
<script type="text/javascript" src="js/highslide-full.min.js"></script>
<script type="text/javascript" src="js/highslide.config.js" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="css/highslide.css" />
<script type="text/javascript">
var example = 'line-ajax',
theme = 'grid';
</script>
</head>
<body>
<!-- 框架:最外层DIV start-->
<div style="width:100%;">
<!-- 第1层 查询1 DIV start -->
<div>
<table width="100%" border="0" class="xian" >
<form id="fm_ver" name="fm_ver" method="get" action="chart.jsp" onSubmit="return check();">
<tr>
<td height="30" valign="middle" bgcolor="#367DC9" class="txt3"> <font face="微软雅黑">数据图形</font>:<span class="txt1">
<span class="txt1"> 从 <input size="8" type="text" name="bt" style="border:1px solid #999;" onclick="fPopCalendar(event,this,this)" onfocus="this.select()" readonly="readonly" class="text ui-widget-content ui-corner-all" value="<%=bt==null?yesteday:bt%>"/>
到 <input size="8" type="text" name="et" style="border:1px solid #999;" onclick="fPopCalendar(event,this,this)" onfocus="this.select()" readonly="readonly" class="text ui-widget-content ui-corner-all" value="<%=et==null?yesteday:et%>"/>
<input type="submit" value="查 询" /> <a href="/client/chart.jsp"><font style="font-size:15px;" face="微软雅黑"><b/>复位</b></font></a>
</span></td>
</tr>
</tr>
</form>
</table>
<div>
<!-- 第1层 查询1 DIV end -->
<!-- 空行 -->
<table><tr height="2"><td></td></tr></table>
<!-- 第3层 DIV start -->
<div>
<!-- 画图 -->
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" width="60%"><img src="images/chart2.gif" width="117" height="19" /></td>
<td align="right" style="font-size:12px;"><font color="#367DC9">按平台:</font>
<img src="images/jiao2.gif" width="6" height="5" /><a href="javascript:changechart(6);" >1111</a>
<img src="images/jiao2.gif" width="6" height="5" /><a href="javascript:changechart(7);" >2222</a>
<img src="images/jiao2.gif" width="6" height="5" /><a href="javascript:changechart(8);" >3333</a>
</td>
<td align="right" style="font-size:12px;"><font color="#367DC9">按用户数:</font>
<img src="images/jiao2.gif" width="6" height="5" /><a href="javascript:changechart(5);" >活跃用户数</a>
</td>
</tr>
</table>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<!-- 3. Add the container_act -->
<div id="container_act" style="width: 100%; height: 250px; margin: 0 auto"></div>
</td>
</tr>
</table>
<div>
<!-- 第3层 DIV end -->
</div>
<%
} catch (Exception e) {
e.printStackTrace();
}finally{
// 画图
if (rs_chart != null) {
try {
rs_chart.close();
rs_chart = null;
} catch (SQLException e) {
rs_chart = null;
}
}
if (stmt_chart != null) {
try {
stmt_chart.close();
stmt_chart = null;
} catch (SQLException e) {
e.printStackTrace();
stmt_chart = null;
}
}
if (conn_tv != null) {
try {
conn_tv.close();
conn_tv = null;
} catch (SQLException e) {
e.printStackTrace();
conn_tv = null;
}
}
}
%>
</body>
</html>
分享到:
相关推荐
文档中包含了用java画图的程序代码,在jsp环境中进行过测试没有问题
jsp写的画图小程序,角斗士大奖赛饿爱的 爱的饿的
可以模仿此例子来画自己喜欢的图像,也可以画自己的扑克牌。
ML文件解析 系统在工作时,需要配置文件信息(XML),但是,一般情况下,系统会在初始化的时候,一次将配置文件中的信息加载到内存中,用系统定义的配置对象来封装。所谓配置对象就是专门的用于封装配置信息的对象,...
学习实例,图画和文字并用,想了解的快下下来看看吧
jsp检测内存,并绘制曲线图,画图程序,基于JSP环境,生成直方图的程序代码,一个检测JSP服务器内存的Ajax程序,动态显示服务器上的数据,并且一图像的方式直观显示数据。
用JFreeChart设计各种基于java的图形界面,如曲线图,柱状图,折线图,甘特图等,并且在JSP页面显示
习惯了使用Office Web Component(OWC),Report Viewer控件,以及GDI+进行绘制图标,下面介绍下可以生成图表更生动的FusionCharts Free画图,它可以更简洁地与用户进行交互,更重要的是,这基本上是一个完全免费的...
js控制图片的翻转 放大 缩小 还原 调用window画图js控制图片的翻转 放大 缩小 还原 调用window画图
本设计通过综合使用JAVA网络编程技术,JAVA的Applet技术,JSP技术, JavaBean,JavascriPt以及数据库访问技术来完整构建一个网络聊天室系统项 目,从而进一步研究web项目开发的系统分析过程,通过与相关的编程技术相...
超市管理系统(JAVA,SSM,JSP,MYSQL)(毕业论文12360字...(1)系统架构设计:主要写系统所使用的架构,画图说明。 (2)系统功能模块设计:主要写出系统主要的功能模块。 (3)系统工作流程设计:主要写系统工作运行流程
NULL 博文链接:https://wrong1111.iteye.com/blog/475350
java 画图jfreechart.JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar ...
这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 可以直接下载解压后,import到myeclipse里面,运行: ...
利用易方数码笔 在web中绘图, 用于远程主观题考试,判卷。
因工作需求,从网上下载了MyGraph的源代码,与本地一个例子做了一个demo,目前已实现UML图形编辑、本地打开、保存功能(google浏览器已测) ...http://localhost:8080/Student/stuMngr/mygraph.jsp 即可使用
jsp检测内存,并绘制曲线图,画图程序,基于JSP环境,生成直方图的程序代码
多比图形控件是一款基于Web的矢量图形控件, 类似于网页上的Visio控件,是目前国内外最佳的基于web的工作...工作流设计器, jsp工作流设计器, asp.net工作流设计器,工作流设计器, jsp工作流设计器, asp.net工作流设计器
在web项目中引入bpmnjs流程画图功能,实现节点点击事件,用户可以自行画流程图,直接放到tomcat下,就可以访问了
此文档主要描述axure软件的使用说明,包括画图、流程图等相关JSP页面设计常用的一些内容。