Git 사용방법, potal 실습 시작, 리스터 클래스(DispatcherServlet - Root String Container, child String Container, context-param, listener), 필터 클래스, 서블릿 클래스

2019. 7. 2. 18:53Spring

---------------------------Git-----------------------------

Git
        - 분산형 버전관리 시스템
        - 특징
                - 로컬 저장소와 원격 저장소를 둘 수 있다.
                - 브랜치의 생성 및 관리가 편리하다.
                - github와 같은 다양한 원격저장소 서비스가 존재한다. 
                - 파일의 현재상태(스냅샷)를 저장한다.
        - 작업 순서
                1. 프로젝트를 생성
                2. 해당 프로젝트에 대한 로컬 저장소를 생성한다.
                        git init
                3. 소스 작성 및 수정
                4. 작업영역(Workspace)의 코드를 스테이징영역(stage area)으로 추가한다.
                        git add 파일명
                        git add 디렉토리명
                        git add *
                5. 스테이지영역에 추가된 로컬저장소에 저장하기
                        git commit -m "커밋메세지"
                *. 3 -> 4 -> 5를 계속 반복한다.

        - 원격저장소를 사용해서 소스 공유하기
                - 원격저장소에 발행하기
                        git push
                - 원격저장소에서 소스 내려받기
                        git pull
                - 원격저장소 복제하기
                        git clone

명령어 기반 Git
        1. 로컬 저장소 생성하기
                git init
        2. 현재 작업영역의 상태 확인하기
                git status
        3. 커밋할 파일을 인덱스(스테이징)에 추가하기
                git add 파일명
                git add 디렉토리면
                git add *
        4. 인덱스(스테이지 영역)에 추가된 파일을 로컬저장소에 커밋하기
                git commit -m "커밋 메세지"
        5. 커밋 히스토리 조회하기
                git log
        6. 원격저장소 연결하기
                git remote add 원격저장소면 url
                git remote add origin https://github.com/사용자명/원격저장소
        7. 연결된 원격저장소 확인하기
                git remote -v
        8. 연결된 원격 저장소 삭제하기
                git remote remove 원격저장소명
        9. 원격 저장소에 소스 올리기
                git push 원격저장소명 브랜치명
                git push origin        master   * 현재 HEAD가 위치한 master브랜치의 소스를
                                                  원격저장소 origin에 올리다.
        10. 원격 저장소에서 소스 가져와서 병합하기
                git pull 원격저장소명 브랜치명
                git pull origin       master    * 원격저장소 origin애 저장된 소스를
                                                  현재 HEAD가 위치한 master브랜치에 가져와서 병합한다.
        11. 원격 저장소 복제하기
                git clone url
                git clone https://github.con/eungsu/spring-fullcalendar.git
                                                * 현재 디렉토리에 원격저장소를 복제한다.
                                                * 소스와 현재까지의 커밋정보까지 복제된다.






-------------------------------portal 만들기 예습 시작-------------------------
        
자바 웹의 클래스들
        서블릿 클래스
                - 지정된 URL 패턴의 클라이언트 요청이 접수될 때 마다
                  실행되는 메소드를 정의할 수 있는 클래스
                - HTTP 요청을 처리하는 클래스
                - MVC 패턴에서는 Controller가 대신한다.

        리스너 클래스
                - 자바 웹에서 특정 이벤트 발생시 실행되는 메소드를
                  정의할 수 있는 클래스
                - ServletContextListener
                        - 서블릿컨텍스트객체가 생성되거나 소멸될 때 실행되는
                          메소드를 정의한다.
                          * Tomcat이 실행되거나 Tomcat이 종료될 때와 같은 싯점이다.
                - ServletRequestListener
                        - 요청객체가 생성되거나 소멸될 때 실행되는 메소드를 정의한다.
                - ServletRequestAttributeListener
                        - 요청객체에 속성값이 추가/삭제/변경될 때 실행되는 메소드를 정의한다.
                - HttpSessionListener
                        - 세션객체가 생성/소멸될 때 실행되는 메소드를 정의한다.
                - HttpSessionAttributeListener
                        - 세션객체에 속성값이 추가/삭제/변경될 때 실행되는 메소드를 정의한다.
                - HttpSessionBindingListener
                        - 이 인터페이스를 구현한 객체가 세션객체에 속성값으로 추가/삭제될 때 
                          실행되는 메소드를 정의한다.

        필터 클래스
                - 클라이언트의 요청이 접수될 때마다 실행되는 메소드를 정의한다.
                  단, 필터에 정의된 메소드는 서블릿/JSP가 실행되기 전/후에 실행된다.
                  2개 이상의 필터를 등록할 수 있다.

                - 웹요청처리에 대한 전처리/후처리 작업용으로 많이 사용된다.
                        * 문자인코딩 필터 <-- 전처리용 필터
                              예시) request.setCharacterEncoding("utf-8")
                        * 인증/인가 필터 <-- 전처리용 필터
                        * 암호화/복호화 필터 <-- 전처리/후처리용 필터






web.xml 설정하
        - 여러개의 url (*.do, *.movie 등)사용하기 위해 DispatcherServlet을 각각만든다.
                (Child Spring Container 라고 한다.)



        - Child spring Container에 없지만 필요한 설정을 사용하기 위해 Root Spring Container를
          만들어서 사용한다. 
                listener-class를 만들면 톰캣이 실행되면서 바로 실행되는데 그러면 바로
                context-param값의 contextConfigLocation를 읽어 드린다.




        톰캣 실행하면 나타는 화면 
                - root가 먼저 실행이 되고 potal이 실행되는게 보인다.


                
        - 필터링 등록하기