[JSP] JSP파일 쓰고 톰캣에서 실행, IDE별 context루트 통일하기
여기서 프로젝트를 만들고 어떻게 실행했는지는 다루지 않겠다.
그러니 그것부터 해야한다면 위의 참고에 모든 설명이 되어있으므로 참고하기 바란다.
아래의 예제는 IntelliJ와 Eclipse에서 실행하는 예제 둘다 보여주겠다.
왜 둘다 보여주냐 하면 둘의 처리과정이 약간 다르기 때문에, 그리고 그로인하여
앞으로 JSP를 익히는데 대하여 햇갈리지 않고 배우기 위해서이다.
IntelliJ에서 JSP파일 쓰기
기본적으로 JSP코드는 java + html이다.
지금코드는 단 한줄을 제외하면 완전한 html코드라봐도 무방하다.
실행해보자.
실행하면 위와 같이 뜬다.
JSP파일의 경로는 localhost:(선택한 포트)/현재jsp파일이 된다.
이는 인텔리J의 디폴트는 이렇다. 이클립스는 다르다.
C:\Users\(유저이름)\.IntelliJIdea2017.1\system\tomcat\_TestJSP\work\Catalina\localhost\TestJSP\org\apache\jsp
이 폴더에 빌드된 class파일과 java파일이 위치하게 된다. 설정바꿀때 마다 renaming이 되므로 tomcat 이후의 주소는 리네이밍 될 수 있다.
Eclipse에서 JSP파일 쓰기
Eclipse에서 JSP 프로젝트를 만들고 jsp파일을 하나만들고 가볍게 Hello,World!테스트를 하자.
톰캣을 실행해보면 제대로 실행됨을 알 수 있다.
그런데 아까 intelliJ와 실습할떄 하나 다른점이있다.
바로 주소이다. IntelliJ는 localhost:(선택한 포트)/현재jsp파일인데
Eclipse는 localhost:(선택한 포트)/프로젝트이름/현재jsp파일이다.,
이게 미묘하게 다른이유는 context루트의 차이에 있으며 둘의 디폴트 설정이 달라서 그렇다.
contextroot라는것은 웹상에서의 루트주소를 의미한다.
즉 웹에서 메인주소라고 할 수 있다. 이 주소를 설정해수 둘을 통일시킬 수 있다.
C:\Users\(유저이름)\Desktop\WorkSpace\EclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\TestJSP\org\apache\jsp
저 파일에 jsp를 컴파일한 class파일과 java파일이 위치된다. 물론 실제 웹서버에올릴때는 다른 주소에 저장된다.
Eclipse와 IntelliJ Context루트 통일하기
eclipse를 intelliJ처럼 localhost:(선택한 포트)/현재jsp파일로 하는법은 아래와 같다.
프로젝트 우클릭->preference->Web Project Settings을 들어가면 컨텍스트 루트가 자동으로 프로젝트명으로 되어있다.
이 컨텍스트 루트를 지우는건 불가능 한데 지우지는 말고 /로 바꿔주면된다.
실행해보면 이제 컨텍스트 루트가 바뀌어서 IntelliJ처럼 바뀐걸 알 수 있다.
이클립스의 컨텍스트루트를 줄여 봤듯이 이번에 IntelliJ의 컨텍스트 루트를 이클립스처럼 늘려보자.
내가 지정한 톰캣 설정에 Edit Configurations를 눌러주자.
그러면 이런 설정창이 나오는데 Deployment탭을 눌러준다.
우측에 Application context가 디폴트가 /인데 프로젝트이름으로 바꿔주자.
이제 경로가 쌍방수정됬다.