<< 학습 목표 >>
1. 웹 프로젝트의 구조를 이해할 수 있다.
2. 웹 프로젝트를 생성할 수 있다.
JSP/Servlet 웹 프로젝트는 대체로 다음과 같은 구조로 시작함
초록색은 폴더이고 파란색은 파일
웹 프로젝트 폴더 안에 src, build 폴더가 있고 src폴더 안에는 main 폴더가, build 폴더 안에는 classes 폴더가 있음
main 폴더 안에 java 폴더와 webapp 폴더가 있고 webapp 폴더 안에 META-INF 폴더와 WEB-INF 폴더가 있음
META-INF 폴더 안에는 MANIFEST.MF 파일이 있고 WEB-INF 폴더 안에는 lib 폴더가 있고 web.xml 파일이 있음

java 폴더 안에는 Java 소스 파일과 Servlet 소스 파일들이 들어감
webapp 폴더 안에는 java 폴더에 들어가는 것 외에 나머지 모든 것들이 들어감
좀 더 정확하게는 Java, Servlet 소스 파일을 추가하거나 폴더가 필요하다면 java 폴더 안에 추가함
( 초록색은 폴더, 파란색은 파일 )

JSP, HTML, 이미지, CSS, JS 파일을 추가하거나 폴더가 필요하다면 webapp 폴더 안에 추가함
( 클릭하면 좀 더 잘 보입니다. 초록색은 폴더, 파란색은 파일 )

아~주 오래전 웹 개발자들은 이렇게 복잡한 웹 프로젝트의 구조를 직접 만들어야했기 때문에 구조부터 익혔음
그러나 이제는 이클립스 라는 아~주 편한 개발툴이 있으므로 "이런 구조다" 라는 것만 기억해두면 됨
이클립스를 사용해서 웹 프로젝트를 만들어보자
이클립스 내에서 무엇이든 추가할 때는 Ctrl + N 을 누름
웹 프로젝트를 만들것이므로(추가할것이므로) Ctrl + N 후 dynamic 이라고 검색(1) -> Dynamic Web Project 클릭(2) -> [ Next ] 클릭(3)

(1) 웹 프로젝트 이름 : studyProject 로 만들자
(2) 웹 프로젝트 위치 : 웹 개발을 하다 보면 웹 프로젝트의 위치를 알아야하는 일이 자주 생기므로 반드시 알아두자
(3) 웹 프로젝트가 실행될 서버 : 만약 <None> 으로 되어있다면 해당 부분을 클릭해서 Apache Tomcat v9.0 으로 선택하자
(4) 서블릿 버전
1 ~ 4까지 확인 하고 [ Next ] 클릭(5)

이번에는 자바, Servlet과 관련된 설정을 하는 화면임
(1) 자바, Servlet 소스 파일이 위치할 곳
(2) 자바, Servlet 소스 파일을 컴파일해 컴파일 결과물을 둘 곳
여기선 바꾸거나 할 건 없음 / "이런게 있구나" 정도로만 보고 [ Next ] 클릭(3)

(1) 웹 프로젝트 명 : 맨 처음 단계에서 지정한 이름과 달라도 되긴하지만 굳이 바꾸지는 않음
(2) Java, Servlet 파일을 제외한 모든 파일이 들어갈 위치
(3) web.xml 파일 자동 생성 여부 : 체크해 자동으로 생성되도록 하자, 체크를 하지 않으면 우리가 직접 web.xml 파일을 만들어야함
여기서도 바꿀건 없음, (3) 만 잘 체크하고 [ Finish ] 클릭(4)

이제 이클립스 좌측을 보면 다음과 같이 웹 프로젝트가 만들어졌음(1)

이 프로젝트 구조를 보면 우리가 앞서 언급한대로 웹 프로젝트가 있고 그 안에 src 폴더, build 폴더가 있고 src 폴더 안에 main 폴더가 있음
main 폴더 안에 java, webapp 폴더가 있고 webapp 폴더 안에는 META-INF, WEB-INF 폴더가 있음
WEB-INF 폴더 안에는 lib 폴더와 web.xml 폴더가 있음
근데 가만 보면 웹 프로젝트 안에는 src 폴더만 있는게 아니라 Deployment, Descriptor, JAX-WS Web Services, Java Resources 도 있음
이는 이클립스가 프로젝트 관련된 설정을 확인하기 쉽게 보여주는 것으로 실제로는 없는 것임
그리고 우리는 이 설정을 확인할 일이 없을 것
'Servlet + JSP > Serlvet-Chapter02' 카테고리의 다른 글
| Chapter02. 서블릿 추가 & 등록, 실행, 요청(호출) (0) | 2023.02.24 |
|---|---|
| Chapter02. 서블릿 추가, 등록, 실행, 요청(호출) (0) | 2023.02.24 |
| Chapter02. 서버, URL, 포트 (0) | 2023.02.24 |
| Chapter02. 용어 정의 (0) | 2023.02.24 |
| Chapter02. 웹 프로젝트 실행시키기 (0) | 2023.02.24 |