▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

간단한 html 출력 class 만들기

기타 조회 수 7524 추천 수 0 2003.11.03 23:36:37
뭉충닷컴 *.118.82.167
몇일만에 공부해본다. -_-; 가뜩이나 머리 나쁜데 몇일만에 공부하려니 한참을 헤맸다. -_-; 지금와서 보니 아주 간단한건데 거의 3시간 동안 헤맸다. 단순히 책에 있는 예제를 조금 내 방식대로 바꿔본것 뿐인데 이리 헤매다니 -_-; 내머리 똥찬것 확실하다.

아무튼 헛소리 그만하고 오늘 한것에 대해서 설명하자면 html 을 간단하게 출력하는 클래스를 만들었다.

그냥 단순히 out.print or out.println을 사용해서 할것이지 왜 html 출력 class를 만들었냐고 하면 직접 개발에 뛰어보면 알게 된다. -_-; html 페이지를 제작하다 보면 중복되는 부분이 상당히 많다 예를 들면 <html><body> </body></html>...등등 이런 부분은 페이지에서 빠질수 없다(물론 안적어도 되지만 적어두면 폼난다 -_-;) 그래서 일일이 똑같은 것을 반복해서 적기 상당히 귀찮다. -_-

이러한 귀찮은 부분을 없애고자 html 출력 class를 만든것이다. 현재는 간단하게 만들었는데 일단 sample 용이라서 그렇다 이것을 기본으로 해서 확장해서 사용하면 귀찮은 부분들을 상당히 줄일수 있게된다. -_-

참고로 하는 말인데 개발자는 상당히 귀찮음이 많아야 할것 같다. -_-; 너무 부지런해서 귀찮은 부분들 일일이 다 코딩하면 쌩노가다 하는거다 -_-; 차라리 귀찮음을 느껴서 좀 더 쉽게 하면 어떨가 하는게 진정한 개발자(?) 의 모습같다 -_-;;;; (또 헛소리 하는군 -_-; )

소스 설명은 언제나 마찬가지로 없다. -_- 알아서 해결해라 내가 설명하는 부분은 내가 열라 애먹은 부분만 설명할꺼다. -_-



패키지를 만들어서 사용하는것을 처음해 봤는데 한참을 헤맸다. -_-; 알고나면 아무것도 아닌것을 진짜 한참 헤맸다 여기저기 글 보고서야 해결했다 -_-;(거 별것 아니더구만 -_-;)

일단 package를 처음 써본사람들은 잘 따라하길 바란다. -_-; 헷갈리지 말고 -_-;

1. WEB-INFclasses 밑에 common 이란 폴더를 만든다.
2. printHTML.java 파일을 common 폴더밑에 둔 후 컴파일 한다.
3. 톰캣을 중지한다.
4. 1번의 위치를 환경변수 셋팅해 준다. (나의 경우는 setClass.bat 파일을 열어서 다음 구문을 추가하였다. set classpath=%CLASSPATH%;C:jakarta-tomcat-3.3-m4webappsnetjvWEB-INFclasses) 이부분 안해줘서 애먹었다!!
5. 톰캣을 시작한다.
6. TESTprintHTML.java 파일을 WEB-INFclasses 에 둔 후 컴파일 한다.
7. 웹에서 실행!


printHTML.java

package common;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class printHTML {
        
        protected PrintWriter out = null;
        protected String szHtmlHead[] = {
                "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">",
                "<HTML>",
                "<HEAD>",
                "<META http-equiv="Content-Type" content="text/html; charset=KS_C_5601-1987">",
                "<TITLE>",
                "",
                "</TITLE>",
                "</HEAD>",
                "<BODY>"
        };
        
        public void outHeader(String szTitle, HttpServletResponse res, PrintWriter pOut)
        throws IOException, ServletException {        
                out = pOut;
                res.setContentType("text/html; charset=KS_C_5601-1987");
                szHtmlHead[5] = szTitle;
                outBody(szHtmlHead);
        }
        
        public void outBottom()
        throws IOException {
                out.println("</BODY>n</HTML>");
        }
        
        public void outBody(String[] arrHtmlHead)
        throws IOException {
                for(int z = 0; z < arrHtmlHead.length; z++) {
                        out.println(arrHtmlHead[z]);
                }
        }
}


TESTprintHTML.java

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import common.*;

public class TESTprintHTML extends HttpServlet {
        
        public void doGet(HttpServletRequest req, HttpServletResponse res)
        throws IOException, ServletException {
                String szBodyMsg[] = {
                        "<hr>",
                        "<center>outBody에서 뿌려지는 Body부분 입니다</center>",
                        "<hr>",
                };
                
                printHTML pHTML = new printHTML();
                PrintWriter out = res.getWriter();
                pHTML.outHeader("HTML 클래스 테스트",res,out);
                pHTML.outBody(szBodyMsg);
                pHTML.outBottom();
        }
}




아끙 힘들어라 -_-;  이것 하면서 에러가 package printHTML does not exist 이란 메시지 뜨면 4번의 환경변수 셋팅이 잘못된것이다. 그 부분 잘 살펴가면서 해라 -_-

그리고 이것 웹에서 실행 시킨 후 소스보면 알겠지만 헤더나 메타태그등 기본적인 요소가 단 2줄의 코드(pHTML.outHeader("HTML 클래스 테스트",res,out);, pHTML.outBottom();)에 의해서 뿌려진다. 만약 이렇게 package로 만들어 두지 않았다면 페이지 마다 그 소스보기 할때 나와있던 기본적인 구문들을 일일이 적어야 한다. -_-;

배고파 죽것다. 아침에 8시쯤 일어나서 지금이 10시 50분쯤 되가니 거의 3시간동안 이짓하고 있었다. -_-;; 밥먹으로 가야것다 휘리릭~                
문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 기타 공부하는 곳 -_-; [2] 뭉충닷컴 2002-09-22 10673
31 기타 SoftICE 4.05 설치 & 간단한 사용법 뭉충닷컴 2004-03-12 9158
30 기타 [C++ Study] Timer 사용 [3] 뭉충닷컴 2004-06-29 8979
29 웹사이트 최적화 기법 file [1] 뭉충닷컴 2009-08-10 8966
28 기타 아파치 튜닝 [1] 뭉충닷컴 2009-08-03 8830
27 기타 [C++ Study] WinMain와 WinProc 뭉충닷컴 2004-06-28 8768
26 기타 어셈 강좌 1, 2장 정리 뭉충닷컴 2004-03-12 7739
» 기타 간단한 html 출력 class 만들기 뭉충닷컴 2003-11-03 7524
24 기타 [C++ Study] Click Count, Toggle, Move String 뭉충닷컴 2004-06-29 7399
23 Intercepting Filter 패턴 뭉충닷컴 2009-06-17 7091
22 기타 1. abex3 크랙 설명서 뭉충닷컴 2004-03-12 7080
21 기타 Parameter 을 asp 처럼 사용하게 만든 class 뭉충닷컴 2003-11-03 6722
20 기타 3. 연산자와 지정 뭉충닷컴 2003-11-03 6651
19 Core J2EE Pattern file 뭉충닷컴 2009-06-16 6563
18 기타 5. Overloading, Overriding, Runtime Type and 객체지향 뭉충닷컴 2003-12-02 6522
17 기타 C# Pattern - Simple Pattern 뭉충닷컴 2004-03-17 6252
16 기타 자바, 톰캣을 위해 만든 배치파일 뭉충닷컴 2003-11-03 6138
15 기타 4. Flow 통제와 예외 처리(Exception Handling) 뭉충닷컴 2003-11-05 6036
14 기타 2. 선언과 엑서스 제어 뭉충닷컴 2003-11-03 5936
13 기타 1. 자바언어의 기본 뭉충닷컴 2003-11-03 5831