현재 JDBC 1이라는 프로그램이 mysql 데이터베이스에 연결되어 있습니다. 이 프로그램은 문자열을 반환합니다. 이 문자열을 JSP 페이지에 삽입하고 싶습니다. 그러나 netbeans를 사용하여 서블릿을 만들려고하면 나에게 html 사전 세트가 제공됩니다. 내 바람둥이에 PHP를 설치하지 않아서 PHP를 사용할 수 없습니다. netbeans IDE를 사용하고 있습니다. 자바 프로그램을 JSP 페이지에 연결하는 방법
이
는 Java 응용 프로그램 내 데이터베이스에서 숫자와 위치의 문자열을 반환//STEP 1. Import required packages
import java.sql.*;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
public class JDBCExample1 {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/maps";
// Database credentials
static final String USER = "root";
static final String PASS = "root";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to a selected database...");
conn = DriverManager
.getConnection("jdbc:mysql://localhost:3306/maps","root", "root");
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql = "SELECT locname,latitude,longitude FROM location";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
double latitude = rs.getDouble("latitude");
double longitude = rs.getDouble("longitude");
String locname = rs.getString("locname");
//Display values
System.out.print(latitude);
System.out.print(longitude);
System.out.print(locname);
}
rs.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample1
입니다. 이제이 문자열을이 JSP 페이지에 삽입하여 mysql 데이터베이스에서 추출한 좌표로 맵을 채울 수있는 배열을 만들 수 있습니다.
JSP는
<%--
Document : gogolemaps
Created on : Sep 19, 2014, 12:48:35 PM
Author : bsebat
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var layers=[];
layers[0] = new google.maps.KmlLayer('http://www.hpc.ncep.noaa.gov/kml/fop/fopbody.kml',
{preserveViewport: true});
layers[1] = new google.maps.KmlLayer('http://www.nhc.noaa.gov/gis/forecast/archive/latest_wsp34knt120hr_tenthDeg.kmz',
{preserveViewport: true});
layers[2] = new google.maps.KmlLayer('http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month_depth_link.kml',
{preserveViewport: true});
layers[3] = new google.maps.KmlLayer('http://activefiremaps.fs.fed.us/data/kml/conus_latest_lg_incidents.kml',
{preserveViewport: true});
layers[4] = new google.maps.KmlLayer('http://w1.weather.gov/tcig/Tornado.kml?random=115233',
{preserveViewport: true});
var map;
function initialize() {
var latlng = new google.maps.LatLng(40.744771, -73.3171305);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeIds: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
for(var i=0;i < locations.length;i++) {
var marker = new google.maps.Marker({position: locations[i].latlng,
map:map, title:locations[i].name});}
}
function toggleLayers(i)
{
if(layers[i].getMap()==null) {
layers[i].setMap(map);
}
else {
layers[i].setMap(null);
}
document.getElementById('status').innerHTML += "toggleLayers("+i+") [setMap("+layers[i].getMap()+"] returns status: "+layers[i].getStatus()+"<br>";
}
</script>
</head>
<body onload="initialize()">
Flood <input type="checkbox" id="layer_01" onclick="toggleLayers(0);"/>
Hurricane<input type="checkbox" id="layer_02" onclick="toggleLayers(1);"/>
Earthquake<input type="checkbox" id="layer_03" onclick="toggleLayers(2);"/>
Fire<input type="checkbox" id="layer_04" onclick="toggleLayers(3);"/>
Tornado<input type="checkbox" id="layer_05" onclick="toggleLayers(4);"/>
<div id="map_canvas" style="height:800px; width:800px;"></div>
<div id="status"></div>
<div id="value">
</body>
</html>
당신이 제공 할 수있는 도움을 주셔서 감사합니다!
어디에서 시작해야할지 알기까지이 코드에 너무 많은 오류가 있습니다. JDBCExample1을 두 번 붙여 넣은 것처럼 보이고 JSP를 빠뜨린 것 같습니다. 그러나 JDBCExample1 코드가 가장 문제가됩니다. – duffymo
코드가 올바르게 작동하고 문자열을 반환합니다. 나는 그 문자열을 JSP 페이지로 가져 오는 방법을 묻는 것이다. 코드가하는 일에 아무런 문제가 없습니다. – user3856234
"올바르게 작동합니다"는 중요하지 않습니다. 코드에 많은 문제가 있어야합니다. – duffymo