[JSP] 웹 어플리케이션 배포

Jeini·2023년 4월 22일
0

🌐 JSP

목록 보기
8/24
post-thumbnail

개발을 하였으면, 사용자가 접속할 수 있도록 배포를 해주어야 한다.
배포라는 말은 개발을 마쳤을 때 어떻게 하는 가를 의미한다.

💡 웹 어플리케이션 폴더 구성


✔️ Java EE: WAR(Dynamic Web Project)
❗️ WAR: web application archive

(참고로 Java SE는 JAR(일반 JAVA파일) 파일)

Servelt/JSP 규약은 웹 어플리케이션이 특정 폴더 구조를 따르도록 제한하고 있다. 따라서 이러한 폴더 구조를 모르면 제대로 동작하는 코드를 작성할 수 없다.

✏️ 웹 어플리케이션 폴더 구조 (WAR 구조)

✔️ 웹 어플리케이션 폴더
: webapps 디렉토리에 위치한 04_19 , ROOT , study 등의 폴더
: 웹 어플리케이션 폴더는 WEB-INF 폴더와 그 하위 폴더(classes , lib)를 포함한다.

  • WEB-INF: 웹 어플리케이션 설정 정보를 담고 있는 web.xml 파일 위치.
  • WEB-INF\classes: 웹 어플리케이션에서 사용하는 클래스 파일 위치.
  • WEB_INF\lib: 웹 어플리케이션에서 사용하는 jar파일 위치.

WEB-INF 폴더와 그 하위 폴더를 제외한 나머지 폴더에는 웹 어플리케이션에서 사용할 JSP, HTML, 이미지 등의 파일이 위치한다.

📎 xml 파일

Servelt 2.5/JSP 2.1 규약부터는 xml 파일을 포함하지 않아도 되도록 바꼈다.

그러나 다음 경우에는 web.xml 파일을 작성해야 한다.

  • 서블릿을 직접 설정하는 경우
  • 리스너(Litener)를 직접 설정하는 경우
  • 특정 URL에 속하는 JSP들에 대해 공통 속성값을 설정하는 경우

📎 톰캣 루트 폴더

📎 웹 어플리케이션 루트 폴더


classes는 자바파일과 클래스파일이 들어가 있다.
lib는 외부라이브러리를 의미.

💡 웹 어플리케이션 폴더와 URL의 관계


톰켓에서 웹 어플리케이션은 [톰캣]\webapps 폴더에 위치한다.
이 폴더에 있는 하위 폴더는 자동으로 웹 어플리케이션에 포함된다. 각 폴더의 이름은 웹 어플리케이션을 실행할 때 사용되는 URL과 관련이 있다.

이클립스에서 만들면 톰켓 폴더안에 생성되지 않는다.
이클립스에서 서버를 등록해서 쓰고 있기 때문이다.
배포(export)를 해서 war파일로 만들어야지 생긴다.

  • [톰켓]\webapps[웹경로] ➡️ http://host:port[/웹 경로]

📎 context path

✔️context path
= http://localhost:8080/[/웹 경로] 에서 웹 어플리케이션 경로 인 [/웹 경로] 를 가르킴

  • ROOT 웹 어플리케이션의 경우 컨텍스트 경로는 빈 문자열인 ""이다.

request 기본 객체는 컨텍스트 경로를 제공라는 메서드를 정의하고 있다.

✔️ request.getContextPath()

💡 이클립스 톰켓 웹 어플리케이션 배포하기



배포할 폴더를 우클릭한다 ➡️ Export ➡️ WAR file 클릭

Export souce files는 자바파일도 같이 줄까? 라는 의미.


appache-tomcat 폴더 내에 webapps폴더 안에다가 war파일을 넣는다.
그리고 bin 폴더안에 startup을 누른다. 그러면 저절로 실행이 된다.

profile
Fill in my own colorful colors🎨

0개의 댓글