어제 설치한 Jeus 6에서 MySQL을 연동한 홈페이지를 올려보기로 하였습니다. 이전엔 Resin과 Tomcat에서 테스트 해봤던 홈페이지입니다. 학교 과제로 제출하였던 홈페이지였습니다.

오랜만에 이런 작업 하는 거라 거의 4시간은 걸릴것 같습니다.

시넵티 꾸러미 관리자를 통해 우선 MySQL을 설치합니다.


MySQL 설치시 root 패스 워드를 입력합니다.

/root/jeus6/webhome/app_home/에다 원하는 application 이름의 디렉토리를 생성합니다. 저는 downtown이라고 만들었습니다. 기존 Tomcat에서 돌리던 홈쇼핑몰 파일들을 모두 이 폴더에 복사해 넣습니다.

$mkdir downtown


$JEUS_HOME/config/엔진컨테이너이름/JEUSMain.xml 파일을 열어 자신이 아까 만든 폴더 이름의 application항목을

<?xml version="1.0" encoding="UTF-8"?>
<jeus-system version="6.0" xmlns="http://www.tmaxsoft.com/xml/ns/jeus"
    xmlns:ns2="http://java.sun.com/xml/ns/javaee" xmlns:ns3="http://java.sun.com/xml/ns/persistence">
    <node>
        <name>shin-desktop</name>
        <engine-container>
            <name>container1</name>
            <command-option>-Xms256m -Xmx512m</command-option>
            <engine-command>
                <type>ws</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>jms</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>ejb</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>servlet</type>
                <name>engine1</name>
                <system-logging>
                    <level>ALL</level>
                </system-logging>
            </engine-command>
            <sequential-start>true</sequential-start>
        </engine-container>
        <class-ftp>true</class-ftp>
        <sequential-start>true</sequential-start>
        <enable-webadmin>true</enable-webadmin>
    </node>
    <application>
        <name>examples</name>
        <path>examples.ear</path>
        <deployment-type>EAR</deployment-type>
        <deployment-target>
            <target>
                <engine-container-name>shin-desktop_container1</engine-container-name>
                <web-context-group>
                    <name>MyGroup</name>
                </web-context-group>
            </target>
        </deployment-target>
    </application>
    <application>
        <name>downtown</name>
        <path>/root/jeus6/webhome/app_home/downtown</path>
        <deployment-type>COMPONENT</deployment-type>
        <deployment-target>
            <target>
                <engine-container-name>shin-desktop_container1</engine-container-name>
                <web-context-group>
                    <name>MyGroup</name>
                </web-context-group>
            </target>
        </deployment-target>
    </application>
</jeus-system>

mysql에서 DB를 생성해줍니다.

shin@shin-desktop:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.0.67-0ubuntu6 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE shin;
Query OK, 1 row affected (0.06 sec)

mysql>

이제 JDBC Driver for MySQL (Connector/J) 파일을 mysql 홈페이지에서 다운 받습니다.
http://www.mysql.com/products/connector/

압축을 푼 jar파일을 JEUS와 JRE디렉토리에 복사하여야 합니다.

$JAVA_HOME/jre/lib/ext
$JUES_HOME/lib/system

위 폴더에 jar파일을 복사해 넣기만 하면 됩니다. Path는 시스템마다 다를 수 있기 때문에 어떤 경로가 현재 사용중인 디렉토리인지 확인후 복사합니다.

import java.sql.*;

public class JdbcTest
{
 public static void main(String args[])
 {
 
  String DB_URL = "jdbc:mysql://localhost:3306/DB이름";
  try{
   Class.forName("com.mysql.jdbc.Driver");
      DriverManager.getConnection(DB_URL,"root","password");
   System.out.println("jdbc connection good");
  }catch (Exception e){
    System.out.println(e);
  } 
 }
}

위 파일을 컴파일 후 실행해 보아 설치가 잘 되었는지 확인합니다. 정상적으로 jdbc driver가 설치 되었다면 아래와 같은 메세지를 확인 할 수 잇습니다.
jdbc connection good

jeus를 컨테이너를 제 기동 합니다.
http://localhost:9744/webadmin 에 접속해서 웹컨테이너를 손쉽게 재 기동할 수 있습니다.

정상적인 페이지가 나오기를 기대하였으나 내부오류 500 메세지가 떴습니다. 디버깅을 위해서 웹브라져에서 Exception Trace를 출력할 수 있습니다.

$JEUS_HOME/webhome/app_home/애플리케이션이름/WEB-INF/jeus-web-dd.xml 파일을 열러 attach-statcktrace-on-error의 값을 true변경하면 됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<jeus-web-dd version="6.0" xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
    <context-path>/downtown</context-path>
    <enable-jsp>true</enable-jsp>
    <auto-reload>
        <enable-reload>false</enable-reload>
        <check-on-demand>false</check-on-demand>
    </auto-reload>
    <max-instance-pool-size>-1</max-instance-pool-size>
    <webinf-first>true</webinf-first>
    <attach-stacktrace-on-error>true</attach-stacktrace-on-error>
</jeus-web-dd>

우여 곡절끝에 설정이 완료되었고 정상적인 페이지를 확인 할 수 있었습니다.^^;;


저작자 표시
신고


티스토리 툴바