Live Brilliant

APMSETUP + JSP 연동 본문

개발은 핵찜이야/WINDOWS

APMSETUP + JSP 연동

주인정 2012. 4. 17. 19:56


제목 : APMSETUP + JSP 를 돌리자~ ^^;

환경 : OS : XP SP1 + 보안패치 이빠이 (SP2 설치안했뜸 - 불편해서 ㅡㅡ;;)

문서만든날자 : 2005.02.23

만든이 : idhacker


들어가기전 잡담...

늘 근땅e님에게 배우기만 하고 준게 없어 미안했는데... 요번에 다니는 직장이 주로 JSP를 써서 공부할겸 설치하게 됐는데... 상당히 복잡하고 힘들더라구요.

더욱이 전 JSP를 해본적이 없습니다. ㅡㅡ;; 강좌를 쓰는것도 웃김. 그래서 처음부터 정리하면서 강좌를 만들게 되었고 전 하루 꼬박 걸렸는데... 강좌를 쓸려고 다시 다 지우고 지 금 처음부터 다시 시작합니다.

꼭 APMSETUP5 최신버젼(APM_Setup5_2004_12_25.exe)을 받아야합니다. 또한 자동 업데 이트를 하는것을 권장합니다. 이유는 APACHE 와 TOMCAT 연동모듈을 꼭 정확한 버전으로 설치해 야되거든요. (이것때문에 열라 고생했음. ㅠ.ㅠ)

나중에 APMSETUP의 APACHE 버젼이 올라가게 되면 mod_jk.dll 파일로 변경해 주셔야 합 니다.
APMSETUP5 설치과정은 이미
http://www.apmsetup.com/?ct=17 있기 때문에 생략할께요~
(안된다고 하셔도 소용없습니다. 캬캬^^).

먼저 준비물을 다 다운로드 합니다.


=========================================================

버젼 / 받을수 있는 곳

APMSETUP5 (apache 1.3.3 / mysql 4.0.23 / php 4.3.10 / Zend 2.5.7 / etc..)

http://www.apmsetup.com/download.php?ct=9


J2SDK(1.4.2_07)

http://java.sun.com/j2se/1.4.2/download.html

jakarta-tomcat (5.0.28)
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi


mysql-connector-java-3.1.7-bin.jar(MySQL JDBC)
※ 압축 파일안에 들어있다.
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java- 3.1.7.zip/from/pick


mod_jk.dll (아파치 & 톰켓 연동 모듈)
http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/mod_jk- 1.2.8-rc-1-apache-1.3.33-eapi.dll


=========================================================

설치경로는 기본적으로 APMSETUP 이 C:\APM_Setup 에 설치됐다고 가정하에 예를 들었 습니다.

1. J2SDK - J2SDK 1.4.2대 버전을 C:\j2sdk 에 설치합니다.



 

Change... 를 눌러서 설치 폴더를 c:\j2sdk 로 바꾼다.


 



 


2. TOMCAT 5.0.28




 

설치시 XP라 Service를 설치하는 것이 좋다.

C:\APM_Setup\Server\Tomcat 에 설치한다.

 
Tomcat 관리자 id & password 를 만든다. 포트번호는 8080 으로 한다.

j2sdk가 설치된 c:\j2sdk 가 맞는지 확인후 Install 누른다.


 
Finish 후 트레이에서 를 더블클릭한다.

 
Startup type 을 수동(Manual)로 한다. 필요에 따라서 톰켓을 실행하기 위해...
일반업무하는데 서버돌리면 웬지 더 느린거 같은 느낌이 들어서... ㅡㅡ;;

 
3. 내컴퓨터 > 속성 > 고급 > 환경변수

CATALINA_HOME=C:\APM_Setup\Server\Tomcat
PATH=c:\j2sdk\bin; (이미 PATH변수가 있을경우 값의 끝에 새미콜론; 을 붙이고 추가한다.)
CLASSPATH=.
JAVA_HOME=C:\j2sdk
빨강 박스처럼 값을 등록한다. 이미 있는 것은 등록안해도 되겠죠?! ^^;
 
4. mysql-connector-java-3.1.7-bin.jar
이 파일은 mysql-connector-java-3.1.7-bin.zip 안에 있 다. 
이 파일을
C:\APM_Setup\Server\Tomcat\common\lib 에 복 사 하세요.
이 파일은 jsp와 mysql 연결할때 필요한 라이브러리파일 입니다.
 
5. mod_jk-1.2.8-rc-1-apache-1.3.33-eapi.dll
이 파일을 mod_jk.dll 로 이름을 바꾼후
C:\APM_Setup\Server\Apache\modules 에 복사!

이 파일이 무지 버전을 탑미다. 처음파일을 보면 아시겠지만 아파치 1.3.33 버젼입니 다. 따라서 이 버젼과 틀린아파치 버젼은 위 다운로드 사이트에서 같은버전의 톰켓모듈을 받아 야 합니다.

기본적으로 현제 2005.02.25에
http://www.apmsetup.com 있는 APMSETUP에는 1.3.33 APACHE가 설치되게 되어있어 같은 모듈로 준비물링크를 걸어놨습니다.
 
6. C:\APM_Setup\Server\Apache\conf\mod 폴더에 아래내용을 mod_jk.conf 파일로 생성.
---------------- 시작 -----
LoadModule jk_module "C:/APM_Setup/Server/Apache/modules/mod_jk.so"
<IfModule mod_jk.c>
JkWorkersFile "c:/APM_Setup/Server/Tomcat/conf/jk2.properties"
JkLogFile logs/jk.log
JkLogLevel error
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /examples/* ajp13
</IfModule>
---------------- 끝 -----
 
7. C:\APM_Setup\Server\Tomcat\conf\jk2.properties 파일에 내용 아래 내용 추가.
workers.tomcat_home=c:/APM_Setup/Server/tomcat
workers.java_home=C:/Program Files/Java/jdk1.6.0_17  (java_home path 경로)
worker.list=ajp12, ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
 
8. C:\APM_Setup\Server\Apache\conf\httpd.conf 파일 수정.
DocumentRoot "C:/APM_Setup/htdocs" →
DocumentRoot "C:/APM_Setup/Server/tomcat/webapps/ROOT"

<Directory "C:/APM_Setup/htdocs"> →
<Directory "C:/APM_Setup/Server/tomcat/webapps/ROOT">
 

DirectoryIndex index.html index.htm index.php index.php3 →
DirectoryIndex index.html index.htm index.php index.php3 index.jsp

파일 마지막 부분에 아래 2줄 추가
------------------------------
# JSP 모듈 설치
Include conf/mod/mod_jk.conf
------------------------------

#C:\APM_Setup\Server\Apache\conf\extra\httpd-alias.conf 파일에
# phpMyAdmin 페이지 부분을 찾아서 위에 php Default 페이지를 아래 처럼 추가 설정한다.
(보안상 php & jsp 실행폴더를 다르게 한다.)
설명 : php파일은 c:\APM_Setup\htdocs 에 넣어놓고 실행은

http://localhost/php/ 로 한다. 따라서 apmsetup 관리툴 위치도 http://localhost/php/ 가 된 다.
-------------------- 시작 --------------------
# php Defaulf 페이지
Alias /php/ "C:/APM_Setup/htdocs/"
<Directory "C:/APM_Setup/htdocs">
Options FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>

-------------------- 끝 --------------------


 
9. 테스트 (하기전 재부팅을 꼭 하세요~ ^^; 패스부분등이 적용되게 하 기 위해서...)


9-1. apmsetup 실행 (apache & mysql 실행) - APM 환경

9-2. tomcat 실행 - 톰켓도 실행하면 APM + JSP 환경이 되는 것이다. ^^;


9-3. 자 IE(인터넷 익스플로러)를 실행해
http://localhost/ 실행해보자.

괭이(고양이)가 그 야옹~~ 나타나면 성공! else(아니면..^^) 실패!

잘 따라왔다면 분명 고양이가 보일것이다.

톰켓의 admin관리툴을 쓰려면
http://localhost:8080/ 로 접속한다.
이지성님의 강좌

http://www.apmsetup.com/tutorials.php? ct=15&tutid=24&uid=111#111

를 읽어서 톰켓 어드민으로 콘텍스트(context)를 만들면 다른 폴더에서도 jsp를 돌릴 수 있다.
참고로 필자는 C:\APM_Setup\jsp\ 콘텍스트를 만들었다.

그래서 실행시

php = http://localhost/php/test.php

jsp = http://localhost/jsp/test.jsp

이렇게 각각 php 와 jsp를 실행할 수 있다.

9-4. 자 test를 위해서 그 유명한 Hello, World! 를 찍어보자.

-------------------- test.jsp 시작 --------------------

<html><head><title>O.K Start APM + JSP</title></head>

<body>

<%

out.println("Hello, World!");

%>

</body>

</html>

-------------------- test.jsp 끝 --------------------

위 test.jsp 를 C:\APM_Setup\Server\Tomcat\webapps\ROOT 넣고
IE 로
http://localhost/test.jsp 실행한다.

 
Hello, World! 가 화면에 찍히면 성공! else 실패!

9-5 근땅e님의 jsp + mysql 샘플 페이지를 통해 mysql 연결 테스트도 해보자.

샘플페이지 : http://www.apmsetup.com/board.php? ct=14&bid=102&bs_type=&bs_str=&pg=&mode=view&uid=394
샘플페이지2 :
http://blog.naver.com/sweetphp/80010486510

-------------------------------------------------------------------
내가 만든 test.jsp 파일
<%@ page import="java.sql.*" %>
<%
String DB_URL = "jdbc:mysql://localhost:3306/test_db"; // test는 db명이다.
String DB_USER = "root"; // 말 그대로 user id
String DB_PASSWORD= "apmsetup"; // 말 그대로 user password
Connection conn;
Statement stmt;
String query = "create table createTest2(name varchar(10), tel varchar(15))";
 //아래 부분은 mysql-connector-java-5.1.5-bin.jar 파일안에  Driver.class 경로다.
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.executeUpdate(query);
conn.commit();
out.println("table created!!");
stmt.close();
conn.close();
%>
----------------------------------------------------------------------------

근땅e님의 소스중
String jdbcUrl ="jdbc:mysql://localhost/? useUnicode=true&characterEncoding=EUC_KR";
String dbUser = "root";
String dbPass = "";

이부분은 자기의 mysql 에 맞게 수정한다. User 과 Pass 만 바꾸면 될 것이다.

C:\APM_Setup\Server\Tomcat\webapps\ROOT 에 근땅e님의 소스코드를 mysql_conn.jsp 로 저장하여 넣고 IE 로http://localhost/mysql_conn.jsp 실행한다.

화면에 mysql의 여러가지 result 값이 보이면 성공이다.

자 이렇게 해서 mysql 연동도 잘 되는걸 확인했다. 직접 테이블을 만들고 필드까지 추가한 test 파일은 샘플페이지2 를 참고하길 바랍니다. ^^;

9-6 bouns 자바빈 테스트

먼저 위의 이지성님의 톰켓 어드민을 강좌를 참조하여 C:\APM_Setup\jsp\ 를 context 로 만든다.

강좌위치 : http://www.apmsetup.com/tutorials.php? ct=15&tutid=24&uid=111#111

C:\APM_Setup\Server\Tomcat\webapps\ROOT\WEB-INF 폴더를 복사해서 C:\APM_Setup\jsp\ 에 넣는다.
C:\APM_Setup\jsp\WEB-INF\classes 에 hjs(제 이니셜이애요 ^^;)폴더를 만든다.

HelloBean.java 파일을 만든 hjs폴더에 저장한다.

------------------------- HelloBean.java 시작 ------------------------------

package hjs;
public class HelloBean implements java.io.Serializable {
String name;

public HelloBean () {
this.name = "World";
}
public String getName () {
return name;
}
public void setName (String name) {
this.name = name;
}
}

------------------------- HelloBean.java 끝 ------------------------------

C:\APM_Setup\jsp\WEB-INF\classes\hjs 에 있는 HelloBean.java 를 컴파일 하 여 .class 파일을 만든다.

C:\APM_Setup\jsp\WEB-INF\classes\hjs>javac HelloBean.java (컴파일 명령)


예전 j2sdk 1.4 이전버전에서는 package 명령을 안해도 알아서 기본으로 찾았는 데..

1.4대부터 스팩이 달라져서 package로 bean파일이 있는곳을 알려주어야 한다네요~ ㅡㅡ;;

이때문에... 예전에 다른사람이 만들었던 방명록이나 게시판등이 에러가 일어날 것 입니다.
소스 전체를 package 명령을 넣어주고 다시 컴파일해야만 예전소스가 돌아갈꺼애 요.

암튼암튼!! 컴파일을 잘해서 HelloBean.class 를 만들면 다음으로 진행합니다.


C:\APM_Setup\jsp 에 빈을 사용한 bean_test.jsp 파일을 만들어 저장한다.

------------------------- bean_test.jsp 시작 ------------------------------

<html>
<head>
<title>use bean</title>
</head>
<body>
<jsp:useBean id="hello" class="hjs.HelloBean"/>
<jsp:setProperty name="hello" property="name" param="name" />
Hello, <jsp:getProperty name="hello" property="name" />
</body>
</html>

------------------------- bean_test.jsp 끝 ------------------------------

실행


10. 마치며...
C:\APM_Setup\Server\Tomcat\webapps\ROOT 에 php & jsp 파일 모두 돌아가지만
php실행시 톰켓포트 8080 으로 접속하면 소스가 보인다. ㅠ.ㅠ
아무래도 톰켓서버가 .php를 읽어서 그대로 출력한거 같다.
(해결방법 알려주세요~ )
그래서 php는 C:\APM_Setup\htdoc 에 넣고 홈페이상 루트는
http://localhost/php/ 다.
예) C:\APM_Setup\htdoc\phpinfo.php 는 실행은
http://localhost/php/phpinfo.php 다.

------------------------- phpinfo.php 시작 ------------------------------

<?php

phpinfo();

?>

------------------------- phpinfo.php 끝 ------------------------------


 
jsp 는 당현이 기본 root 인 C:\APM_Setup\Server\Tomcat\webapps\ROOT 이며

실행은 http://localhost/ 또는 http://localhost:8080/ 으 로 확인할 수 있다.


출처:APMSETUP

Comments