Server + Applet의 합성어
JAVA언어를 이용하여 사용자의 요청을 받아 처리하고
그 결과를 다시 사용자에게 전송하는 역할의 Class파일
웹에서 동적인 페이지를 java로 구현한 서버 측 프로그램
다시 말해 기존의 java 파일에 웹 페이지 구현을 위한 html이 들어간 구조*
HTTP프로토콜을 사용하는 서블릿은 HttpServlet클래스를 상속받음
-서블릿 동작 구조
클라이언트 >요청> 웹서버 > 서블릿 컨테이너 > 웹서버 >응답> 클라이언트
*서블릿 컨테이너
웹서버 또는 응용 프로그램 서버의 일부
웹 서버에서 온 요청을 받아 서블릿 class를 관리하는 역할(생명주기)
컨테이너의 서블릿에 대한 설정은 Deployment Descriptor(web.xml) 배포서술자 파일 이용
배포서술자는 애플리케이션에 대한 전체 설정정보를 가지고 있는 파일
이 정보를 가지고 웹 컨테이너가 서블릿을 구동, xml파일로 요소(태그)로 이루어져 있음
애플리케이션 폴더의 WEB-INF폴더에 web.xml파일이 배포 서술자
-설정 정보
Servlet 정의, Servlet 초기화 파라미터
Session 설정 파라미터
Servlet/JSP 매핑, MIME type 매핑
보안 설정
Welcome file list 설정
에러 페이지 리스트, 리소스, 환경 변수
-서블릿 매핑
클라이언트가 servlet에 접근할 때 원본 클래스 명이 아닌 다른 명칭으로 접근시 사용
설정방법은 web.xml과 @annotation 사용
-Context Path => WebContent 아래를 말함
애플리케이션의 root경로 (주소의 가장 최상단)
-서블릿 라이프 사이클
첫번째 요청일 경우 객체생성하며 inti()메소드 호출
이후 작업이 실행될때마다 service()메소드가 요청한 HTTP 타입에 따라 doGet(), doPost() 호출
최종적으로 서블릿이 서비스 되지 않았을 때 destroy() 호출
-get방식
URL창에 "?" 뒤에 데이터를 입력하는 방법(쿼리스트링)
데이터가 여러개일 경우 &으로 묶어서 보냄
데이터 검색에 많이 사용하고 데이터 크기에 한계가 있으며 보안이 취약함
따라서 로그인 같은 경우 get방식은 부적합함
-post방식
BODY에 내용을 보내는 방식으로 데이터 크기에 제한이 없고 보안이 뛰어남
html의 <form>에서 method속성을 이용해 방식을 결정함
default 는 get방식
-서블릿 매개변수 객체
HttpServletRequest
-getParameter(String) : 클라이언트가 보내준 값에 저장된 명칭이 매개변수와 같은 명칭에 저장된 값을 불러오는 메소드
-getParameterValues(String) : 클라이언트가 보내준 값이 여러개일 경우 그 값을 배열로 불러오는 메소드
-setAttribute(String, object) : request객체에 전달하고 싶은 값을 String 이름으로 Object저장하는 메소드
-getAttribute(String) : 매개변수와 동일한 객체 속성값을 불러오는 메소드
-setCharacterEncoding(String) : 전송받은 request객체의 값들의 ChracterSet을 설정해주는 메소드
-getRequestDispatcher : 컨테이너 내에서 request, response객체를 전송하여 처리할 컨포넌트(jsp파일 등)를 불러오는 메소드. forward()메소드와 같이 사용
HttpServletResponse
-setContentType(String) : 응답으로 작성하는 페이지의 MIME type을 정하는 메소드
-sendRedirect(String) : 클라이언트가 매개변수의 페이지를 다시 서버에 요청하게 하는 메소드
-getWriter() : 문자를 페이지에 전송하기위한 Stream을 가여조는 메소드
Dynamic Web Project 세팅 (0) | 2021.03.22 |
---|---|
tomcat server 사용하기 (0) | 2021.03.21 |
댓글 영역