Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/7월

22.07.14 - [ WAS ] WS vs WAS, tomcat 사용해보기

giggs 2022. 7. 21. 11:34

-- Index --


1. WAS 2. WAS 실행흐름 3. tomcat 사용해보기 4. 이클립스와
tomcat 연결해서
배포해보기
WS vs WAS
정적 vs 동적
클라이언트↔WAS↔DB 실행 / 요청 / 배포 서버등록 / Servlet







1. 웹 어플리케이션

- 어플리케이션 == 응용프로그램




WS 와 WAS의 차이

  • WS == 원래 가지고 있는 파일을 보여주는 것
  • WAS == 요청에따라서 변경된 파일을 보여주는 것



정적인 페이지와 동적인 페이지

  • 네이버의 웹 사이트가 웹 애플리케이션
  • 웹 사이트를 동적으로 보여주는 것이 웹 애플리케이션
  • 동적으로 보여준다? - 사용자가 원하는 대로 화면을 보여주는 것
  • 로그인 전에는 다 같은 화면이다 – 로그인 후에는? 같은 화면 보는 사람 없다.
  • 즉, 언제 어디서든 어떤 사용자가 요청을 하더라도 똑같이 보이는 페이지 = 이런 페이지가 static 페이지 – 정적 페이지
  • 로그인 한 페이지를 보여달라고 요청하는 – 사용자에 따라 다른 화면을 보여주는 페이지 – dynamic 페이지 – 동적 페이지



이런 동적인 페이지를 하나하나 다 만들어놓는다?
불가능하다.
이런 동적인 페이지를 만들어주는 것이

WAS ( Web Application Server )

static page만 보여줄 거면 WebServer 만 있으면 가능하다.
문서들 엄청 만들어 놓고 보여주면된다 ex) 사전, LiveServer

WAS는 사용자가 요청하는대로 웹페이지 문서를 그때그때 만들어준다.









2. 웹 어플리케이션의 실행 흐름 파악







1. 클라이언트는(사용자)가 [ 웹브라우저나 curl을 통해 ] 웹 서버에게 요청

2. 입력받은 data를 가지고 WAS가 동작한다.

3. 직접 처리할 수 있는 것은 WAS가 처리 / DB작업 필요한 것은 DB 다녀오는 작업 처리

  • WAS는 안에서 java가 돌아가고 있다. WAS안에 java를 이용하여 DB랑 왔다 갔다 한다.
  • id/pwd는 클라이언트가 준 값으로 전달

4. 쿼리의 결과가 나오고 WAS는 다시 웹서버에게 전달 -> 클라이언트에게 보이는 것이다.






# 클라이언트가 서버에게 요청하는 방법

  • 다른 사람 컴퓨터에서 돌아가는 어떤 프로세스에다가 요청을 보내는 것이다.
  • 이 요청을 브라우저를 이용해서 아주 편리하게 요청을 할 수 있다.
  • 브라우저 없이 하려면 cmd창에서 curl 사용해서 해야 한다.



@ 라이브 서버- 브라우저로 요청


@ curl로 요청










3. WAS - tomcat 사용해보기

  • 톰캣 실행해보기 ( WAS 사용해보기 )
  • WAS는 정적/동적 다 가능한 것



1. tomcat 서버 실행

  • tomcat – bin폴더 – startup.bat 파일 ( window에서는 이거 사용 )





2. tomcat에게 요청 보내기 ( 기본 페이지 요청 )


## curl 방식 말고 쉽고 이쁘게 화면 보기 위해 웹 브라우저에서 요청! ##




127.0.0.1:8080 -> tomcat의 포트 번호 8080 -> 내 컴퓨터의 8080 포트 번호에 요청하는 것



# 아무런 추가 요청을 하지 않으면 톰캣은 기본 웰컴 파일들 보여준다. #
# index.html / index.jsp / index.html 파일들을 열어 준다. #






3. 배포

  • 정적인 배포 ( .txt .html 등과 같은 파일을 tomcat에 추가하는 것 )
  • 동적인 배포 ( java 파일을 tomcat에 추가 하는 것 )




3-1. 정적인 배포

  • 파일 2개 추가해서 tomcat에게 요청 보내기
  • 추가한 문서 요청하기- ( .txt 랑 .html 파일 )
  • 이 파일들도 ROOT경로에 있는 애들이니까 tomcat에게 보여달라고 요청할 수 있다.





# 배포

  • 이렇게 tomcat 서버 열어놓고
  • 이런 파일 저런 파일 올려주는 것이 정적인 배포!
  • 내가 원한다면 ROOT 경로뿐 아니라 myPrj 새로운 폴더 만들어서 여기 찾아가서 할 수 도 있다.
  • webapps의 ROOT가 기본 경로가 되는 것이고
  • 내가 추가한 거 찾아가도록 해주려면 webapps 그 이후에 경로 넣어주면 된다!





3-2. 동적인 배포

  • 동적으로 사용해보기 = java파일 등록하기
  • tomcat이라는 것은 WebServer인데 – 서버는 본인이 가지고 있는 파일을 보여줄 수 있는 능력이 있다.
  • 서버는 현실 세계의 서버들과 같이 -> 클라이언트가 뭘 달라 그러면 뭘 준다.
  • 대신 없는걸 달라그러면 없다.( 중국집 가서 한우 달라 그러면 안 된다. )
  • 중국집에 전화해서 요청하는 것처럼 웹브라우저를 통해서
  • 127.0.0.1:8080 에 실행되고 있는 tomcat 서버에 요청하는 것이다.





클라이언트가 웹 브라우저를 통해서 요청을 보내고
그 요청 내용을 간단한 거면 웹서버가 직접 처리하는 경우도 있고
더 작업이 필요하다면 WAS에게 위임을 한 다음에
WAS가 처리한 결과를 받아서 처리한다.
여기서 처리는 client에게 보여주는 것









4. 이클립스와 tomcat 연결해서 배포해보기

  • - java 파일을 tomcat 서버에 올릴 것인데
  • 이제 파일을 만들어가지고 -> tomcat에 올리고 -> tomcat재기동 -> 브라우저 실행 -> 귀찮다..
  • 이 귀찮은 작업을 eclipse라는 tool에서 tomcat을 연동시킨다.
  • 연동시키면 – 아까는 start.bat으로 실행했던 것을 -> 이클립스 버튼 하나로 처리되도록 할 수 있다.
  • 즉, 이클립스에서 톰캣을 연결해주고, 파일을 업로드해줄 수 있다.




4-1 이클립스와 톰캣 연결하기와 서버 등록하기는 따로 첨부


이클립스와 tomcat을 연결해놓고
내가 보여주고 싶은
정적인 파일이나 / java파일을 추가해주는 것이 배포!







# Check Point

  • tomcat에다가 웹 프로젝트를 추가하게 되면 전체 내용을 배포하는 것이 아니라
  • 웹 프로젝트의 WebContent에 있는 내용만 배포될 것이다.
  • WebContent안에 있는 내용만 tomcat에게 전달되어서 배포될 것이다.









4-2 배포해보기( java 파일 추가해보기 )



1. class파일 만들기






2. Servlet 만들어 주기 ( 서블릿이 뭔지는 내일 설명 )




2-1. extends HttpServlet



2-2. @WebServlet(urlPatterns =" " )



2-3. service () 오버라이드



클래스 파일 추가 끝!
서버 재기동 후 테스트




2-4 우리는 브라우저에서 호출했는데 – 콘솔 창에 무엇인가 출력됨! WOW