ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 프로젝트 기본 구성 알아보기
    SpringFrameWork 2021. 12. 10. 00:14

    ※스프링 프로젝트는 빌드도구를 사용하여 개발하는 방식이라 maven 프로젝트를 기본으로 한다.

     

    ->main에는 제품의 요소에 해당되는 것을 포함하는 곳

       src/test는 단위테스트 코드를 작성하는 곳 junit으로 test한다. 

       src/test/java에는 test 하기위해 java 코드 작성하는 곳

       src/test/resourcess나 src/main/resources 등 resources로 되어 있는 곳은 java소스코드가 아닌 것 xml형식의 설정파       일이나 데이터만 가지고 있는 텍스트파일 등이 포함 되는 곳이다.

    ※두개를 구분짓는 이유는 최종 프로젝트를 배포를 할 때 test용 코드는 배포를 할 필요가 없고 실제 제품을 구성하는 코드만 배포하면 되기 때문에 따로 구분해서 test코드를 작업할 때 넣었다가 지웠다가 할 필요가 없기 때문이다. 

    ※maven 프로젝트의 특징은 프로젝트 이름 제일 밑에 pom.xml(Project Object Model) 프로젝트를 관리하는 설정 파일이 있다.

    ->pom.xml 파일에 <dependencies>안에 <dependency> 태그하나하나가 라이브러리 정보를 담고 있다. maven repository사이트에서 필요한 라이브러리 코드를 가져와서 입력하면 된다.

    -> 밑에도 src 폴더가 있는데 위에 패키지레벨에서 이름에 main과 test는 밑에 src폴더와 같은데 java코드와 resources로 접근 할 때는 위에 패키지로 접근한다. 밑에 src폴더에 접근하는 이유가 있는데 WAS 에서 webapp이라는 폴더가 외부에 공개 되어 있는 기준폴더이다. 외부에서 webapp뒤 주소가 일치하면 우리가 사용하는 url주소가 된다. webapp이 외부에 공개된 기준경로라면 WEB-INF는 webapp안에 있지만 비공개 폴더이다.

     

    ※Model1 개발인 경우 webapp에 바로 jsp파일을 요청 즉 공개폴더로 직접적으로 jsp를 요청하는 방식

      Model2가 나온 이유는 유지보수를 용이하게 하기 위해서 Model1은 jsp안에 서버코드랑 브라우저 코드가 혼재되어 있어서 역활분리가 안되어 있다. Model2는 서버코드를 따로 처리하고 어떤 요청이 오면 필요한 데이터만 브라우저에 전달하는 방식이다. 

    -> 서버 연동 후 기본으로 제공되는 home.jsp 작동 시키면 밑에 화면과 같이 error가 뜬다. WEB-INF 비공개 폴더 안에 있기 때문에 실제 화면이 있지만 접근이 안된다. (MVC 패턴을 안전하게 적용하기 위해서 WEB-INF 권장한다.) 만약 webapp 밑에 바로 home.jsp 나두고 브라우저를 실행하면 화면이 출력된다. webapp 안에 바로 jsp파일을 구동시키는 것은 model1 방식이다.

Designed by Tistory.