-
[헤드퍼스트 Servlet&JSP] 6. 세션관리개발입문 2017. 2. 17. 11:31
다중 요청간 고객과의 대화기록 유지가령 고객의 장바구니 목록을 (로그인 없이도) 오른쪽날개에 제공할 수 있다면. 학습목표 1. 세션 객체에 객체를 저장하거나 또는 읽어올 수 있는 서블릿 코드를 작성할 수 있어야 합니다.2. 세션 객체 생성 ~ 제거3. 세션 리스너: 이벤트 반응4. 쿠키, 세션, URL재작성 HttpSession 객체클라이언트가 세션이 유지되는 동안 보낸 모든 요청으로부터 얻은 정보를 여기에 저장ㄴ 대안: 상태유지 세션빈 (상태유지 EJB), 데이터베이스 컨테이너는 클라이언트를 어떻게 구분하지?HTTP 프로토콜은 무상태 (stateless) 연결인걸?ㄴ 클라이언트는 유일한 세션ID가 필요하다 ㄴ 웹 컨테이너는 세션ID 쿠키를 심어놓는다. Set-Cookie: JSESSIONID=0AAB6..
-
Request 속성과 Request 디스패칭개발입문/Servlet&JSP 2017. 2. 16. 00:49
Request Dispatching 이번 한 번의 요청에 대해서만 사용한다면- Request에 속성을 추가하면 됩니다. (Context, Session 처럼 다른 컴포넌트도 사용할 수 있는 곳에- 장기적으로- 공유하지 않습니다.)RequestDispatcher는 Request를 전달한 다른 리소스(컴포넌트)를 가리키는 래퍼 클래스를 반환합니다. 이 래퍼클래스로 request, response를 인자로 가지는 forward 메소드를 호출합니다. 이를 통해 실제 response 작업을 RequestDispatcher로 위임합니다.RequestDispatcher는 아래 기능을 할 래퍼클래스를 지정해준다.- 다른 서블릿 (다른 서블릿에서 추가작업이 필요한 경우) or - JSP View (웹페이지 출력용) pu..
-
웹애플리케이션 개발: 웹 컴포넌트간 공유하는 속성 범위개발입문/Servlet&JSP 2017. 2. 15. 22:48
속성 vs 파라미터 속성 (Attribute) 파라미터 (Parameter) 타입 Application / context Request Session Application/Context Request Servlet 설정 메소드 setAttribute(String name, Object value) 애플리케이션과 서블릿의 초기화 파라미터 값은 런타임 시 설정 불가 (DD에서 설정가능) 리턴 타입 Object String 참조 메소드 getAttribute(String name) getInitParameter(String name) Attribute각 속성의 접근 범위는 이러한데.. 그래서 각자가 어떻게 쓰이고 있는 것일까? 속성 API 메소드기본적인 게터, 세터 메소드들~Object getAttribute..
-
ServletContextListener 컨텍스트 리스너개발입문/Servlet&JSP 2017. 2. 15. 21:08
웹 애플리케이션 (Context) 이 실행될 때 DD에 지정된 파라미터를 통해 컨텍스트를 초기화한다.ServletContextListener 클래스에서 contextInitialized(ServletContextEvent) 메소드를 통하여 초기화할 때 실행할 작업을 구현할 수 있다. (예를 들어 단순 String 값인 파라미터를 객체로 만들어 attribute으로 추가할 수 있다.)그 외, 특정 서블릿에 대해 요청이 왔을 때, DD에 지정된 초기화 파라미터를 전달할 수 있다. Parameter 의 범위 웹 어플리케이션 전체 vs. 서블릿 1. 웹 애플리케이션 전체에서 공유되는 파라미터/속성값- ServletContext- ServletContextEvent- ServletContextListener 2...
-
Servlet LifeCycle & Parameter개발입문/Servlet&JSP 2017. 2. 14. 23:21
Servlet 초기화1. 웹 서버 시작2. (요청이 있을 경우) 웹서버 컨테이너 DD 확인3~4. DD, InitParameter Key-Value 파라미터 설정5. ServletConfig 객체 생성 (initParameter 활용)6. servlet 클래스 인스턴스 생성7. init(ServletConfig) 메소드 호출+a. 배포 or DD 수정 시 서블릿 (재) 초기화 서블릿 초기화 파라미터 컨텍스트 초기화 파라미터 - 서블릿 초기화 파라미터은 항목을 포함하고 있는 서블릿만 이용 가능합니다. 단, 서블릿 코드 안에서 이 값을 또는 이 값을 활용해 얻어낸 객체를 속성(Attribute)에 저장하여 다른 컴포넌트에도 이용가능하게 만들 수 있습니다. e.g. HttpServletRequest 객체에 속..
-
이클립스에서 Servlet 배포환경 구축하기개발입문/개발환경 세팅 2017. 2. 13. 23:11
이클립스에서 Servlet 배포환경을 구축하겠습니다. 배포환경 구축에는 기본적으로 다음 요소들이 필요합니다. 뼈대만 구축해보는 걸로 :3 1. Static Web Resource: form.html, result.jsp2. DD: servlet, servlet-mapping 포함3. Servlet: 실제 비즈니스로직 포함 (+자바 유틸리티 클래스) 4. lib : 라이브러리 (servlet-api.jar) lib .jar 파일 등록 - 빌트인 자바 클래스 외 라이브러리를 추가할 경우- 프로젝트 선택 - Properties - Java BuildPath 선택- [Add External Jars...] - 톰캣 디렉토리 lib 폴더 servlet-api.jar 추가 DD Distribution Descrip..
-
Eclipse 에서 Web Application 개발환경 구축하기개발입문/개발환경 세팅 2017. 2. 13. 22:33
개발환경, 배포환경을 손컴파일 해놓다보니- 실제로 Eclipse 에서 어떻게 하는지 모르겠더라고요. 그래서 Eclipse 에서 동적 웹애플리케이션을 개발하는 환경을 세팅해보도록 하겠습니다. 캡쳐/코멘트 해놓고 보니 엄청 투박하네요 ㅇ_ㅇ; 그래도 웹 프로젝트를 생성하면서 지정할 수 있는 설정들을 꼼꼼히 살펴보고 넘어갈 수 있는 좋은 기회였습니다~ 프로젝트 생성 Dynamic Web Project 1. Project Type 지정: Dynamic Web Project 2. 프로젝트 생성- 프로젝트 이름 - 프로젝트 개발환경 - 프로젝트 배포 서버 지정 3. Web Module 세팅- 웹모듈이란? 배포가능한, 사용가능한 웹리소스의 최소단위 - Context Root: 웹 어플리케이션의 Document Roo..
-
[리뷰] 햄릿4명의 조합: 판소리 햄릿 프로젝트생활속 여러가지/문화 리뷰 2017. 2. 13. 10:30
요상한데 한판 재미지게 놀았던 공연 하나 추천드립니다. (저는 2월 12일에 직접 판소리 햄릿 프로젝트를 오후 공연으로 보고 쓴 글입니다.)- 장소: 뚝섬역 성수 아트홀에서 - 기간: 2017. 2. 10. ~ 26. - 제목: 판소리 햄릿 프로젝트 - 소개영상: 판소리 햄릿 프로젝트 소개영상 1. 판소리지만 뮤지컬과 같습니다. 소극장 무대에 공간 구성과 소품들이 잘 놓여져있고~ 4명의 출연진이 등장해 연기와 노래를 통해 스토리를 진행시켜나갑니다. 판소리라 무겁게 생각하지 않으셔도 됩니다! 한편의 뮤지컬을 본 것 같은데, 판소리+햄릿의 신선한 조합이 주는 컬쳐쇼크는 덤입니다.(중간에 심지어 판소리 하시던 분이 랩도 하시는데.. 라임따라 잘 꺽이는게 판소리랑 랩이 비슷할 수도 있겠구나라는 생각까지도...ㅋ..