본문 바로가기

728x90
반응형

개발/Java

[JAVA - WEB] JSP 내장 객체(내장 요소) 내장 객체 JSP 페이지의 내장 객체란 JSP 가 서블릿으로 변환될 때 컨테이너가 자동으로 생성시키는 서블릿 멤버변수를 말합니다. 즉 서블릿으로 구현 시 자주 사용했던 객체를 서블릿으로 변환 시 컨테이너가 자동으로 생성하여 사용할 수 있게 제공하는 것입니다.( 내장.. 내부에 저장된.. 머 그런거겠죠..? ) JSP 내장 객체들 내장 객체 서블릿 타입 기능 request javax.servlet.http.HttpServletRequest 클라이언트 요청 정보를 저장 response javax.servlet.http.HttpServletResponse 응답 정보를 저장 out javax.servlet.jsp.JspWriter JSP 페이지에서 결과를 출력 session javax.servlet.http.H.. 더보기
[JAVA - WEB] JSP 스크립트 요소 JSP 는 컨테이너에서 자바로 변환되는 과정을 거치므로 JSP 에서 제공하는 스크립트 요소를 이용하면 조건이나 상황에 맞게 HTML 태그를 선택적으로 전송할 수 있습니다.(화면을 동적으로 구성 가능) JSP 스크립스 요소 JSP 스크립트 요소란 JSP 페이지에서 여러가지 동적인 처리를 제공하는 기능으로 기호 안에 자바 코드로 구현합니다. 기호를 스크릿트릿(scriptlet) 이라고 부릅니다. 스크립트 종류는 다음과 같이 3가지 입니다. - 선언문(declaration tag) : JSP 변수나 메서드를 선언할 때 사용합니다. - 스크립트릿(scriptlet) : JSP 에서 자바 코드를 작성할 때 사용합니다. - 표현식(expression tag) : JSP 에서 변수의 값을 출력할 때 사용합니다. 선언.. 더보기
[JAVA - WEB] JSP 정의와 구성 요소 JSP 등장 서블릿으로 화면을 구성하는건 역시나 비효율적이죠. 개발자가 화면을 구성하기도 어렵고 디자이너가 자바 코드를 보기에는 너무 어려운 부분이니까요. 디자이너가 화면에 보여주는 부분을 쉽게 작업하게 하기 위해서 JSP 가 등장하였습니다. 기존 서블릿에서는 자바 코드를 기반으로 문자열을 사용해 HTML 과 자바스크립트로 화면을 구현했으나 JSP 는 HTML, CSS 와 자바스크립트를 기반으로 JSP 요소들을 사용해 화면을 구현합니다. JSP 구성 요소 JSP 는 주로 웹 프로그램의 화면 기능과 모델 2 기반 MVC 에서 뷰(View) 의 기능을 담당합니다. JSP 구성요소는 다음과 같습니다. - HTML, CSS, 자바스크립트 - JSP 기본 태그 - JSP 액션 태그 - 커스텀 태그(프레임워크나 개.. 더보기
[JAVA - WEB] 서블릿 리스너(Listener) 서블릿 관련 Listener API 자바 프로그램의 이벤트 핸들러처럼 서블릿에서도 서블릿에서 발생하는 이벤트에 대해 적절한 처리를 해주는 여러가지 리스너를 제공합니다. Listener 메서드 기능 ServletContextAttributeListener attributeAdded() attributeRemoved() attributeReplaced() Context 객체에 속성 추가/제거/수정 이벤트 발생 시 처리 HttpSessionListener sessionCreated() sessionDestroyed() 세션 객체의 생성/소멸 이벤트 발생 시 처리 ServletRequestListener requestInitialized() requestDestroyed() 클라이언트 요청 이벤트 발생 시 처리.. 더보기
[JAVA - WEB] 서블릿 필터(Filter) 서블릿 속성과 스코프(scope) 속성은 앞에서 보았듯이 서블릿 API 의 setAttribute 로 바인딩하고 getAttribute 로 바인딩 된 속성을 가져와서 사용합니다. 그리고 속성을 제거할때는 removeAttribute 를 이용해 제거할 수도 있습니다. 서블릿 스코프는 서블릿 API 에 바인딩 된 속성에 대한 접근 범위를 의미합니다. 스코프 종류 서블릿 API 스코프 설명 애플리케이션 스코프 ServletContext 애플리케이션 전체에 대해 접근할 수 있습니다. 세션 스코프 HttpSession 브라우저에서만 접근할 수 있습니다. 리퀘스트 스코프 HttpServletRequest 해당 요청/응답 사이클에서만 접근할 수 있습니다. // setAttribute ... String ctxMesg.. 더보기
[JAVA - WEB] 세션(Session) 세션 세션 역시 웹 페이지들 사이의 공유 정보를 서버에 저장해두고 웹 페이지들을 매개해주는 방법이라는 점에서는 쿠키와 같습니다. 차이점은 쿠키는 보안에 취약하지만, 세션은 서버의 메모리에 생성되어 정보를 저장하므로 보안이 용이하여 웹 페이지에서 사용되는 정보 중에 로그인 정보처럼 보안이 요구되는 정보는 대부분 세션을 이용합니다. 세션은 각 브라우저 당 한개, 즉 사용하당 한 개가 생성됩니다. 단 브라우저를 Chrome 과 Explorer 를 사용하게 된다면 브라우저 별로 생성이 되겠죠? 세션의 특징은 다음과 같습니다. - 브라우저의 세션 연동은 세션 쿠키를 이용합니다. - 서버에 부하를 줄 수 있습니다. - 세션은 유효시간을 가집니다.(기본 유효시간은 30분 입니다) 로그인 상태 유지 기능이나 쇼핑몰의 .. 더보기
[JAVA - WEB] 쿠키(Cookie) 쿠키에 대해서 설명하기 전에 웹 페이지 연동 시에 알아야 할 부분이 있습니다. 세션 트래킹(Session Tracking) 세션 트래킹이란 사용자 입장에서 웹 페이지 사이의 상태나 정보를 공유하도록 하기 위해 프로그래머가 구현해야 하는 웹 페이지 연결 기능입니다. HTTP 프로토콜은 각 웹 페이지의 상태나 정보를 다른 페이지들과 공유하지 않는 stateless 방식으로 통신을 합니다. 따라서 웹 페이지나 서블릿끼리 상태가 정보를 공유하려면 웹 페이지 연결 기능, 즉 세선 트래킹을 이용해야 합니다. 웹 페이지를 연동하는 방법 중 쿠키를 이용하는 방법과 세션을 이용하는 방법이 있습니다. 쿠키 : 클라이언트 PC 의 Cookie 파일에 정보를 저장한 후 웹 페이지들이 공유합니다. 세션 : 서버 메모리에 정보를.. 더보기
[JAVA - WEB] 서블릿 바인딩(binding) 바인딩 바인딩의 사전적 의미는 '두 개를 하나로 묶는다' 입니다. 웹 프로그램 실행 시 데이터를 서블릿 관련 객체에 저장하는 방법으로 주로 HttpServletRequest, HttpSession, ServletContext 객체에서 사용되며 저장된 데이터는 프로그램 실행 시 서블릿이나 JSP 에 공유하여 사용합니다. 따라서 서블릿에서 다른 서블릿 또는 JSP 로 대량의 데이터를 공유하거나 전달하고 싶을때 바인딩 기능을 사용합니다. 바인딩 관련 메서드 메서드 기능 setAttribute(String name, Object obj) 데이터를 각 객체에 바인딩합니다. getAttribute(String name) 각 객체에 바인딩 된 데이터를 name 으로 가져옵니다. removeAttribute(Strin.. 더보기