글

라벨이 JSP인 게시물 표시

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 - 톰캣이 서비스하는 동안에 다양한 사용자의 요청 단계를 ...

jsp JSTL

주의사항 1. 태그 이름과 문법 TLD에는 속성이 필수인지 옵션 사항인지, 태크가 몸체를 가질 수 있는지, 가진다면 그 안에 들어갈 수 있는 하위 태그는 무었이 있는지, 태그 안에 들어가는 속성 타입은 어떻게 되는지, 속성에 표현식을 쓸 수 있는지 아니면 그냥 문자열만 써야 하는지 등   2. 라이브러리 URI taglib지시자에 바로 이 URI값을 사용합니다. 컨테이너는 이 값으로 웹 어플리케이션에 있는 여러 TLD파일 가운데서 정확한 것으로 찾아갑니다.   TLD <tlib-version></tlib-version> 태그 라이프러리 버전을 선언하는 곳 <short-name></short-name> <function> <name></name> <function-class></function-class> <function-signature></function-signature> </function> <uri></uri> taglib지시자에서 사용할 자신을 나타내는 유일한 이름   <tag> <description></description> <name></name> 태그안에 쓸 이름 <tag-class></tag-class> jsp에서 태그를 사용한 경우 컨테이너가 호출할 클래스 <body-content></body-content> 태그의 몸체 empty : 몸체 없음, scriptless :스크립팅은 올 수 없음, tagdependent : 문자를 무조건 텍스트로 취급, JSP : jsp 안에 들어 갈 수 있ㄴ은 것이라면 무엇이든지 가능. <attribute> 태그의 속성이 있다면 속성을 정의 하는 곳 ...

jsp HttpServletResponse

void addCookie(Cookie cookie) - 응답에 쿠키를 추가한다. boolean containsHeader(String name) - 응답 헤더에 주어진 필드가 포함되었는지 여부를 알려준다. void sendError(int sc) - 클라이언트에 상태 코드와 디폴트 메시지를 전송한다. void sendError(int sc, String msg) - 클라이언트에 상태 코드와 메시지를 전송한다. String encodeRedirectURL(String url) - URL을 인코딩해준다. void setHeader(String name, String value) - 응답 헤더에 필드와 값을 추가한다. void setIntHeader(String name, int value) - 헤더 필드에 주어진 이름과 정수 값을 설정한다. void setStatus(int sc) - 응답에 상태 코드를 설정한다.

jsp ServletResponse

void flushBuffer() - 버퍼에 있는 내용을 클라이언트에 전송한다. int getBufferSize() - 응답에 사용되는 버퍼의 크기를 알아본다. String getCharacterEncoding() - 응답에 사용된 문자 세트의 인코딩을 리턴한다. Locale getLocale() - 응답에 사용된 로케일을 리턴한다. ServletOutputStream getOutputStream() - 응답에 바이너리 데이터를 전송하기 위해 출력 스트림을 얻는다. PrintWriter getWriter() - 응답에 문자 데이터를 전송하기 위해 PrintWriter를 얻는다. boolean isCommitted() - 응답이 committed되었는지 여부를 리턴한다. void reset() - 버퍼에 있는 데이터를 지운다. void setBufferSize(int size) - 버퍼 크기를 size로 지정한다. void setContentLength(int len) - 클라이언트로 전달되는 내용의 크기를 len으로 설정한다. void setContentType(String type) - 클라이언트로 전달되는 내용의 MIME타입을 설정한다. void setLocale(Locale loc) - 로케일을 설정한다.

jsp HttpServletRequest

String getAuthType() - 서버가 사용하는 인증 이름을 리턴한다. Cookie[] getCookies() - 브라우저가 요청과 전달한 쿠키들을 얻어온다. String getHeader(String name) - 주어진 이름의 요청 헤더 값을 얻어온다. Enumeration getHeaderNames() - 요청에 포함된 모든 헤더 이름들을 얻어 온다. String getMethod() - HTTP의 명령어 이름을 얻어온다. String getPathInfo() - URL에서 추가적인 패스 정보를 얻어온다. String getPathTranslated() - 서블릿 이름에서부터 쿼리 스트링전까지의 추가적인 패스 정보를 얻는다. String getQueryString() - 쿼리 스트링을 얻어온다. String getRemoteUser() - HTTP 인증을 통해 로그인 한 사용자의 이름을 얻어온다. String getRequestedSessionId() - 클라이인트의 세션 ID를 얻어온다. String getRequestURI() - URI 값을 얻어온다. HttpSession getSession() - 현재 세션을 리턴한다. HttpSession getSession(boolean create) - 현재 세션을 리턴하거나, 없는 경우에 create가 true이면 새로운 세션을 생성한다. boolean isRequestedSessionValid() - 세션이 유효한가를 알아본다.

jsp ServletRequest

Object getAttribute(String name) - 주어진 이름의 어프리뷰트를 얻어온다. 설정된 어트리뷰트가 없으면 null 값을 리턴한다. Enumeration getAttributeNames() - 설정된 모든 어트리뷰터의 이름을 리턴한다. void removeAttribute(String name) - 주어진 이름의 어트리뷰트를ㄹ 제거한다. void setAttribute(String name, Object o) - 객체를 주어진 이름으로 어트리뷰트에 등록한다. RequestDispacher getRequestDispatcher(String path) - 주어진 패스로 클라이언트의 요청을 전달할 RequestDispatcher를 얻어온다.   int getContentLength() - 클라이언트 요청의 바디(body)부분의 길이를 바이트 단위로 리턴한다. 길이를 알 수 없으면 -1을 리턴한다. String getContentType() - 클라이언트 요청의 바디 부분의 MIME 타입을 기술한다. String getParameter(String name) - 클라이언트의 요청에 포함되어 있는 주어진 이름의 파라메터 값을 리턴한다. 값이 없을 경우에는 null을 리턴한다. String[] getParameterValues(String name) - 주어진 이름의 파라메터 값을 모두 리턴한다. 동일한 이름에 여러 개의 값이 있는 경우에 사용된다. ServletInputStream getInputStream() - 클라이언트 요청의 바디에 있는 바이너리 데이터를 읽기 위한 입력 스트림을 리턴한다. BufferedReader getReader() - 클라이언트 요청의 바디에 있는 문자 데이터를 읽기 위한 BufferedReader를 리턴한다. String getCharacterEncoding() - 문자 데이터의 인코딩을 리턴한다. Locale getLocale() - 클라이언트가 받을 수 있는 가...