본문 바로가기

[Servlet] 서블릿 리스너 리스너는 특정 상황을 모니터링 하다가 해당 상황이 발생하면 동작하는 일종의 서블릿.웹 애플리케이션 시작 및 운영 종료 과정에서 발생하는 일련의 과정에서 특정 상황에 필요한 작업을 처리하기 위해 사용 한다. 다음은 ServletContextListener의 예 이 리스너의 동작은context가 초기화 될 때 그 동작을 캐치 -> 리스너에서 특정 작업을 처리 -> 이후 본래 요청대로형태로 진행된다. ListenerTest.java public class ListenerTest implements ServletContextListener{ public ListenerTest() { } public void contextInitialized(ServletContextEvent arg0) { ServletCont.. 더보기
[JSP] 표현언어(EL)의 내장객체와 그 예 표현언어 내장객체 내장객체 설명 pageScope 모든 page 영역 객체들에 대한 컬렉션 requestScope 모든 request 영역 객체들에 대한 컬렉션 sessionScope 모든 session 영역 객체들에 대한 컬렉션 applicationScope 모든 app 영역 객체들에 대한 컬렉션 param 모든 request 파라미터를 문자열로 가진 컬렉션 paramValues 모든 request 파라미터들을 파라미터당 문자열 배열로 가진 컬렉션 header HTTP 요청 헤더를 문자열로 가진 컬렉션 headerValues http 요청 헤더들을 헤더당 문자열 배열로 가진 컬렉션 cookie 모든 쿠키의 컬렉션 initParam 모든 어플리케이션의 초기화 파라미터의 이름 컬렉션 pageContext .. 더보기
[JSP] Config 객체 와 Exception 객체 Config JSP페이지가 컨테이너에 의해 컴파일되어 서블릿 클래스가 될 때 서블릿의 구성데이터로 초기값과 변수를 저장하는 객체 메소드 설 명 getInitParameterNames() 변수의 이름을 리턴 getInitParameter(name) 변수의 이름을 넣을 경우에는 값을 리턴 Exception 프로그램에서 예외상황이 발생했을 때 이를 처리하는 객체 exception객체를 다루려면 page지시자의 isErrorPage 속성을 true로 해놓아야 합니다. 메소드 설 명 GetMessage() 에러 메세지를 리턴합 ToString() 에러메세지를 String형으로 리턴 PrintStackTrace(out) 에러발생시 출력스트림을 통하여 출력 더보기
[JSP] Application 객체 Application 웹서버의 애플리케이션이 실행되는 실행환경에 대한 정보를 처리하는 객체 메소드 설 명 getServerInfo() 컨테이너의 이름과 버전을 리턴 getMajorVersion() 컨테이너의 주버전을 리턴 getMinorVersion() 컨테이너의 부버전을 리턴 getContext(path) Path에 대한 외부환경 정보를 리턴 getRealPath(path) path에 대한 절대경로를 리턴 getResource(path) path에 지정된 URL을 액세스 객체로 바꿈 getResourceAsStream(path) path에 URL을 읽을 수 있는 입력 스트림으로 바꿈 GetMimeType(filename) filename에 해당하는 파일의 MIME타입을 리턴 log(msg) msg를 로.. 더보기
[JSP] Out 객체 Out 클라이언트에게 응답하기 위한 output 스트림을 처리하는 객체 메소드 설 명 print() 내용이 줄바꿈 없이 이어서 출력 println() 내용이 줄단위로 출력 getBufferSize() 출력버퍼의 크기를 Byte로 리턴 getRemaining() 출력버퍼의 빈부분 크기를 Byte로 리턴 clearBuffer() 출력 버퍼를 비움 clear() 출력 버퍼를 비움 (만약 먼저 flush되어 있으면 에러를 발생합니다.) flush() 출력버퍼를 flush close() 출력스트림을 닫는다. 더보기
[JSP] PageContext 객체 PageContext JSP 실행에 대한 context 정보를 담고 있는 객체 메소드 설 명 getException() exception 객체를 리턴 getOut() out 내부객체를 리턴 getsession() session 내부객체를 리턴 getServletConfig() config 내부객체를 리턴 getServletContext() application 객체를 리턴 getPage() page 내부객체를 리턴 getRequest() request 내부객체를 리턴 getReponse() reponse 내부객체를 리턴 forward(path) 다른 path에 해당하는 URL로 전달 include(path) 다른 path의 페이지를 현재 페이지에 포함 setAttribute(key,value,scope).. 더보기
[JSP] Session 객체 Session 사용자 개개인의 정보를 처리하는 객체 메소드 설 명 getId() session의 ID를 리턴 getCreationTime() session이 생성된 시간을 long형으로 리턴 getLastAccessedTime() session이 마지막으로 액세스된 시간을 리턴 getMaxInactiveInterval() session이 유지되는 최대시간을 초단위로 리턴 getMaxInactiveInterval(time) session이 유지되는 최대시간을 초단위로 설정 isNew() session 값이 없으면 true를 리턴 invalidate() session 객체를 소멸 session에 저장되어 있던 정보는 모두 삭제된다. getAttribute(name) 세션변수(name)에 설정된 값을 리턴 s.. 더보기
[JSP] Reponse 객체 Response 서버가 클라이언트에게 처리결과를 응답하는 객체. 메소드 설 명 setContentType() 응답되는 컨텐츠의 MIME타입을 설정 setCharacterEncodeing() 응답되는 컨텐츠의 문자 인코딩 스타일을 리턴 AddCookie(cookie) 쿠키를 추가합니다. AddHeader(name,value) 해당이름의 헤더에 값(String)을 추가 AddIntHeader(name,value) 해당이름의 헤더에 값(int)을 추가 AddDateHeader(name,date) 해당이름의 헤더에 날자값을 추가 ContainsHeader(name) 해당이름의 헤더가 포함 되어 있는지 체크 SetHeader(name,value) 해당이름의 헤더에 값(String)을 넣기 SetIntHeader(.. 더보기
[JSP] Request 객체 Request 클라이언트로부터의 요청을 처리하는 객체 메소드 설 명 getParameterName() 모든 요청 매개변수의 이름을 리턴 getParameter(name) name에 해당하는 매개변수의 값을 리턴 getParameterValues(name) name에 해당하는 매개변수의 모든 값을 리턴 getHeaderNames() 요청에 대한 헤더의 이름을 리턴 getHeader(name) name에 대한 헤더 값을 String형으로 리턴 getHeaders(name) name에 대한 모든 헤더 값을 리턴 getIntHeader(name) name에 대한 헤더 값을 int형으로 리턴 getDateHeader(name) name에 대한 헤더의 날짜 값을 리턴 getCookies() 요청에 대한 모든 쿠키를.. 더보기
[JSP & Servlet] 기본적으로 알아 두어야 할 것들 인터페이스 하나의 시스템을 구성하는 2개의 구성요소(하드웨어,소프트웨어) 또는 2개의 시스템이 상호작용할 수 있도록 접속되는 경계(boundary), 또는 이 경계에서 상호 접속하기 위한 하드웨어, 소프트웨어, 조건, 규약등을 포괄적으로 가리키는 말. 웹 어플리케이션 구성요소 웹 브라우저 – 웹 서버 – 웹 어플리케이션 서버(WAS) – 데이터베이스 웹 동작 방식 CGI 방식 – 웹 서버가 하나의 요청당 하나의 프로세스. 시스템 과부하 웹 어플 방식 – 웹 서버가 웹 어플리케이션 서버에 넘기고 한 개의 프로세스만 할당, 여러 스레드를 사용(멀티 쓰레딩) JSP는 내부적으로 서블릿으로 동작. 처음 실행시 서블릿으로 변환됨 서블릿 요청 및 응답 과정 1. 클라이언트에서 서비스 요청 2. 객체 생성 유무 체크.. 더보기
[javascript] 자바스크립트 문자열 함수 String Method 자바스크립트의 문자열 함수들 정리.HTML 래퍼 메소드는 제외했다. String.fromCharCode(65,66,67)은 "ABC"를 보여준다. 지정하는 인자는 여러개 지정할 수 있다. indexOf() 문자열에서 특정 문자가 있는 위치를 반환한다. 괄호 속에 넣어줄 수 있는 인자는 2개가 있고 첫째것은 찾을 문자, 두번째 것은 찾기 시작할 위치이다. 두번째 인자는 지정하지 않을 수 있고 이 경우 문자열의 첫번째 문자부터 찾기 시작한다. ex>"abcdf".indexOf("c")은 2를 반환한다. 만약, 찾을 문자가 없다면 정수 -1을 반환한다. lastIndexOf() indexOf()와 같은 동작을 한다. 유일한 차이점은 이것은 문자열의 오른쪽에서 부터 왼쪽으로 찾는다. ex>"abcdcdef".l.. 더보기
내가느낀 프로그램의 코드가 망가지는 경우. 이유야 굉장히 여러가지가 있겠지만... 전체적인 코드 디자인도 좋고, 잘짠 코드마져 망가지는 경우는 PM의 능력부족이 가장 크지 않을까 생각한다.하나의 프로젝트가 종료되어 개발이 다 끝난 다음에 나오는 클라이언트의 무분별한 추가 요구사항을 PM이 제대로 조율하지 못하고 그대로 가져와서 개발자에게 '이거 어서 개발해. 무조건 빨리!' 라는 형태로 개발을 시키게 되면 이제 코드의 망가짐이 시작된다. 시스템적으로 변경할 부분이 적은 자잘한 요구수준 이라면야 딱히 코드가 망가질일이 없지만...과연 클라이언트가 그런 요구만 하겠는가.코드를 잔뜩 뜯어고쳐야만 되는 요구도 나오고, 아예 기획 의도가 변경되는게 아닌가 싶은 요구도 나오고 한다. 그걸 PM이 조유율하지 못하고 그대로 가져와서 개발자에게 시키니... 코드.. 더보기
[javascript] (ref)window 객체의 속성, 메소드, 이벤트 Window 속성(Property) 속성 설명 status 브라우저의 상태표시줄에 표시할 문자열 defaultStatus 상태표시줄에 기본적으로 표시할 문자열 self window객체, 자기 자신 parent window안 프레임의 부모 프레임 top 프레임이 설정되기 이전의 창 frames window객체에 있는 프레임들 opener open() 메소드로 ‘열린’ 윈도우에서 ‘연’ 창을 참조 locationbar 윈도우의 location bar를 나타낼지의 여부 menubar 윈도우의 menu를 표시할 지의 여부 personalbar 윈도우의 personal bar를 표시할 지의 여부 scrollbars 윈도우의 scroll bar를 표시할 지의 여부 statusbar 윈도우의 status bar를 표.. 더보기
[Delphi] 폼 생성시, 중복 폼을 방지하기. procedure TForm1.btnNewClick(Sender: TObject); var NewForm: TForm2; begin if nil = FindCreateForm('TForm2') then //띄워져있는 폼을 검사, nil이 아닐경우 해당폼이 이미 있음 begin //해당 폼이 없을 경우 밑의 소스 실행 Application.CreateForm(TForm2, NewForm); NewForm.Show; end; end; //특정 Form의 이름을 받아 그 Form이 실행되는지를 검사 function TFormFlowAnalysis.FindCreateForm(const AClassName: string): TForm; var i: Integer; begin Result:= nil; for i:=.. 더보기
[Delphi] 레스트리에 값(키 아님) 읽고, 쓰고, 지우기 //레지스트리 값 읽기 function TFormMain.GetSetting(AKey, AGroup: String): String; var Registry: TRegistry; begin Result := ''; if AGroup = '' then AGroup := 'Settings'; Registry := TRegistry.Create(KEY_READ); try Registry.RootKey := HKEY_CURRENT_USER; Registry.OpenKey('Software\MyProgram\' + AGroup, True); Result := Registry.ReadString(AKey); Registry.CloseKey; finally Registry.Free; end; end; //레지스트리에 .. 더보기