본문 바로가기
📌 Back End/└ Java

[JAVA] IntelliJ / Tomcat 웹 애플리케이션 디렉토리 구조

by 쫄리_ 2023. 3. 10.
728x90
반응형

[톰켓의 폴더 구조]


bin  ▶  바이너리 (톰캣 실행 파일 모여있음)
              ex) startup.bat


conf  ▶  환경설정 (컨피그레이션)
                 ex) server.xml (톰캣이 구동되는 포트번호)


lib  ▶  라이브러리 (자르파일)
            톰캣이 자바를 실행한다. (톰캣은 자바 기반의 WAS)
            자바라이브러리 - 자르 확장자 파일들이 있다. (jar)
            자바소스를 압축해 놓은게 jar다.


logs  톰캣 로그 기록


temp  ▶  톰캣 임시파일


webapps  ▶  웹 어플리케이션이 들어가는 공간

                          자바웹어플리케이션을 압축해 놓은게 war다.

                           아래 예시 이미지 처럼 백업본을 만들어놓는다. (파일명 : ROOT_오늘날짜)


work    모름


[인텔리제이 폴더 구조]

src(소스) 폴더는 인텔리제이에서만 보이고, 톰캣에서는 안보임! 

폴더명 src가 있다! ▶ 인텔리제이에서 구동하면 됨!

폴더명 src가 없다! ▶ 톰캣 > bin > startup.bat 으로 프로젝트 구동하면 됨!


정해진 파일들을 쉽게 쓸 수 있게 제공해주는 프로젝트
폴더 구조를 가지고 게시판 등을 만든다. 규격 (인텔리제이, 이클립스 - 개발도구)

 

* 인텔리제이에서 해당 버튼을 누르면

자기가 알아서 연결해놓은 톰캣 > webapps > 폴더 안에  해당 프로젝트 war압축하고 톰캣을 war를 구동까지 시켜준다.
프로젝트 만들고 → War 압축 → 톰캣을 war를 구동시킨다. (webapps war파일을 푼다. - 인텔리제이가 알아서 해준다)


● 인텔리제이

- 코딩을 편하게 하기 위해 구조가 짜여있다.
   프로젝트 구조 (src소스 > main > java)  war 파일을 만들기 위해서 인텔리제이에서 코딩하고

  * JAVA 파일 형식이므로 인텔리제이에서 백단소스 작업이 가능하다.


   * war 압축될때는 (src소스 > main > java) 빠짐 없어짐 안보임


● 톰캣

- webapps에 ROOT 폴더(war가 압축이 풀린것) 안에 (src소스 > main > java) 이런것들이 빠져있고, 없다.

  

    * CLASS 파일로 컴파일 된 것을 볼 수 있다.


jsp (java 서버 페이지)

(html안에서 자바를 쓸 수 있게?!)  ▶ 컴파일러 거쳐야함 (기본은 서블릿)
서블릿 (서버에서 동작하는 "자바" - 디스패처서블릿 요청과 응답을 쉽게 하기 위한 것)
자바 문법 - html 쓸 수 있다.
하나의 요청에 하나의 응답

pom.xml (프로젝트 객체 모델)

  • 프로젝트 관리도구
    - 메이븐
    - 그래들

디펜던시 - 기능 쓰기 위해
- 젝슨 (제이슨) 라이브러리 추가
lib에 우유단지 jar파일 넣어야 됬었다.
안하게 해주는게 메이븐 / 그래들 방식으로 pox.xml에 디펜던시 기재해주면 된다.


[인텔리제이에서의 작업 VS 톰캣에서의 작업 차이]

● 인텔리제이

- .java(사람이 쓰는 고급언어) --- 컴파일거침 ---> .class (바이트코드) ---> 기계어
- 빌드를 다시 해야한다. (프로젝트 > War로 압축하는 것이 | 빌드)
   톰캣에 war를 넘겨서 톰캣은 war를 푼다!


● 톰캣

- 톰캣 > webapps > ROOT 폴더 안에 있는 수정할 파일을 수정한다.
  (ROOT 폴더 안에 있다는 것은 톰캣 배포가 이미 됬다는 것. 그렇다면 java확장자는 class로 이미 컴파일이 되어있을것.       그렇다면, 이런 파일은 vs편집기가 아닌 인텔리제이나 이클립스로 수정하고)
  (jsp나 나머지 다른 소스파일은 VS코드 나 노트패드 나 메모장으로 수정하고 저장하면)
  (bin폴더 start.bat를 실행하면 재빌드 되는 것은 아니고 수정된 파일만 반영되면서 알아서 실행됨!

    나는 bin폴더 start.bat만 누르면 됨!!!)

728x90
반응형