MAMP의 DB를 JSP와 연결하여 사용하는 것이 맥(OSX)에서 JSP를 공부하는 중에 생긴 매우 어려운 점이었다. 하지만 막상 실제로 해결을 하고 보니 순전히 내가 JSP에 대한 구조를 잘 몰랐기 때문에 생긴 단순한 실수였다. 한마디로
바보.
구축환경
위의 구축환경을 보면 알겠지만 매우 간단하다. MAMP는 윈도우의 AMP와 동일한 것으로 Apache+MySQL을 자동으로 설치하여 준다. 그리고 기본적으로 톰캣에는 모든 DB에 대한 JDBC가 제공되고 있지 않으므로 각 DB의 사이트에서 다운을 받으면 된다. 난 MySQL을 사용하기 때문에(MAMP) MySQL 사이트에서 다운 받았다.
- JDBC드라이버의 설치
~/ROOT/WEB-INF/lib/ 앞의 위치에 JDBC Driver.jar 파일을 복사를 해둔다. (파일명의 경우는 드라이버마다 다르다. 어디에 복사해야하는지 몰라서 하루종일 DB만 만지고 있었음)
- Tomcat의 재실행
- JSP파일을 열어본다.
이런 간단한 방법으로 쉽게 MAMP와 톰캣을 이용하여 DB를 접근할 수 있다. DB의 관리는 MAMP에서 기본으로 제공되고 있는 phpMyAdmin을 이용하거나 다른 DB관리프로그램(CocoaSQL 등)을 이용하여도 된다.
위의 설정이 되는지 간단한 테스트를 하여보자.
- pureshop 데이터베이스의 생성 (phpMyAdmin)
- good 테이블 생성, 컬럼 id, title, price
- good 테이블에 간단한 테스트 값의 입력
- 아래의 소스를 실행
<%@ page contentType="text/html;charset=utf-8" import="java.sql.*" %>
"http://www.w3.org/TR/html4/strict.dtd">
PureShop : DB test
Good's list
<%
String DB_URL = "jdbc:mysql://localhost/pureshop";
String DB_USER = "root";
String DB_PASSWORD = "root";
Connection db;
Statement stmt;
ResultSet rs = null;
String query = "SELECT * FROM good";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
db = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = db.createStatement();
rs = stmt.executeQuery(query);
%>
<% while(rs.next()) { %>
- 상품ID : <%= rs.getInt("id") %> | 상품명 : <%= rs.getString("title") %> | 상품가격 : <%= rs.getDouble("price") %>
<% } %>
<%
rs.close();
stmt.close();
db.close();
} catch(Exception e) { e.printStackTrace(); }
%>
실행결과
이제 JSP의 기초는 대략 알게 된 것 같다. 이제 DB를 좀 더 잘 다룰 수 있는 방법과 또 나만의 쇼핑몰을 위한 구상을 하여서 JSP를 이용한 쇼핑몰을 하나 제작해봐야겠다.
2008/07/23 15:11
2008/07/23 15:11