핫디플로이테스트의 의미는 jsp 파일을 수정하면 바로 반영이 되지만, class 파일 자체 수정을 하게 되면 서버를 재기동하고, class를 load 시키는 과정을 따라야 합니다. 핫디플로이는 재기동하는 과정을 따르지 않고, 동적으로 변경할 수 있게 만드는 설정입니다.
Jeus 핫디플로이는 개발 단계에서만 사용하는 것을 권장합니다. 운영단계에서 사용하다가 서버스가 멈추는 등의 상황을 초래할 수 있기 때문에 운영단계에서는 사용하지 마시길 바랍니다. 지금은 테스트 단계라서 큰 문제가 없지만, 실제 서비스되는 애플리케이션을 재기동하는 것은 매우 어렵습니다.
1. Jeus 설치할 때 모드를 확인합니다.
처음 Jeus를 설치할 때 production mode로 설치하였는데 이를 development mode로 변경해야 합니다.
config 디렉터리 안에 domain.xml 파일을 vi로 엽니다.
<production-mode>true</production-mode>
-> <production-mode>false</production-mode>
이렇게 바꿔줍니다.
2. FTP 프로그램(ex. FileZila)로 소스코드 폴더 /jeus8 안으로 옮기기
소스코드 폴더 명은 login 으로 설정하였습니다.
3. webadmin에 접속하여 application을 deployment(exploded 모드)
*한글이 깨질 경우
webadmin에서 servers 선택 -> 해당 서버 클릭 -> engine 설정의 basic 설정 -> 고급 선택사항
인코딩 설정 3가지 default설정에 UTF-8로 셋팅(실제로 Request Encoding, Response Encoding 두 개만 설정하면 한글이 정상적으로 출력됨)
4. jeus-web-dd.xml 생성
Jeus 계정에서 ftp로 옮긴 디렉터리로 이동
webddgen -file /home/jeus/jeus8/login
WEB-INF/jeus-web-dd.xml created successfully.
라고 뜨면 잘 생성된 것입니다.
WEB-INF로 접속하여 ls 명령어를 하면
$ls
classes jeus-web-dd.xml lib
다음과 같이 나옵니다.
5. jeus-web-dd.xml 파일 수정
<auto-reload>
<enable-reload>true</enable-reload>
<use-jvm-hotswap>false</use-jvm-hotswap>
<check-on-demand>true</check-on-demand>
</auto-reload>
구문을 추가한다. check-on-demand는 기동 할 때마다 소스코드가 변경되었는지 체크하는 로직이므로 성능 저하가 될 수 있으니 서비스 오픈 전에만 해당 설정을 사용해야 한다.
6. java 파일 수정
WEB-INF/classes 디렉터리로 이동하여 vi 편집기로 java파일을 수정합니다.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyLoginServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.sendRedirect("login2.html");
}
}
resp.sendRedirect("login1.html"); 을 resp.sendRedirect("login2.html"); 로 변경합니다.
7. 컴파일
$ javac -classpath /home/jeus/jeus8/login/WEB-INF/lib/javax.servlet.jar MyLoginServlet.java
8. 재접속
열어놓았던 홈페이지의 뒤로 가기 하여 main.html로 돌아간 뒤 다시 클릭하여 들어가 보면 내용이 바뀜
'IT > Middleware' 카테고리의 다른 글
[webtoB] SSL 설정 (0) | 2021.07.07 |
---|---|
[Jeus] 정적파일 webtoB로 처리, 동적파일 Jeus로 처리 설정 (0) | 2021.07.06 |
[Jeus] 동적파일(jsp) url 접속시 Jeus로 처리 (0) | 2021.07.06 |
[webtoB] 정적파일(html) url 접속시 webtoB로 처리 (2) | 2021.07.06 |
[Jeus] Database 연동 (0) | 2021.07.04 |