[jsp] 서버와 클라이언트, 아파치와 서블릿

seulki·2022년 10월 5일
0

jsp

목록 보기
2/51
post-thumbnail
post-custom-banner

🎈JSP(Java Server Page)

  • 자바를 기반으로 한 서버개발 언어
  • HTML을 중심으로 자바와 같이 연동하여 사용하는 웹 언어이다.
  • HTML 코드 안에 JAVA코드를 작성할 수 있는 언어이다.


🎈서버(service + er)

  • 사용자의 요청에 맞는 서비스를 제공해주는 것

    				요청(request)				  				WAS
    	클라이언트 	------------------>  		----->	웹서버 ---> 웹컨테이너
    								httpd(http데모)
    	클라이언트 	<------------------  		<-----	웹서버 <--- 웹컨테이너
    				응답(response)								WAS


🎈웹(Web)

  • 페이지 요청과 응답이 일어나는 장소.
  • 인터넷이 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 정보 공간


🎈웹서버(Web Server) - Apache

  • 사용자가 요청한 데이터가 정적인 데이터인지 동적인 데이터인지 판단
    -> 정적인 데이터라면 이미 준비된 HTML 문서를 바로 응답
    -> 동적인 데이터라면 웹 컨테이너로 요청을 보낸다. (WAS를 통해)


🎈웹컨테이너(서블릿 컨테이너)

  • 동적 데이터일 경우 JSP, 서블릿으로 연산 및 제어하고, DB에 접근해서 동적데이터를 정제된 데이터(정적 데이터)로 완성하여 이를 응답해준다.


🎈WAS(Web Application Server) - Tomcat

  • 동적 데이터를 처리할 서블릿메모리에 할당하며,
    web.xml을 참조하여 해당 서블릿에 대한 Thread를 생성한다.
    (요청 1개당 1개의 Thread가 필요!)
  • 서블릿 요청 객체( HttpServletRequest)
    서블릿 응답객체(HttpServletResponse)를 생성
    서블릿에 전달하면 연산 종료 후 메모리에서 해제시킨다.
  • HTML파일(정적)에서 요청 된 동적데이터를 연산하려면
    .java파일에서 처리해야 하는데,
    .html 파일에서 web.xml 파일을 통해 .java를 참조해야한다.
  • WAS는 요청을 객체에 담아가고, 응답도 객체로 담는 역할을 한다.


🎈서블릿(Servlet)

  • Java를 사용하여 을 만들기 위해 필요한 기술이다.
    (Servlet 라이브러리사용)
  • 클라이언트의 요청을 처리하고, 그 결과를 반환하는
    Servlet클래스의 구현을 지킨 자바 웹 프로그래밍 기술
  • Java 코드 안에 HTML 코드를 작성할 수 있는 Java 프로그램이다.
  • (WAS가 생성한) Thread에 의해 서블릿에 있는 service() 메소드가 호출된다.
  • 전송방식(GET,POST) 요청에 맞게 doGet() 또는 doPost() 메소드를 호출한다.

🗝️결론

  • WAS동적인 Response 객체HttpResponse형태(정적 데이터)로 바꾸어서
    웹 서버에 전달하고, 생성된 Thread를 종료시킨다. 그리고 HttpServletRequest 객체HttpServletResponse 객체제거한다.
profile
웹 개발자 공부 중
post-custom-banner

0개의 댓글