서블릿
자바 클래스 형태의 웹 어플리케이션
웹 응용 프로그램을 만들어 내기 위한 자바 클래스(기술)
실행 결과 값은 html로 작성된다.
브라우저를 통해 자바 클래스가 실행되도록 하기 위해서는 javax.servlet.http 패키지에서 제공하는 HttpServlet 클래스를 상속받아 구현해야 한다.
HttpServlet 클래스를 상속받아 만든 클래스를 서블릿 클래스라고 한다.
HttpServlet클래스는 웹 어플리케이션을 제작할 수 있는 클래스이다
서블릿의 특징
동적인 html(정적인 문제점 해결)
자바 언어로 작성되어 자바의 일반적인 특징을 모두 갖는다.
Object Oriented Programming(객체 지향)
다른 자바 기술과 연동 가능 (JDBC , EJB 등)
Container(톰캣)라는 특별한 환경에서 실행
Container 종류에 상관없이 작동된다.(플랫폼 독립적)
스레드 방식의 실행(프로세스 방식 X)
파일 확장자 : java
컴파일된 바이트 코드가 container에서 실행
웹 브라우저를 통해서 요청
들어오는 모든 요청은 자신만의 Thread 영역을 할당 받는다
서블릿의 동작원리
서블릿 수행은 설블릿 컨테이너에 의해 처리됨
서블릿이 요청될때마다 스레드가 계속 생성되어 서블릿 객체를 생성해서 수행한다
동작순서
1. 브라우저에서 서블릿을 요청
2. WAS안의 웹서버가 서블릿 요철을 인식하여 서블릿 컨테이너에게 서블릿을 수행하도록 넘겨줌
3. 서블릿 컨테이너는 스레드를 기동하여 해당 서블릿 객체를 생성하여 이를 수행
4. 서블릿 객체의 작업이 종료되면 기동되었던 스레드가 종료하고 리턴한다
5. 서블릿 수행결과가 웹 서버에 전송된다
6. 이를 클라이언트에 전송한다
GET/POST 클라이언트에서 서버로 데이터가 전달되는 방식
방식 설명 GET 기본 값이고, 파라미터의 값을 URL의 끝에 붙여서 전송 해주는 방식 http://www.naver.com 엔터(네이버 페이지를 나에게 주십시오._GET) 데이터가 URL 끝에 key=value 형태로 전달된다.
여러 데이터가 전송될 때는 & 로 구분된다.
get 방식으로도 post가 가능(문서 전달) : parameter string http://www.naver.com?name=value POST 방식에 비하여 빠르다.
보안이 취약하다.(보안상의 문제) 길이가 256바이트를 넘을 수 없다.(전송 데이터가 적을 경우에 유리하다.)
사용이 간편하다.
폼 태그가 아닌 직접 URL에 입력해서 전송도 가능하다.
html에서 지정된 방식과 서블릿의 서비스 메소드가 일치해야 된다POST 편지를 보내다.(post) 데이터가 전송 header에 숨겨져 넘어간다.(파라미터를 본문에 담아서 전송.)
보안 관련 문제 발생이 적다.(보안상 더 유용한 방식 )
데이터 수에 제한이 없다.
html에서 지정된 방식과 서블릿의 서비스 메소드가 일치해야 된다.
id/pw 입력, 회원 가입, 장바구니 등등
'Spring' 카테고리의 다른 글
[Spring] Annotation(유효성 검사) (0) | 2023.11.20 |
---|