본문으로 바로가기

JDK + tomcat 설치

category 서버&시스템/Linux 2012. 3. 8. 16:21

버전

  • JDK 설치 파일/버전 : jdk-6u29-linux-x64-rpm.bin
  • tomcat 설치 파일/버전 : apache-tomcat-7.0.23.tar.gz
  • JDBC 드라이버 파일/버전 : mysql-connector-java-5.1.18.tar.gz

 

JDK 설치

jdk를 보통 rpm 혹은 binary 로 설치하는데, 여기선 binary 이다.
설치 방법의 차이는 환경 변수 등록 방법 뿐이다.

$ java -version
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

$ rpm -qa | grep java
$ rpm -qa | grep jdk

$ rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

기존 버전 확인하고 있는건 다 지운다.

$ chmod 777 jdk-6u29-linux-x64-rpm.bin
$ ./jdk-6u29-linux-x64-rpm.bin
원하는 버전 설치 후 버전 확인

$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

$ rpm -qa | grep jdk
jdk-1.6.0_29-fcs

설치 후에는 환경 변수를 등록해야 한다.
※ 아래는 rpm으로 설치 시의 환경 변수 등록 방법이다. binary 혹은 source 설치 시에는 다르게 해야 한다.

$ vi /etc/profile     #맨 밑에 아래 내용 추가
export JAVA_HOME=/usr/java/default
export CLASSPATH=.:/usr/java/default/jre/lib
export PATH=$PATH:/usr/java/default/bin

$ source /etc/profile

설치가 끝났으므로 간단하게 테스트를 해 본다.

$ vi test.java
public class test {
	public static void main (String args[]) {
		System.out.println("can you see?? ");
	}
}

$ javac test.java
$ java test
can you see??

 

2. tomcat 설치

tomcat은 이미 컴파일 되어 배포되기 때문에 복사만으로 설치가 끝난다.

$ tar zxvf apache-tomcat-7.0.23.tar.gz
$ mv apache-tomcat-7.0.23 /usr/local/tomcat

$ cd /usr/local/tomcat/bin
$ ./startup.sh    # (종료는 ./shutdown.sh)
Using JRE_HOME: /usr/java/default    # 이 경로가 echo $JAVA_HOME과 같아야 한다

이제 웹으로 확인한다.
http://서버ip:8080 고양이가 나오면 성공.

 

3. JDBC 드라이버 설치

mysql 연동을 위해 설치한다.
jar 파일을 java와 tomcat 경로에 복사만 해 주면 된다.

$ cp mysql-connector-java-5.1.12.jar $JAVA_HOME/jre/lib/ext   # java 코드로 test
$ cp mysql-connector-java-5.1.12.jar /usr/local/tomcat/lib    # jsp 코드로 test

tomcat을 재시작하자.

 

java 코드 - 작성 후 콘솔에서 컴파일/실행

import java.sql.*;

class jdbc
{
	public static void main(String argv[])
	{
		try
		{
			Class.forName("org.gjt.mm.mysql.Driver");
			System.out.println("jdbc driver loaded");
		}
		catch (ClassNotFoundException e)
		{
			System.out.println(e.getMessage());
		}
		
		try
		{
			String url="jdbc:mysql://127.0.0.1:3306/mysql";
			Connection con = DriverManager.getConnection(url,"root","12345");
			System.out.println("mysql connected");
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery("select user from user where user='root'");
			
			while(rs.next())
			{
				String no = rs.getString(1);
				String tblname = rs.getString(1);
				System.out.println("no = " + no);
				System.out.println("tblname= "+ tblname);
			}
			
			stmt.close();
			con.close();
		}
		
		catch(java.lang.Exception ex)
		{
			ex.printStackTrace();
		}
	}
}

 

JSP 코드 - 작성 후 해당 웹페이지로 접속

<%@ page import="java.sql.*" contentType="text/html;charset=euc-kr"%>
<%
		String DB_URL = "jdbc:mysql://10.10.0.17:3306/mysql";
		String DB_USER = "root";
		String DB_PASSWORD= "admin#00123";
		
		Connection conn;
		
		Statement stmt;
		
		try
		{
			Class.forName("org.gjt.mm.mysql.Driver");
			conn = DriverManager.getConnection(DB_URL, DB_USER,DB_PASSWORD);
			stmt = conn.createStatement();
			conn.close();
			out.println("MySQL connected");
		}
		catch(Exception e)
		{
			out.println(e);
		}
%>

 

Error Message

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

 

위에서 작성한 웹 페이지 접속 시 위 오류 메시지가 발생할 수 있는데,
이는 jar 파일 복사 후 톰캣을 다시 시작하지 않았기 때문이다.

인터넷을 뒤져보면 webapps/프로젝트명/WEB-INF/lib 디렉토리에 jar 파일을 복사해 넣어야 된다는 포스팅들이 많은데, 환경변수 설정을 제대로 했다면 굳이 필요하지 않은 작업이다.