병갈이 블록

웹 어플리케이션에 대해서... 본문

IT(Old)/JSP 공부 기록

웹 어플리케이션에 대해서...

woojang 2017. 6. 19. 15:07

1. 폴더구성과 URL맵핑

기본폴더 구조(아래와 같이 세개의 폴더로 구성).

- WEB-INF    :  설정정보가 담긴 web.xml파일이 위치

- WEB-INF/classes    : 클래스파일이 위치

- WEB-INF/lib    :  jar파일이 위치

※ web.xml파일에 대하여...

서블릿 2.4 / JSP 2.0 규약에는 web.xml이 반드시 포함.

서블릿 2.5 / JSP 2.1 규약에서는 위 사항이 없어짐.

but, 아래 경우에는 web.xml파일을 작성해야한다.

1. 서블릿을 직접 설정

2. 리스너를 직접 설정

3. 특정 URL에 속하는 JSP들에 대해 공통속성값을 설정하는 경우.

2. 폴더와 URL의 관계.

[톰캣]\webapps\[웹경로] = http://host:port[/웹경로]

즉, 웹 경로가 test01이라고 할때

[톰캣]\webapps\test01 = http://host:port/test01

(경로라 함은 webapps폴더 하위에 존재하는 폴더를 말함.)

정리. host:port접속시 나오는 기본 폴더는 webapps폴더이다.

(엄밀히 말해서 웹 경로가 없다면 webapps\ROOT폴더를 기본 폴더로 삼는다. 즉, 경로없이 JSP파일을 요청하게되면 webapps\ROOT에서 요청한 JSP파일을 찾게된다. )

위 내용을 정리해보면 아래와 같다.

http://localhost:8080         => webapps\ROOT

http://localhost:8080/test1 => webapps\test1

http://localhost:8080/test2 => webapps\test2

http://localhost:8080/test3 => webapps\test3

※ /test1 과 같은 경로에 해당하는 것을 컨텍스트 경로(contextpath)라고 한다.(경우에 따라 더 길수도 있음.)

※ request.getContextPath() 함수를 이용해서 현재 페이지의 contextpath를 얻을 수 있다.


3. 웹 어플리케이션 배포

- 폴더에 직접 복사해넣기. (FTP와 같은 파일 전송프로그램을 이용)

- war 파일로 묶어서 배포.

- 톰캣에 war파일 배포하기.

1) 명령 프롬프트(cmd)를 이용해서 배포하려는 웹 어플리케이션의 위치(폴더)로 들어간다.

2) jar 명령어와 cvf옵션을 사용해서 war파일을 생성한다.

배포할 웹어플리케이션이 TestWar폴더에 있는 경우.

C:\톰캣폴더경로\webapps\TestWar>jar cvf testWar.war *      //엔터 입력

Manifest를 추가함 (그리고 블라블라)

가 나오면 war파일이 생성된 것이다.

옵션 cvf, *에 대한 설명

- c : 새로운 파일을 생성함

- v : 세부정보를 콘솔에 표시함(위에 블라블라..하는부분)

- f : 생성할 파일의 이름을 지정함 -> 위에서 'testWar.war'이라고 한 부분.

- * : 현재 폴더를 기준으로 하여 모든 파일 및 하위폴더에 포함된 파일들을 대상으로 한다는 뜻.

3) 해당 폴더에 생성된 war파일을 배포한 톰캣서버거 위치한 폴더 내 webapps폴더에 복사한다.

4) 배포된 톰캣서버를 실행하고 나면 war파일이 풀려서 해당서버의 webapps폴더에 war파일 이름과 동일한 폴더가 생성되고 그 안에 기본폴더구성으로 이루어진 배포된 파일들이 들어있다.(배포된 서버에서도 접속이 가능해진다.)

'IT(Old) > JSP 공부 기록' 카테고리의 다른 글

디렉티브  (0) 2017.06.20
기본 객체.  (0) 2017.06.19
JSP 처리 과정에 대해서.  (0) 2017.06.19
Buffer와 autoFlush  (0) 2017.06.19
Response 기본객체  (0) 2017.06.18
Comments