유디의 공간정보·개발일기

8. 0910_ 형상관리도구(계속), 본문

Spring, Mybatis

8. 0910_ 형상관리도구(계속),

55yudi 2021. 9. 10. 17:37

- 소스 버전관리 도구는 시스템 형상 요소(소스 및 데이터)를 문서화하고

  변경을 소스 버전관리 절차에 따라 관리하며,

  효율적으로 처리 하기 위한 통제 환경을 의미한다.

 

- 소스 버전관리 도구의 특징 및 기능
   * 형상 요소(소스 및 데이터)에 대한 변경 사항을 관리한다.
   * 버전 관리를 수행하고, 배포도구를 통해 변경사항을 배포한다.
   * 일정 주기에 백업 도구를 통해 백업을 수행한다.

         - chckin/out 을 commit 이라 말하기도 한다.

 

- 저장소(Repository)

 

- 리비젼

- 클래스 생성 - 팀 싱크로나이즈 - 싱크로나이즈에서 팀원들 파일선택하고 오른쪽 업데이트

싱크 맞추기

1. myspringmvc-server → 마우스우클릭 → Team → synchronize → 가운데 버튼 클릭
2. 본인 이니셜로 만든 컨트롤러 파일 → 마우스우클릭 → Team → Commit 후 1번 과정 다시 한번 반복
3. 잘 됐다면? 본인 이니셜로 만든 컨트롤러에 명령어 입력 후 저장하면 왼쪽 프로젝트에 검은 눈꽃 표시 생성!

 

- 팀꺼 싱크 - 싱크창에서 팀원들 컨트롤러 전체선택 - 업데이트 - 프로젝트익스플로어에 전체 뜨게 됨

 

- 파일에서 마우스 우클릭 - team - show history

  히스토리마다 클릭해서 그 시점의 코드 진행상황을 볼 수 있다.

 

- 코드 비교해서 반영

- team - revert : 되돌리기

 

- team - commit

- 서로 충돌되지 않도록 조심해야 한다. 무턱대고 커밋하면 안됨

 

 

 

- mysql 설치

MySQL :: Begin Your Download

 

MySQL :: Begin Your Download

The world's most popular open source database

dev.mysql.com

- port 3306으로 통일시키기 위해서 mariadb 설치 시 3306으로 돼있어 충돌나기 때문에 삭제하거나 4406으로 재설치

 


- 서버로 내보낼 때

  프로젝트에서 마우스 우클릭 - Export - WAR file

  파일명이나 저장할 곳(destination) 지정 후 - Finish

- 만들어진 war파일을 서버에서 실행시켜보려고 한다.

Detination(아파치 톰캣 폴더가 들어있는 상위 폴더로 설정)

 

- 환경변수에 CATALINA_HOME, JAVA_HOME 에 아파치톰캣 폴더 경로랑 jdk폴더 경로 지정해주기

 

- 아파치 폴더 > config > server.xml을 visual studio code에서 열고 포트 넘어 수정하고 저장하기

  8005 는 9005로, 8080은 9000으로

 

- 커맨드창에서 톰캣 실행하고 (이클립스에서 실행하는 것 대신에)

- 톰캣이 실행되면 브라우저에 http://localhost:9000/myexamspringmvc-server/ 입력

- 브라우저가 잘 실행된다.

 

공유클라우드 사용하기가 이렇게 어렵다니,,

머리에 과부하가 걸린다아~~~^!^


[필터]

 

- 필터 생성하기

- MyFilter.java

package lx.edu.team8.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

public class MyFilter implements Filter {


	public void destroy() {
	}

	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		System.out.println("start of myfilter.");
		chain.doFilter(request, response);
		System.out.println("end of myfilter.");
	}

	public void init(FilterConfig fConfig) throws ServletException {
	}

}

- 브라우저 실행하면 콘솔에 다음과 같이 찍힌다.

 

- 필터를 거쳐서 들어가는 매커니즘


[인터셉터]

 

- login-form.jsp 생성

 

- LoginController.java 생성

 

- home.jsp에 login-form 화면전환을 위한 a태그와 href속성 코드 추가하기

 

- login-form.jsp에 form태그와 href속성 코드 추가하기

 

- 컨트롤러에 메서드 만들기, @리퀘스트매핑 만들기

  * 단 DAO없이 if문으로 id와 pw가 같게 한다.

  세션을 넣는다.

  * 스프링은 매개변수로 HttpSession을 넣을 수 있다는 게 장점!

 

- dept-form.jsp 생성

 

- emp-list에 logout href추가

 

- ...

 

포트넘버 충돌로 마리아디비 지웠다가 다시 깔아서 그런가

db불러오는 게 안된당,, 뭐지,,

 

 


저번 예약페이지 팀플처럼 일일이 페이지를 만들고 jsp:forward 등의 코드나 반복적인 코드의 사용 등

비효율적인 점이 많았다.

--> Spring을 사용하면서 이제 그렇게 하지 않아도 된다.