|
카테고리
전체
제갈장비-Linux 제갈장비-TOMCAT 제갈장비-JAVA -------------------- 문서-Linux 문서-Powerbuilder 문서-JAVA 문서-ASP 문서-하드웨어 문서-EDPS 문서-MSSQL -------------------- TIP-JAVA TIP-Perl TIP-ASP TIP-Powerbuilder 01 TIP-Javascript TIP-Excel TIP-XML TIP-MSAccess TIP-PostgreSql TIP-Windows TIP-Linux TIP-HTML TIP-TOMCAT -------------------- ETC Secret Util-Japan 미분류 최근 등록된 덧글
잘읽어 보았습니다. 그런..
by 이윤철 at 11/07 1000 666 by qhrlfeh77 at 05/21 123 by qhrlfeh77 at 05/21 by qhrlfeh77 at 05/21 감사합니다!! HashSet.. by 세레네이 at 04/06 찾고 있었던 자료인데 .. by 나그네 at 01/09 감사합니다. 잘 보았습.. by 졸면죽는다 at 10/28 좋은 정보 정말 감사합니.. by 강성훈 at 10/22 좋은글 퍼가겠습니다. by 정의진 at 09/29 이제야 봤습니다. iText.. by 제갈장비 at 08/09 이글루 파인더
|
2006년 08월 20일
-------------------------------------------------------------------------- 들어가가전에 한마디,
제 개인적으로 메모해 두기 위한 글이기때문에 완전 컴퓨터 초보분들을 위한 친절한 설명은 없습니다. 제가 제 자신에 중얼거리듯 쓰는 글이라서 경어는 거의 사용하지 않습니다. 되도록이면 그림 파일을 첨부하지 않았습니다. 즉, 화면보고 따라하기가 아니라 제 서투른 설명문을 보면서 나름대로 이해해 가시면서 보시길 바랍니다. -------------------------------------------------------------------------- 미리 이런 환경이 준비되어 있어야 한다. 중요: JDK5.0 TOMCAT 5.5 PostgreSql 8.1.4 그외: 인터넷 익스플로러 6.0 이상 맘에 드는 에디터 기타 : 톰캣 설치 환경 ( 제 메모로그 보시면 톰캣 설치기가 있습니다.) 위의 환경은 이 메모에서 테스트한 환경이다. 이제, 자바도 들여놨고, 톰캣도 한마리 붙잡아 놨고 포스트그레도 깔아 놨으니 간단히 해 볼 수 있는건 웹어플리케이션을 만드는 거다. 정말 간단히 해 볼 수 있을 정도로 간단한가? 뭐든.. 모르면 어렵고 알면 쉽다. 해보자. 이제부터 할 것을 정리부터 해보자. 톰캣에 웹어플리케이션 만들기. 첫 JSP 파일 보이게 하기 PostgreSql에 있는 데이타 꺼내보기 PostgreSql에 접속해서 데이타 넣기 여기까지이다. 그럼 시~~작! 톰캣에 웹어플리케이션 만들기 우선 이제부터 만들 웹어플리케이션의 이름을 MyWeb01 이라고 정했다. 설치할 경로는 D:tomcat_webapps 밑에 MyWeb01이라는 폴더를 만든다. 이 경로를 톰캣에게 http://localhost:8080/MyWeb01 이라고 주었을 때 제대로 인식하게 만들어줘야 한다. 자~~ 이건 톰캣이 기본으로 알아먹는 폴더가 아닌 다른 곳에 웹어플리케이션을 만들 때이고 톰캣이 기본으로 알아먹는 폴더에 시험삼아 웹어플리케이션을 만들어 보자 확인을 위해 우선 톰캣 관리 화면을 열어두자. http://localhost:8080/manager/thml 관리자 아이디, 패스워드 넣고 들어가면 현재 톰캣이 인식하고 있는 웹어플리케이션 목록이 펼쳐질 것이다. 이 상태로 두고 톰캣설치폴더의 밑에 있는 (이 톰캣설치폴더를 이 문서에서는 %TOMCAT_HOME%라고 부를 것이다.) webapps 라는 폴더 밑에 test99 이라는 폴더를 하나 생성하자. 그리고 조금있다가 톰캣관리화면 안의 List Applications 라는 링크를 눌러보자. 그러면 목록에 /test99 라는 것이 자동으로 생겨 났을 것이다. 이번에 새로 만든 폴더에 index.jsp 라는 이름의 파일을 만들고 아래 내용을 입력하고 저장한다. <html> <head><title>TEST99-INDEX</title> <body> <h1>INDEX</h1> </body> </html> 다음엔 브라우저에 http://localhost:8080/test99 를 입력하면 위의 index.jsp 의 내용이 나타날 것이다. 왜 이렇게 되는지에 대한 설명은 여기선 하지 않는다. 이렇게 간단히 하나의 톰캣 웹어플리케이션이 만들어 졌다. 그런데 톰캣을 기본설정 그대로 설치했다면 %TOMCAT_HOME%의 경로가 C:Program FilesApache Software FoundationTomcat 5.5 일 것이다. 상당히 길고 저 경로 밑에 웹어플리케이션을 둔다는 것이 심적으로 상당한 압박을 준다. 그리고 혹시라도, 톰캣을 새로 설치한다거나 했을 때 백업을 받아 두지 않는다면 정성들여 만들어 둔 웹어플리케이션들이 한순간에 날아가 버릴지도 모른다. 그래서 되도록이면 다른 드라이브에 웹어플리케이션을 만드는 것이 좋겠다. 그러면 다시, 처음으로 돌아가서 D:tomcat_webapps 밑에 MyWeb01이라는 폴더를 만든다. 그 루트에 위에서 테스트한 index.jsp를 복사해 넣는다. 새로 만들어도 된다.(오늘 날도 더워서리... 새로 만들기도 싫고 내용도 똑같기 때문에...) 이 MyWeb01 이라는 웹어플리케이션은 톰캣이 관리하고 지켜보는 폴더가 아니기 때문에 톰캣관리화면에 나타나지 않는다. 그러면 어떻게 나타나게 해야 할까? 어려운 용어는 잘 모르겠으니까... 아래 과정을 따라 해 보면 안다. 탐색기로 %TOMCAT_HOME%confCatalinalocalhost 까지 연다. MyWeb01.xml이라는 파일을 만들고 에디터로 연다. 아래 내용을 입력하고 저장한다. <?xml version='1.0' encoding='utf-8'?> <Context path="/MyWeb01" docBase="D:tomcat_webappsMyWeb01" debug="0" reloadable="true" crossContext="true" /> 여기까지 하고 조금 있다가 톰캣관리화면의 어플리케이션 리스트를 보면 신기하게도 /MyWeb01이 나타난다. 브라우저로 열어보자. http://localhost:8080/MyWeb01 미리 index.jsp를 넣어뒀기 때문에 화면에 INDEX하고 내용이 나타난다.자~~ 그럼. 테스트는 끝났으니 좀 전에 만든 test99 라는 웹어플리케이션은 지우자. 톰캣관리화면에서 /test99의 오른쪽에 보면 Undeploy라는 링크가 있다. 그걸 선택하면 "Are you sure?"라고 나오고 "확인" 버튼을 누르면 화면에서 /test99 라는 목록은 사라진다. 그리고 탐색기로 test99가 있던 곳을 찾아보면 삭제되고 없다. 맨 처음 톰캣의 이 관리화면을 아무렇게나 다루다가 프로젝트 폴더를 날려먹었었다. 그 때 얼마나 황당했는지........ 참고로 톰캣5.0에서는 "Are you sure?" 라고 물어보지도 않는다. 그냥 산뜻하게 깨끗이 지워 버린다. 이 기능은 잘 생각해서 사용하기 바란다. 다음은 좀 전에 만든 MyWeb01.xml 파일을 다른 임시 폴더에 복사해 두자. 왜냐면 /MyWeb01 도 삭제해서 테스트 해 보려고 하는게 있기 때문이다. 다음은 MyWeb01 를 test99처럼 톰캣관리화면에서 삭제. 탐색기로 D:tomcat_webapps의 아래를 살펴보니 어? MyWeb01 이라는 폴더가 그대로 있다. 그리고 %TOMCAT_HOME%confCatalinalocalhost 밑을 보니 좀 전에 만들어 뒀던 MyWeb01.xml이 없어졌다. 그리고 브라우저에서 http://localhost:8080/MyWeb01 을 해봐도 열리지 않는다. 그럼 , 임시 폴더에 넣어뒀던 MyWeb01.xml을 다시 %TOMCAT_HOME%confCatalinalocalhost 에 넣어주고 잠시있다가 http://localhost:8080/MyWeb01 를 열어보면 열린다. 난 이 기능이 참 재미있는 기능이라고 생각한다. 이제 톰캣에 웹어플리케이션 만드는 건 끝났다. 그리고 JSP 파일도 하나 보는 것 까지 됐다. 첫 JSP 파일 보이게 하기 위의 index.jsp 파일이 그냥 보이는 것은 톰캣의 환경에서 웹어플리케이션이 열리면 우선 기본으로 index.jsp 를 찾아서 있으면 열라고 해 뒀기 때문이다. 확인해 보자. %TOMCAT_HOME%confweb.xml 을 열어보자 거의 마지막 부분에 아래와 같은 내용이 정의되어 있다. <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> 순서대로 처음에 index.html 이 있으면 그걸 연다. index.html 없으면 index.htm 이 있으면 그걸 연다. index.htm 이 없으면 index.jsp를 연다. 이것마저 없으면 HTTP Status 404 - /MyWeb01/type Status report message /MyWeb01/ description The requested resource (/MyWeb01/) is not available. Apache Tomcat/5.5.17이런 화면이 나온다.PostgreSql에 접속해서 데이타 넣기 이젠 웹어플리케이션도 준비됐고 첫 화면으로 쓸 index.jsp도 준비가 됐다. 이제부터 간단한 데이타베이스 관련 프로그램을 짜 보기로 한다. 참고로 여기서는 자세한 프로그래밍 설명은 하지 않는다. 그런건 책 한두권 사서 열심히 테스트해서 익히는게 제일 좋다. 사실은, 여기에 그런 어려운 내용을 올릴 여건이나 실력이 안된다는 것이 맞다. 또 이상한데로 빠질려고 한다. 빨리 시작하자. PostgreSql로 데이타베이스 관련 프로그램을 짤 때 우선 준비해 둘 것이 있는데 /MyWeb01 밑에 WEB-INF 라는 폴더를 만들고 그 밑에 lib 라는 폴더를 만들어서 그 안에 PostgreSql의 JDBC 드라이버를 넣어둔다. PostgreSql의 JDBC 드라이버는 지금 환경에서 PostgreSql 설치폴더8.1jdbc 안에 들어있다. 파일이 3개 있는데 postgresql-8.1-405.jdbc2.jar postgresql-8.1-405.jdbc2ee.jar postgresql-8.1-405.jdbc3.jar 이 중에 postgresql-8.1-405.jdbc3.jar 를 /MyWeb01/WEB-INF/lib 에 복사해 넣는다. 톰캣이 인식하는 어플리케이션에서는 WEB-INF 밑의 lib와 classes(아직 생성하지 않았다.) 는 자동으로 인식해서 필요한 클래스 파일들을 이 폴더들에서 우선 찾아서 이용한다. 다음은 PostgreSql에 테스트할 데이타베이스와 테이블을 만든다. 데이타베이스명은 MyDB01이고 테이블은 tbl01로 만든다. 데이타베이스 만들고 테이블 만드는 법은 내 메모로그를 참조한다. 여기(PostgreSql 설치기) 혹시 데이타베이스를 다룰줄 안다면 아래 SQL을 응용해서 생성. CREATE TABLE tbl01 ( uid int4 NOT NULL, fname text, telno1 text, CONSTRAINT "tbl01_PK" PRIMARY KEY (uid) ) 이 제 다 되었다. 멋있게 JSP 프로그램 하나 짜보자. PostgreSql에 있는 데이타 꺼내보기 /MyWeb01 밑에 data_list.jsp 라는 파일명으로 하나 만들고 아래 내용을 넣고 저장한다. Filename : data_list.jsp <%@ page contentType="text/html; charset=euc-kr" %> <%@ page import="java.sql.*"%> <html> <head> <title>DATA LIST</title> </head> <body> <% Class.forName("org.postgresql.Driver"); String strConn="jdbc:postgresql://localhost/MyDB01" +"?user=postgres&password=postgres"; Connection conn = DriverManager.getConnection(strConn); Statement stmt = conn.createStatement(); String strSql = "Select * From tbl01 Order By uid"; ResultSet rs = stmt.executeQuery(strSql); %> <table border="5"> <tr> <td align="center">ID</td> <td align="center">이름</td> <td align="center">전화번호</td> </tr> <% while(rs.next()){ int intUid = rs.getInt("uid"); String strFname = rs.getString("fname"); String strTelno1 = rs.getString("telno1"); %> <tr> <td><%=intUid%></td> <td><%=strFname%></td> <td><%=strTelno1%></td> </tr> <% } conn.close(); %> </table> </body> </html> 브라우저에서 http://localhost:8080/MyWeb01/data_list.jsp 를 입력하면
이렇게 타이틀만 나올것이다. 혹은
혹시 나의 메모로그 PostgreSql을 보고 이어서 온 사람은 이렇게 화면에 나올 것이다. 어쨋든 위의 화면이 나오면 이상은 없는 것이다. PostgreSql에 접속해서 데이타 넣기 다음은 데이타를 집어 넣는 걸 해보자. 일단은 데이타 입력을 받을 html 파일을 만든다. file name : data_ins01.html <html> <head><title>DATA INS</title> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> </head> <script language="javascript"> function chk01(){ if(!document.frm1.uid.value){ alert("ID를 넣으세요."); document.frm1.uid.focus(); return false; } if(!document.frm1.fname.value){ alert("이름을 넣으세요."); document.frm1.fname.focus(); return false; } if(!document.frm1.telno1.value){ alert("전화번호를 넣으세요."); document.frm1.telno1.focus(); return false; } } </script> <body> <br><br> <center> <form name="frm1" method="POST" action="data_ins02.jsp" omSubmit="return chk01();"> <table border="5"> <tr> <td align="center">ID</td> <td><input type="text" name="uid" size="6" maxlength="4"></td> </tr> <tr> <td align="center">이름</td> <td><input type="text" name="fname" size="20" maxlength="20"></td> </tr> <tr> <td align="center">전화번호</td> <td><input type="text" name="telno1" size="20" maxlength="20"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="저장"></td> </tr> </table> </form> </center> </body> </html> 다음은 data_ins01.html 로부터 데이타를 받아 데이타베이스에 넣는 파일인 data_ins02.jsp 이다. filename : data_ins32.jsp <%@ page contentType="text/html; charset=euc-kr" %> <%@ page import="java.sql.*"%> <% Class.forName("org.postgresql.Driver"); String strConn="jdbc:postgresql://localhost/MyDB01" +"?user=postgres&password=postgres"; Connection conn = DriverManager.getConnection(strConn); Statement stmt = conn.createStatement(); request.setCharacterEncoding("euc-kr"); String strUid = request.getParameter("uid"); String strFname = request.getParameter("fname"); String strTelno1 = request.getParameter("telno1"); String strSql="Insert Into tbl01(uid, fname, telno1) " +"Values (" + strUid + ",'" + strFname + "','" + strTelno1 + "')"; stmt.executeUpdate(strSql); conn.close(); %> <html> <head> <title>DATA INS02</title> </head> <body> <br><br><br><br> <center> 데이타를 저장했습니다.<br> <br><br> <a href="data_list.jsp">목록보기</a> <center> </body> </html> 이제 실행시켜보자 http://localhost:8080/MyWeb01/data_ins01.html 데이타를 입력해서 리스트까지 잘 나오면 이로서 데이타베이스까지 사용한 웹어플리케이션을 하나 만든 것이다. 물론, 이걸 실제로 어디다가 쓸 수 있는 것은 절대 아니지만 기초적인 웹어플리케이션 제작 흐름을 볼 수 있었다. - 끝 -
| ||||||||||||||