`
lauphai
  • 浏览: 23945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

画图jsp

阅读更多

<%@ 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">&nbsp;<font face="微软雅黑">数据图形</font>:<span class="txt1">
			<span class="txt1">&nbsp;从&nbsp;<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%>"/>
				到&nbsp;<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%>"/>
				&nbsp;<input type="submit" value="查 询" />&nbsp;<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>&nbsp;&nbsp;
			<img src="images/jiao2.gif" width="6" height="5" /><a href="javascript:changechart(7);" >2222</a>&nbsp;&nbsp;
			<img src="images/jiao2.gif" width="6" height="5" /><a href="javascript:changechart(8);" >3333</a>&nbsp;&nbsp;
			</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>
分享到:
评论

相关推荐

    JSP画图程序简介

    JSP 画图程序简介 本文档提供了一个使用 Java 语言在 JSP 环境中进行图形绘制的示例程序。该程序使用了 Java.awt 和 javax.swing 等包来创建 BufferedImage 对象,并使用 Graphics 对象对图形进行绘制。 首先,...

    在jsp中用awt类来画图

    在JavaServer Pages (JSP) 中使用AWT(Abstract Window Toolkit)类来画图是一种将图形界面元素嵌入到Web应用程序中的技术。AWT是Java早期的图形用户界面(GUI)库,虽然在Swing和JavaFX等现代库出现后使用较少,但...

    jsp写的画图小程序,

    jsp写的画图小程序,角斗士大奖赛饿爱的 爱的饿的

    JSP的两种设计模式 Model1和Model2

    JSP的两种设计模式,即Model1和Model2,是Web开发中常见的架构模式,主要用于分离展示层、控制层和业务逻辑层,提高代码的可维护性和可扩展性。 **JSP Model1模式**是最基础的JSP开发模式,主要特点是将业务逻辑、...

    一个非常实用的WEB画图控件

    在Web应用中,JAVA通常通过Servlet、JSP、Spring MVC等框架与前端交互,处理用户的请求和数据。而这个画图控件则是在这个基础上提供了一种图形用户界面(GUI)组件,使得开发者可以轻松地在网页上集成画图功能,例如...

    JFreeChart画图

    在JSP(JavaServer Pages)环境中,JFreeChart可以帮助开发者将数据以图形化的方式展示在网页上,提供更直观的数据解读体验。 1. **JFreeChart的基本使用**: - **创建图表**:JFreeChart提供了一系列工厂类,如`...

    jfreechart画图文档

    - **JSP**:在JSP页面中嵌入图表,通常通过在服务器端生成图像并链接到页面。 - **Web应用框架**:Spring MVC、Struts等框架中可以集成JFreeChart,方便地在Web应用中展示图表。 5. **学习资源**: - **官方文档...

    jsp统计图(xml解析数据)

    习惯了使用Office Web Component(OWC),Report Viewer控件,以及GDI+进行绘制图标,下面介绍下可以生成图表更生动的FusionCharts Free画图,它可以更简洁地与用户进行交互,更重要的是,这基本上是一个完全免费的...

    js控制图片的翻转 放大 缩小 还原 调用window画图

    js控制图片的翻转 放大 缩小 还原 调用window画图js控制图片的翻转 放大 缩小 还原 调用window画图

    java web画图jar包

    Java Web画图jar包主要指的是用于在Web应用中生成图形的库,如JFreeChart,这是一个非常流行的开源Java库,用于创建高质量的图表。本文将详细介绍JFreeChart库及其在Java Web开发中的应用。 JFreeChart是Java平台上...

    python画图-JavaWeb-ma开发

    【标题】"Python画图与JavaWeb开发"涵盖了两个主要的IT领域:Python的数据可视化和JavaWeb应用程序的构建。在现代软件开发中,这两个技术都有着广泛的应用。 首先,让我们聚焦于"Python画图"。Python作为一种强大的...

    svg动态画图

    - **直接内联方式**:直接在HTML或JSP中编写SVG元素。 JavaScript可以与SVG元素进行交互,通过`getElementById`或jQuery的`$(obj)`选择器获取SVG元素,然后利用`getAttribute`和`setAttribute`方法或jQuery的`.attr...

    基于JSP的数据库教学网站信息交流与发布系统的设计与开发.pdf

    本系统采用MyEclipse作为界面开发工具,用Dreamweaver 8.0作为画图工具,采用JSP技术和Sql2000数据库JDBC方式进行开发设计。MyEclipse是一个支持可视化编程的、面向对象的、采用事件驱动方式的结构化程序设计语言。 ...

    论文:JSP绘图聊天室系统设计与实现.nh

    本设计通过综合使用JAVA网络编程技术,JAVA的Applet技术,JSP技术, JavaBean,JavascriPt以及数据库访问技术来完整构建一个网络聊天室系统项 目,从而进一步研究web项目开发的系统分析过程,通过与相关的编程技术相...

    js 画图--简单的直线图

    我们将会分析标题“js 画图--简单的直线图”所涉及的核心知识点,并结合描述中的博文链接进行深入讲解。 首先,我们要知道在浏览器环境中,JavaScript不能直接操作像素级的画图,因为浏览器的安全机制不允许。但...

    超市进销存管理系统(SSM,MYSQL,VUE,JSP)

    超市管理系统(JAVA,SSM,JSP,MYSQL)(毕业论文12360字...(1)系统架构设计:主要写系统所使用的架构,画图说明。 (2)系统功能模块设计:主要写出系统主要的功能模块。 (3)系统工作流程设计:主要写系统工作运行流程

    java 画图jfreechart

    java 画图jfreechart.JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar ...

    JFreeChart画图 饼状图 单组柱状图 多组柱状图 堆积柱状图 折线图

    这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 可以直接下载解压后,import到myeclipse里面,运行: ...

    web 绘图插件

    在现代的在线教育和远程工作中,交互式的在线绘图工具起着至关重要的作用,尤其是在进行远程主观题考试和在线批改试卷时。"Web绘图插件"是一种专门设计用于此类场景的技术解决方案,它允许用户利用易方数码笔在网页...

Global site tag (gtag.js) - Google Analytics