프로그래밍/웹 프로그래밍

03. JSP로 MySQL 데이터 다루기

산을좋아한라쯔 2015. 1. 15. 23:08
반응형

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 선택

  - 아래와 같이 나오면 성공

 

 

-끝-

 

반응형