More Related Content Similar to Design pattern 옵저버 Similar to Design pattern 옵저버 (20) More from Sukjin Yun (20) Design pattern 옵저버2. Target Audience
디자인 패턴 공부할 때는 콘솔에 출력만 해봤는데 웹은 그냥 하면
복사해서 하면 되는 거 아닌가요?
GOF책을 봐도 적용이 안되요.
회사에는 Ctrl + V 하고 있어요.
3. Pre requisition
experience with using on java based application
knowledge of Web Programing
4. Observer 패턴이란?(1)
1대 100이란 퀴즈 프로는 게스트 1
명과 방청객 100이 함께 퀴즈를 푸
는 프로입니다.
게스트가 답을 선택하면(상태를 변경
하면) 방청객 100명에게 선택한 답
이 보여집니다. (통지됩니다.)
5. Observer 패턴이란 (2)
Subject
Subject구현 클래스
subjectState
<<Interface>>
Observer
update():void
Observer구현클래스
update():void
register
unregister
notify
1 *
7. 서블릿에서는 어떻게 할까
사용자가 로그아웃할 때 내게 알려주었으면..
세션 타임아웃되서 나갈때도 내가 알았으면..
로직을 추가할 곳이 마땅치 않을 때는
리스너를 써보자.
9. Session이 추가되면
public void sessionCreated(HttpSessionEvent sessionEvent) {
sessionEvent.getSession().getId());
}
D70A9A78650752E4A8
7BCD40A6F9B487
unique한 id값은 종료시에 얻자.
11. 다시 Session이 추가되면
public void attributeAdded (HttpSessionEvent sessionEvent) {
(String)sessionEvent.getSession().getAttribute(“KEY값”)
}
12. 세션 종료도 확인하자.
public void sessionDestroyed(HttpSessionEvent sessionEvent) {
logger.debug(“세션이 종료됬음” +
sessionEvent.getSession.getId() );
}
13. 프로그램이 시작되면..
Path 는 하나의 프로젝트
Path 는 하나의 컨텍스트
프로그램이 시작될 때
같은 프로젝트에 있는
요소라면 뭔가 자연스럽게
하고 싶다.
15. 시작할 때 뭔가 하자.
시작할 때
@WebListener
public void contextInitialized(ServletContextEvent e){}
16. 시작할 때 뭔가 하자.2
@WebListener
public void contextInitialized(ServletContextEvent e){
ServletContext context = e.getServletContext();
context.setAttribute(“key”, value);
}
17. 앞에서 한 거 꺼내서 쓰자.
@WebServlet(“/myServlet”)
public class MyServlet extends HttpServlet{
//생략 doGet(//생략){
getServletContext().getAttribute(“key”);
}
18. To Other Time
To Other Place
To other Us