천발무금
976
2017-07-06 21:28:12 작성 2017-07-06 21:43:39 수정됨
2
1408

스프링프로젝트를 WEB서버와 WAS로 분리할 때 문의


안녕하세요~ 초보개발자입니다!


스프링으로 개발한 프로젝트를 WEB과 WAS로 분리할 때 소스를 어떻게 분리하면 되는지 궁금증이 생겨 문의드립니다!


보통 프론트엔드 개발은 WEB-INF 아래에 있는 JSP파일, CSS파일, JS파일. 에서 이루어지는데, 이 파일들은 WEB서버에 넣어놓고(프론트엔드쪽 리소스 파일 포함, 이미지 등등)


자바나  리소스 파일(sqlmap등)들은 WAS에 넣어놓고 mod_jk로 서로를 연결해주면 되는건가요? 


-------------------------------------------------------------------------------------------------------------------------------------


그런데.. 제가 알고 있는 이론은 아래와 같습니다.

(여기서 WAS는 jsp/서블릿 컨테이너 기반의 WAS입니다.)

1. 클라이언트가 HTTP 프로토콜로 WEB서버에 jsp를 요청합니다.

2. WEB서버는 jsp를 읽을 수 없습니다. jsp는 컴파일하면 서블릿이 되기 때문입니다.

3. 결국 WEB서버는 WAS로 자신이 받은 jsp 요청을 다시 합니다.

4. WAS는 WEB서버로 부터 받은 jsp를 찾습니다.

5. WAS에서 jsp를 찾아서 컴파일합니다. 서블릿이 됩니다.

6. WAS에서 WEB으로 뭔가를 응답하는데...그게 서블릿은 아닌 것 같습니다..!?!?

7. WEB서버는 사용자로부터 받은 jsp요청에 HTTP프로토콜로 HTML을 보내줍니다.(응답합니다.)

8. 사용자는 WEB서버로부터 받은 HTML을 브라우저에서 확인합니다.



위 내용들과 관련해서 질문이 2가지 있습니다.

질문1. 제가 생각한 URL 요청시 각 서버가 하는 역할의 6번 내용에서.. WAS는 jsp를 컴파일해서 서블릿을 가지고 있을텐데.. WEB서버로 뭘 보내주는지 궁금합니다. WEB서버는 결국 클라이언트에게 HTML을 전달해줘야 할 거 같아서요.


질문2. WEB서버와 WAS에 소스 분리할 때 jsp를 WEB 서버에 올리는거면.. WEB은 jsp자체는 자신이 찾고 자신이 찾은 jsp를 WAS로 보내서 해석시키는 건가요?

0
  • 답변 2

  • 널포인터
    156
    2017-07-07 06:36:40

    답변1. WAS는 서블릿실행결과를 HTML로 바꾸고 WEB은 그 HTML을 클라이언트에게 전달합니다.

     

    답변2. JSP파일은 WEB아니고 WAS에 놓습니다. WEB은 request가 jsp일 경우 그 request를 WAS로 넘겨주는 역할을 합니다. 그 설정은 mod_jk로 합니다.



  • 천발무금
    976
    2017-07-23 12:13:25

    널포인터님! 답변 정말 감사드립니다 ㅎㅎ 정말 궁금했던 부분이었는데 해결됬습니다 ㅎㅎ

  • 로그인을 하시면 답변 을 등록할 수 있습니다.