가희의자기개발블로그
기초- JSP프로젝트 구조 본문
반응형
이클립스로 웹프로젝트를 생성할때, 파일 구조가 꽤나 복잡하다. 처음 웹프로그래밍을 접하는 사람에게는 각 파일이 어떤 역할을 하는지 쉽게 이해하기 어렵다.
오늘은 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