JSP에서 MySQL데이터를 핸들링해보겠다.
개발환경으로는, JSP 프로그래밍이 가능하도록 JDK와 Eclipse(for EE)가 설치되어 있어야 하고, JSP실행을 위해 Tomcat이, 그리고 MySQL이 설치되어 있어야 하겠다.
* 필요 개발환경
- JDK: 1.6
- Eclipse for EE
- Tomcat
- MySQL
(아래는, 위와같은 개발환경이 갖추어져 있다고 가정하고 설명하는 것.)
1. MySQL용 JDBC드라이버 다운로드
JSP로 MySQL을 다루려면, 먼저 MySQL용 JDBC드라이버를 다운로드받아서 Tomcat의 라이브러리로 등록해야 한다.
- 다운로드 사이트: http://dev.mysql.com/downloads/connector/j/
"Windows (x86, 32-bit), MSI Installer"를 다운로드해서 설치하면, "C:\Program Files\MySQL\MySQL Connector J"에 자동설치됨
- 실제 필요한 것은 "Program Files/MySQL/MySQL Connector J/" 폴더에 있는 mysql-connector-java-5.1.34-bin.jar 파일이다.
이 파일을 Tomcat설치 폴더의 lib밑에 복사해 넣는다. (ex: c:\tomcat7\lib)
2. MySQL에 테스트용 데이터베이스 구축
(MySQL은 이미 설치했고(앞 장에서 설명), 기본적인 사용법은 알고있다고 가정.)
1)MySQL에 접속
mysql -u root -p
2) test 데이터베이스를 선택하고, 아래와 같은 명령어를 통해 employees테이블 작성
- 만약 test 데이터베이스가 없다면, 아래 명령을 이용해서 만든다.
mysql>create database test;
- 이미 employees테이블이 존재한다면, 삭제
mysql>drop table employees;
- employees 테이블 생성
mysql>CREATE TABLE Employees
(
id int AUTO_INCREMENT PRIMARY KEY,
name varchar(20),
age int
);
- 테이블내에 데이터 입력
mysql>INSERT INTO employees VALUES(null,'Kim', '21');
mysql>INSERT INTO employees VALUES(null,"Lee", 22);
mysql>INSERT INTO employees VALUES(null,'Park', 23);
mysql>INSERT INTO employees VALUES(null,'Jung', 24);
3. Eclipse에서 샘플 프로젝트 작성
이제 Eclipse를 이용해서, JSP로 MySQL 데이터를 핸들링하는 프로그램을 작성해 보자.
먼저, JSP로 MySQL을 연결할 수 있는지 확인하는 프로그램부터 작성해 보자.
앞장에서 Eclipse로 만든 HelloTomcat프로젝트에다, MySQL_ConnectionTest.jsp를 추가작성해서 테스트해본다.
- Eclipse를 실행해서, HelloTomcat프로젝트의 "WebContent"를 선택하고 마우스 우클릭해서 New/JSP File
- 파일이름을 MySQL_ConnectionTest.jsp로 하고 Finish
- 자동으로생성된 코드를 모두 지우고, 아래 내용처럼 작성하고 Save
<%@ page import="java.sql.*"%>
<%
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","12345678");
out.println("Connected");
}catch(Exception e){
e.printStackTrace();
}
%>
- 왼쪽 Project Explorer창에서 MySQL_ConnectionTest.jsp를 선택하고 마우스 우클릭. Run As - Run on Server 선택
- 아래 그림처럼 "Connected" 라는 글자가 나타나면 성공
이제 MySQL에 만들어 놓은 Employees테이블 데이터를 읽어보는 프로그램을 짜보자.
- HelloTomcat프로젝트의 WebContent를 선택하고 마우스 우클릭. New - JSP File 선택
- File name으로 ReadEmployeesTable.jsp을 타이핑하고 Finish
- 파일내용이 아래와 같이 되도록 타이핑하고 저장. (노란색 부분이 신규 추가된 부분임)
(pw="12345678"; 로 되어 있는 부분엔, 실제 password로 바꿔서 입력 하세요)
<%@ page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String pw = "12345678"; // enter your real password
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,pw);
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from employees");
String id,name,age;
while(rs.next()){
id = rs.getString("id");
name = rs.getString("name");
age = rs.getString("age");
out.println(id+"\t"+name+"\t"+age);
%>
<br>
<%
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(conn != null) conn.close();
}
%>
</body>
</html>
- Project Explorer에서 ReadEmployeesTable를 선택하고 마우스 우클릭. Run As - Run on Server 선택
- 아래와 같이 나오면 성공
-끝-
'프로그래밍 > 웹 프로그래밍' 카테고리의 다른 글
06. 웹 페이지를 퍼블릭하게 오픈하기 (0) | 2015.02.02 |
---|---|
05. HTML -> JSP -> Java Class (0) | 2015.01.30 |
04. HTML 페이지에서 사용자입력정보 받아서 JSP 실행하기 (0) | 2015.01.28 |
02.MySQL 다루기 (0) | 2015.01.12 |
01. 환경 구축(JDK, 아파치 톰캣, Eclipse, MySQL) (0) | 2015.01.06 |