가희의자기개발블로그

기초- JSP프로젝트 구조 본문

백엔드/JSP

기초- JSP프로젝트 구조

가희gahui 2020. 6. 16. 20:24
반응형

이클립스로 웹프로젝트를 생성할때, 파일 구조가 꽤나 복잡하다. 처음 웹프로그래밍을 접하는 사람에게는 각 파일이 어떤 역할을 하는지 쉽게 이해하기 어렵다.

오늘은 Dynamic Web Project를 생성하면 만들어지는 폴더에대해 알아보고자 한다.

 

1 _WebContent

이 폴더에는 HTML이나 JSP와 같이 컴파일 되지 않아도 되는 파일들을 넣어준다. 

이 폴더 안에는 서로 다른 이름의 두가지 폴더가 있다. 하나는 META-INF폴더 그리고 다른 하나는 WEB-INF폴더이다. 

하나씩 살펴보자

1_1)META-INF

읽어야하는 자원에 대한 정보를 가지고 있는 파일을 배치한다.

 

예를 들어, Connection Pool을 이용하는 경우, 미리 연결해야할 DB에 대한 정보를 설정해줘야 한다. 이러한 것들을 이 폴더에서 하게 된다.

단, 이렇게 임의로 정의한 환경변수는 컴파일 될때 자동으로 읽지 않기 때문에 항상! web.xml에 알려줘야 한다!!!

 

 

1_2)WEB-INF

  •  web information의 약자로 웹과 관련된 정보를 의미한다. 프로젝트의 환경 설정 파일을 배치 해야 한다.
  •   Web.xml 파일이 반드시 위치해야 합니다(다른 폴더에 있으면 설정파일의 역할을 하지 못합니다).
  •  웹 애플리케이션 용으로 만들어진 디렉토리로 웹에서 중요한 파일들이 노출되지 않도록 만든 폴더입니다.
  •  WEB-INF 디렉토리 하단에 jsp 파일을 넣으면, url로 해당 jsp 파일에 직접 접근할 수 없습니다. 브라우저에서 url로 jsp 파일 등을 직접 요청하는 것을 제한하는 것이 보통이기 때문에 jsp 파일들은 실무에서는 WEB-INF 폴더 안에 있다고 보면 됩니다.(정책상 jsp 파일에 직접 접근하지 못하게 할 때 자주 사용합니다.)
  • 반면에, jsp 파일 외에 브라우저가 반드시 참조해야 하는 css, 이미지, jQuery 등은 바로 참조가 가능하도록 Context Root 바로 하위에 static 폴더를 만들어 관리합니다.

 

1_2_1) lib

  • 이 폴더에는 jdbc와 같은 jar파일을 넣어준다. 

1_3) 웹과 관련 없는 데이터는 WEB-INF와 META-INF 중 어디에 두어야 할까?

  • 보통 Application을 다중 계층 구조로 만들면서 계층별로 별도로 패키징할 계획이라면, 웹과 관련 없는 계층의 메타데이터는 WEB-INF가 아닌 META-INF에 두는 것이 맞습니다.

2_Java Resources

자바 전용 폴더이다.

2_1)src

  • 이 폴더에 java 파일들을 배치합니다 , 해당 폴더안에 있는 java파일만 컴파일을 수행합니다. src는 소스컴파일을 수행하며 실행은 webContent에서 실행 됩니다.
반응형

'백엔드 > JSP' 카테고리의 다른 글

한글처리  (0) 2020.07.09
JSESSIONID  (0) 2020.07.07
MVC  (0) 2020.06.16
Connection Pool  (0) 2020.06.12
Cookie 와 Session  (0) 2020.06.10
Comments