数据库中含有宁波一些公园的详细信息,包括经纬度。要求将经纬度信息读取出来并调用Google Map的API服务在地图上标识出这些公园的位置。刚开始时想通过一个函数将一个buffer流写如到一个xml中并保存的,但JavaScript中调用时可能是事先预读入了,所以每次执行时都提示错误,只有当第二次这个xml真正存在时执行才会有用。为了这个问题纠结了很久结果还是不行,于是采用老师今天课堂上展示的成品中用的方法,果然奏效了。-_-||
运行效果图:

draw.jsp:
< %@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
< %@page import = "java.util.*"%>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Airport Locator</title>
</head>
<body>
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAATmoH83Ly9iQx1uFnEHAlDBTwM0brOpm-All5BF6PoaKBxRWWERS1Yg55rmr66zkZ8YxvBZy71GJpEw"
type="text/javascript"></script>
<style>
#map {
border: 1px solid #000000;
height: 600px;
width: 1000px;
}
</style>
<script type="text/javascript">
//< ![CDATA[
var map;
var markers = [];
var point = [];
var i = 0;
$(document).ready(function() {
if (GBrowserIsCompatible()) {
// Initialize the map.
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.setCenter(new GLatLng(29.873519444400,121.554127777800), 13);
map.addControl(new GMapTypeControl());
$.ajax({type:"GET",url:"writexml.jsp",dataType:"xml",
success:function(data,textStatus) {
$("marker",data).each(function() {
// Attributes for each marker.
var lat = parseFloat($(this).attr("lat"));
var lng = parseFloat($(this).attr("lng"));
point[i] = new GLatLng(lat,lng);
var html = $("html",this).text();
//alert("Hello");
// Create the marker.
var marker = new GMarker(point[i]);
i = i+1;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
map.addOverlay(marker);
});
var polyline = new GPolyline(point, "#FF0000", 10);
map.addOverlay(polyline);
},
error:function(XMLHTTPRequest,textStatus,errorThrow){
alert("There was an error retrieving the marker information.");
}});
}
});
$(document.body).unload(function() {
if (GBrowserIsCompatible()) {
GUnload();
}
});
//]]>
</script>
<div id="map"></div>
</body>
</html> |
阅读全文…
Tags:
jsp,
map,
xml
通过编写JSP代码在网页中将数据库中公园信息按照顺序进行分页显示,每页10条记录。
运行效果图:



JSP代码:
<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.util.*"%>
<%@ page language="java" import="java.sql.*"%>
<%@include file="inc1.jsp"%>
<getGardenList>
<%!
public static String returnToBr(String sStr) {
if (sStr == null || sStr.equals("")) {
return "";
}
return sStr.trim();
}
%>
<%
// ResultSet rs= null;
int pagecount=0;
int count=0;
int n;
String sql_query="";
String see="";
// Connection conn = null;
// Statement stmt = null;
// int li_temp = 0;
String pages = new String(request.getParameter("pages").getBytes("ISO8859-1"),"utf-8");
// if(findString == null)
// findString = "";
// System.out.println(findString);
try
{
//连接数据库
Class.forName(DBDriver);
Connection conn=DriverManager.getConnection(DBLocation,DBUser,DBPwd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
sql_query = "select * from yl_garden ";
ResultSet rs=stmt.executeQuery(sql_query);
// rs=stmt.executeQuery(sql_query);
%>
<table width="100%" border="1">
<tr>
<td><div align="center">序号</div></td>
<td><div align="center">名称</div></td>
<td><div align="center">地址</div></td>
<td><div align="center">级别</div></td>
</tr>
<% rs.last();
count=rs.getRow();
rs.beforeFirst();
n=(Integer.parseInt(pages)-1)*10;
while(rs.next()){
if(n>=rs.getRow())
continue;
out.println("<tr>");
see=rs.getString("gardenid");
see= returnToBr(see);
out.println("<td>"+ see.trim()+"</td>");
see=rs.getString("gardenname");
see= returnToBr(see);
out.println("<td>"+ see.trim()+"</td>");
see=rs.getString("gardenplace");
see= returnToBr(see);
out.println("<td>"+ see.trim()+"</td>");
see=rs.getString("gardenlevel");
see= returnToBr(see);
out.println("<td>"+ see.trim()+"</td>");
out.println("</tr>");
n++;
if(n%10==0)
break;
}
%>
</table>
<center>
第<%out.println(pages);%>页,
共<%if(count%10==0)
pagecount=count/10;
else
pagecount=count/10+1;
out.println(pagecount);
%>页<br>
<a href="flex_getGardenList.jsp?pages=1">最前一页</a>
,<a href="flex_getGardenList.jsp?pages=
<%if(Integer.parseInt(pages)==1)
out.println(pages);
else
out.println(Integer.parseInt(pages)-1);
%>">上一页</a>,
<a href="flex_getGardenList.jsp?pages=
<%if(Integer.parseInt(pages)==pagecount)
out.println(pages);
else
out.println(Integer.parseInt(pages)+1);
%>">下一页</a>
,<a href="flex_getGardenList.jsp?pages=<%=pagecount%>">最后一页</a>
</center>
<%
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</getGardenList> |
Tags:
jsp,
mssql,
分页
历经千辛万苦终于把这恶心的Jfreechart给纠结好了。这老师啥都不讲,直接让我们做,这不是要人命嘛!-_-||
运行效果图:

Piechart.java:
package com.jsp;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
public class Piechart {
public static DefaultPieDataset ds=new DefaultPieDataset();
public static String generatePieChart(String titles,HttpSession session, PrintWriter pw){
String filename = "";
try {
JFreeChart chart = ChartFactory.createPieChart3D(titles, getDataSet(), true, true, false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%")));
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})"));
chart.setBackgroundPaint(Color.white);
plot.setForegroundAlpha(1.0f);
plot.setCircular(true);
Font font = new Font("黑体", Font.TRUETYPE_FONT, 12);
TextTitle title = new TextTitle(titles);
title.setFont(font);
chart.setTitle(title);
LegendTitle legend = chart.getLegend(0);
legend.setItemFont(font);
plot.setLabelFont(font);
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
}
catch (IOException ex) {
System.out.println("error:"+ex.getMessage());
}
return filename;
}
public static void setDataSet(String name,int n){
ds.setValue(name,n);
}
public static PieDataset getDataSet(){
DefaultPieDataset dataset = ds;
return dataset;
}
} |
flex_gdn_stat.jsp:
<%@page contentType="text/html;charset=UTF-8"%>
<%@page import = "java.util.*"%>
<%@page language = "java" import = "java.sql.*"%>
<%@page import = "com.jsp.Piechart" %>
<%@page import = "java.io.PrintWriter" %>
<%@include file ="inc1.jsp"%>
<html>
<%!
public static String returnToBr(String sStr) {
if (sStr == null || sStr.equals("")) {
return "";
}
return sStr.trim();
}
%>
<%
String sql_query = "";
String see = "";
String keid = "", shuid = "", zoneid = "";
int li_temp = 0;
int li_order;
try {
//连接数据库
Class.forName(DBDriver);
Connection conn = DriverManager.getConnection(DBLocation, DBUser, DBPwd);
Statement stmt = conn.createStatement();//ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Statement stmt1 = conn.createStatement();
sql_query = "select zonelist, count(gardenid) as num from yl_garden group by zonelist order by num";
ResultSet rs = stmt.executeQuery(sql_query);
ResultSet rs1 = null;%>
<center><h1>公园数量</h1></center>
<table width="100%" border="1">
<tr>
<td><div align="center">序号</div></td>
<td><div align="center">区域</div></td>
<td><div align="center">数量</div></td>
</tr>
<%
li_order = 0;
while (rs.next()) {
out.println("<tr>");
li_order++;
see = rs.getString("zonelist");
see = returnToBr(see);
out.println("<td><div align=center>" + li_order + "</div></td>");
out.println("<td><div align=center>" + see.trim() + "</div></td>");
see = rs.getString("num");
see = returnToBr(see);
out.println("<td><div align=center>" + see.trim() + "</div></td>");
out.println("</tr>");
Piechart.setDataSet(rs.getString("zonelist"), Integer.parseInt(rs.getString("num")));
}
String filename = Piechart.generatePieChart("公园数量图", session, new PrintWriter(out));
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
</table>
<center><img src="<%= graphURL%>" width=500 height=300 border=0 ></center>
<%
rs.close();
stmt.close();
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
%>
</html> |
Tags:
jfreechart,
jsp
jsp+ms sql server2000 2005 2008不同版本的连接驱动
//for SQL Server 2000
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String DBLocation="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"; //dbname就是要连接的数据库名
String DBUser="sa";
String DBPwd="sa"; |
// for SQL Server 2008/2005
String DBDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String DBLocation="jdbc:sqlserver://localhost:1433;DatabaseName=dbname"; //dbname就是要连接的数据库名
String DBUser="sa";
String DBPwd="sa"; |
另外,连接前先确保有对应的jdbc驱动库,这里附上传送门:Microsoft SQL Server JDBC Driver 2.0
Tags:
jdbc,
jsp,
mssql
最新评论