본문 바로가기
Web Program/GWT

[4] GWT + Maven Login Service Session 연동

by 학수씨 2014. 7. 1.

-Contents-


[4] GWT + Maven Login Service Session 연동

[3] GWT + Maven Login Page Database 연동

[2] GWT + Maven Login Page Database 연동

[1] GWT + Maven Login Page 만들기


이번에는 이전까지 만든 프로젝트에 Login 쪽 성공시 Session 설정하는 방법과

Logout 하는 방법에 대해서~~~~ 해보겠음!!!



Session Control은 onModuleLoad() 쪽에서는 Control을 할수가 없다.

이유는 extends RemoteServiceServlet Class 를 참조해야하는데


onModuleLoad()함수가 있는  implements EntryPoint 상속을 받는 클레스에서는

RemoteServiceServlet Class 를 참조할수 없다...


그렇기 때문에 EntryPoint -> Service -> EntryPoint 식으로 세션 정보를 받아와야 한다.


여기서... 모르는 명칭들에 대해서는 알아서 검색해서 습득 하시길....


각각의 Service에 Session Function을 작성하여 사용하여도 되는데... 보통 웹사이트에서 Session사용할 일은 그리 많지 않다.. 따라서 유지보수를 위해 Session Service 를 따로 작성하여 관리하는것이 편리하다.


일단 새로운 패키지로 작성하지 않고 기존에 존재하던 패키지를 이용하여 작성하도록 하겠다~


패키지명이나 관리방법은 본인이 편의성에 맞게끔 알아서~~ 작업하시면 됨...


com.hellogwt.client.service

 -> SessionService.java

 -> SessionServiceAsync.java


com.hellogwt.server.service

-> SessionServiceImpl.java


위 3개의 파일을 각각의 패키지에 만들어준다... 


음 짧게 설명하자면 client 패키지의 SessionService.java는 Client단에서 동작하는 Code이다.. 한마디로..

WebBrowser에서 사용자가 버튼 클릭이나 Editbox Value를 Change 시키고 할때 처리하는 Client단의 코드이며


Async는 Client 와 Server 가 통신할수 있게끔 다리 역할을 한다.. (Client에서 Server쪽으로 Message 전송)


SessionServiceImpl은 Client요청에 의해 서버에서 처리하는 부분이다..

Impl에서 실제 서버에서 처리되는 Code를 작성하면 되는데 여기에서 DB라던지 Session (서버관련) 쪽을 컨트롤 한후 결과를 Client로 보내는 것이다..


음 결론적으로 Impl은 ClientService에 요청에 의해 동작하며

ClientService는 사용자에 의해 동작하는 놈이라고 보면 이해하기 쉽다.



자 이제 코드 나감.


com.hellogwt.client.service -> SessionService.java



com.hellogwt.client.service -> SessionServiceAsync.java



com.hellogwt.server.service -> SessionServiceImpl.java



이제 위에서 만든 Service 를 EntryPoint에서 사용하는 코드를 올리겠음..


com.hellogwt.client -> HelloGWT.java



코드를 짧게 설명하자면.. 2개의 버튼을 만들어서 하나는 Session을 저장하는 버튼

하나는 저장된 Session의 Value 를 가져오는 버튼..


해당 결과는 Eclipse Console에 출력시켰다.. 이번 글은 실제 Login 쪽 정보를 담기위한 글이 아닌


GWT + Maven의 Session Test Code 정도로 생각하면 된다..


한면 실행시켜보면 아래와 같이 뜰것이다.





하단의 새로 만든 버튼 2개를 각각 눌러보면 콘솔창에 결과가 뜰것이다.





제대로 동작하는것을 확인할수 있다..~


다음번 글에는 실제 로그인된 Account (VO)를 Session에 저장하고 Logout 구현에 대해 올리도록 하겠다..


분명 이렇게 글을 열심히 자세하게 써놨음에도 불구하고.,. 귀차니즘으로 인해 따라하기 싫은 사람이 있겠지요?


프로젝트 압축해서 올립니다~


musicPie.tar.gz





PS. 강의식의 Step by step Document는 Showcase Layout을 연동하고 게시판하나를 설계하여 Showcase Layout에서 글 목록 보기.. 글등록.. 글 수정..  까지만 Step by step 으로 글을 작성할 예정이다. 그 이후에는 뭐 나도 일을 해야하니.. 중요 부분들만 짧게 짧게 글을 남길 예정이다..


대략 다음주 정도면 모두 작업이 완료되지 않을까 싶다..


아직 GWT가 국내에서는 사용을 많이 하지 안지만. 내가 작성하는 글로인해 많은 업체 및 개발자들이 GWT 를 도입하여 국내에서도 많은 활성화가 일어났으면 한다..


한.. 1년내에 GWT에 대해 Book style로 글을 정리하여 무료로 pdf 판으로 배포할까 한다..

아님.. 뭐 누군가 출판사에서 프로포즈가 들어오면 책을 낼지도??ㅋㅋ


여튼 뭐 열심히 정리해서 글 올리겠음..




댓글