9월, 2010의 게시물 표시

jsp 안전한 웹 애플리케이션

인증메커니즘 BASIC : 웹 브라우저는 인증창을 통해 사용자명과 비밀번호를 요구하며, 웹 서버에 데이터를 전송한다. DIGEST : 웹 브라우저는 인증창을 통해 사용자명과 비밀번호를 요구하며, 웹서버에 다이제스트 데이터를 전송한다. FROM : 웹 애플리케이션은 브라우저에게 보낸 인증 페이지와 에러 페이지를 제공한다. CLIENT-CERT : 웹 컨테이너는 사용자를 확인하기 위해 SSL을 이용한다. 사용자는 반드시 SSL 인증서를 가지고 있어야 한다.

jsp 서블릿, jsp 라이프사이클

서블릿 1단계: 웹 브라우저의 주소란에 URL을 입력하고 HTTP 요청을 한다. 2단계: 웹 서버는 호출된 서블릿의 정보를 받아서 서블릿이 메모리에 로드되었는지 여부를 확인한다. 3단계: 메모리에 로드되지 않으면, 클래스로더에 의해 서블릿을 메모리에 로드한다. 서블릿 메모리에 이미 로드되어 있으면 6단계로 넘어간다. 4단계: 서블릿 인스턴스를 생성한다. 5단계: init메소드를 호출한다. 6단계: 요청을 처리하기 위한 스레드를 생성후 service메소드를 호출한다. 7,8단계: 스레드로부터 요청에 대한 처리결과를 받아서 웹 브라우저에 HTTP응답을 한다. destroy 메소드는 서블릿 컨테이너에 의해 인스턴스가 소멸전에 호출된다. JSP 1단계: 페이지 번역 2단계: JSP 컴파일 3단계: 클래스로드 4단계: jspInit 메소드 호출 5단계: _jspService 메소드 호출 7단계: jspDestroy 메소드 호출

jsp javamail

Message class abstract String getSubject() - 메일 제목을 리턴한다. Address[] getAllRecipients() - 메일의 모든 수신자 주소를 리턴한다. Folder getFolder() - 메일이 포함된 폴더 객체를 리턴한다. abstract void setSubject(String subject) - 메일 제목을 설정한다. void setFlag(Flags.Flag flag, boolean set) - 메일의 플래그를 설정한다. abstract void setFlages(Flags flag, boolean set) - 메일의 플래그를 설정한다. MimeMessage class MimeMessage(Session session) - 디폴트 MimeMessage 객체를 생성한다. MimeMessage(Session session, InputStream is) - InputStream으로부터 데이터를 읽고, 파싱해서 MimeMessage 객체를 생성한다. void setCountent(Object data, String tyep) - type으로 기술되는 MIME타입의 데이터 Data를 메일의 내용으로 설정한다. void setText(String text) - MIME 타입이 text/plain인 메일 데이터 text를 설정한다. void setText(String text, String charset) - MIME타입이 text/plain이고 문자 세트가 charset인 메일 데이터 text를 설정한다. void setFrom(Address address) - RFC 822의 From 헤더 필드를 설정한다. void setRecipients(Message.RecipientType type, Address[] address) - 메일을 받는 사람의 주소를 설정한다. void setReplyTo(Address[] addresses) - RFC 822의 Reply-To 헤더 필드를 설정한다. void setSentData

jsp tomcat 설정파일 분석

WEB-INF 분석 /WEB-INF/web.xml - 디플로이먼트 디스크립터라고 불리는 파일이다. 이 파일은 자식이 속한 웹 응용프로그램의 구성에 관련된 정보를 가지고 있다. 이 파일은 DTD를 가지고 있으며, DTD에는 50여개의 태그들이 정의되어 있다. /WEB-INF/classes/* - 서블릿과 유틸리티 클래스들이 있는 디렉토리이다. 이 디렉토리에 있는 클래스들은 응용프로그램의 클래스 로더에 의해 메모리로 로드된다. /WEB-INF/lib/*.jar - 서블릿, 빈, 유틸리티 클래스들을 포함하는 JAR 파일들이 포함되어 있고, 이 파일들은 웹 응용프로그램 클래스 로드에 의해 로드된다. server.xml 파일 - 톰캣의 구조와 톰캣 컴포넌트의 초기 구성 정보를 제공하는 역할을 하는 메인 구성 파일이다. server.xml은 XML 파일이기 때문에 XML 파일의 포맷과 문법을 따른다. Server - server.xml 파일의 최상위의 원소로서 톰캣 서버를 정의한다. Server원소는 Logger와 ContextManager 원소를 포함할 수 있다. Logger - 이 원소는 로거 객체를 정의한다. 각 로거 객체는 이름, 로거 객체의 출력물을 저장할 로그 파일, 로그 레벨을 정의하는 verbosityLevel 속성을 가지고 있다. 현재 서블릿을 위한 로거 객체, jsp 파일을 위한 로거 객체, 톰캣 실행 환경을 위한 로거 객체가 있다. 서블릿의 ServletContext의 log() 메소드의 결과물이 저장되는 로그 파일을 기술한다. ContextManager - 구성과 ContextInterceptor, requestInterceptor, Context, Connector의 구조를 정의한다. 디버깅 레벨, webapps, conf, logs의 기본 디렉토리, working 디렉토리 이름 ContextInterceptor - 톰캣의 시작 및 종료 이벤트를 감시한다. RequestInterceptor - 톰캣이 서비스하는 동안에 다양한 사용자의 요청 단계를

java URLConnetion

void connect() - URL로 기술된 리소스에 연결을 설정한다. boolean getAllowUserInteraction() - 사용자 인터랙션이 허용되는지 알아본다. String getContentEncoding() - 헤더에 포함되어 있는 인코딩 필드의 값을 알아본다. int getContentLength() - 헤더의 content_length 필드 값을 알아보낟. String getContentType() - MIME 타입을 알아본다. long getDate() - 헤더의 data 필드 값을 알아본다. InputStream getInputStream() - 커넥션에서 데이터를 읽기 위한 입렭스트림을 얻는다. long getLastModified() - 헤더의 last-modified 필드 값을 얻어온다. OutputStream getOutputStream() - 커넥션에 데이터를 전달하기 위한 출력 스트림을 얻는다. URL getURL() - URLConnenction의 URL을 얻어온다. boolean getUseCaches() - useCaches 필드 값을 얻어온다. static String guessContenttypeFromStream(InputStream is) - 입력 스트림을 이용해서 MIME 타입을 알아본다. static void setDefaltAllowUserInteraction(boolean defaultallowuserinteraction) - 사용자 인터랙션을 허용할 것인지 여부의 디폴트 값을 설정한다. static void setDefaultRequestProperty(String key, String value) - 일반 요청 속성의 디폴트 값을 설정한다. void setDefaultUseChches(boolean defaultusecaches) - 디폴트로 캐쉬를 사용할 것인지 여부를 설정한다. void setDoInput(boolean doinput) - 원격 객체에서 데이터를 읽어올 것인지 여부를 설정한다. v

java File

File File(File parent, String child) - parent 디렉토리의 child라는 파일의 File객체를 생성한다. File(String parent, String child) - parent 디렉토리 패스와 child라는 파일의 File 객체를 생성한다. File(String pathname) - pathname에 해당되는 파일의 File 객체를 생성한다. boolean canRead() - 파일을 읽을 수 있는지 여부를 리턴한다. boolean canWrite() - 파일을 기록할 수 있는지 여부를 리턴한다. boolean createNewFile() - 주어진 파일이 없으면 자동적으로 빈 파일을 생성한다. boolean delete() - 파일이나 디렉토리를 삭제한다. void deleteOnExit() - 자바 가상 머신이 끝날 때 파일을 삭제한다. boolean exists() - 파일이 존재하는지 알아본다. File getAbsoluteFile() - 파일의 절대 패스를 알아본다. String getName() - 파일이나 디렉토리 이름을 리턴한다. String getParent() - 부모 디렉토리를 리턴하다. File getParentFile() - 부모 디렉토리를 File 형태로 리턴한다. String getPath() - 패스를 문자열 형태로 리턴한다. boolean isDirectory() - 디렉토리인지 여부를 리턴한다. boolean isFile() - 파일인지 여부를 리턴한다. boolean isHidden() - 숨겨진 파일인지 여부를 리턴한다. long length() - 파일 크기를 리턴한다. Stringp[] list() - 디렉토리인 경우 포함되어 있는 파일과 디렉토리 이름을 배열 형태로 리턴한다. File[] listFiles() - 디렉토리인 경우 포함되어 있는 파일과 디렉토리를 File배열 형태로 리턴한다. boolean mkdir() - 디렉토리를 만든다. boolean renameTo(File