Written by
최태열
on
on
Servlet1
Servlet이란?
Web 개발 개요
http 프로토콜 기반의 지원 기술
- http 프로토콜 기반의 웹 기반(url)의 직접적인 통신은 html(view) or Servlet(controller) or JSP(view)
- 일반 순수 자바는 절대 url로 요청 처리 불가
- controller의 처리 요철 및 결과 값을 controller에게 반환하는 핵심 기능 로직 수행
Front End
화면구성
- html : 구조
- css : html의 디자인적 요소를 담당
- java script : 브라우저 화면의 동적 처리를 위한 언어
Back End
java 기반 : Servlet & JSP 스팩
- client 요청 받고 DB와도 소통
- sql & JDBC & JPA (Java <-> DB)
-
- server 자체의 설정 정보에 db 접속에 대한 제약
-
DB접속 자체의 동시 접속자 수를 제한에 대한 Connection pool 설정
Servlet
Servlet이란?
클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그램이다.
즉, MVC 패턴에서 Controller의 역할을 맡아 자바 프로그램의 기능을 수행하여 알맞은 View를 호출하는 역할을 한다.
자바 코드 안에 HTML을 포함한다는 특징이 있다.
- 종류
- HttpServlet
- 부모 클래스
- http 통신 스펙 지원하는 클래스
- 메소드 상속받아서 재정의
- 주요 메소드 service() doGet() doPost()
- HttpServletRequest
- 요청한 client의 정보를 보유하는 객체
- client가 입력한 데아터, client 브라우저 정보, ip등 확인….
- 주요 메소드 String getParameter() String[] getParameterValues() getRequestDispatcher() setCharacterEncoding() - 엔코딩 설정
- HttpServletResponse
- 요청한 client에게만 응답을 책임지는 객체
- 출력 객체도 생성해서 브라우저에 응답
- 주요 메소드 setContentType(“mimetype;charset=utf-8”) PrintWriter getWriter() sendRedirect()
Servlet Container
Servlet은 사용자인 client의 수와 무관하게 언제나 하나의 객체 만을 가진다. 그리고 그 Servlet 객체는 server(web container = web server = web application = servlet engine) 내부에서 하나의 Process로 간주된다.
Client 요청에 따라 알만은 Servlet 객체와 연결 시켜준다.
Servlet의 동작방식
https://mangkyu.tistory.com/14
클라이언트가 입력을 하거나 클릭을 하게 되는 경우 그 값을 HTTP REQUSET를 통해 Servlet Container로 전송한다. 요청된 url을 확인하여 알맞은 Servelt의 Service를 실행하여 동적 페이지를 생성해 HTTP RESPONSE를 통해 출력한다.