web/Web

서블릿 개념 설명 및 주요 메서드 소개

반응형

서블릿(Servlet)은 자바 플랫폼에서 컴포턴트를 기반으로 한 웹 애플리케이션을 개발할 때 사용하는 핵심 기술이다. 


무엇보다 서블릿이 중요한 이유는 JSP가 바로 서블릿을 기반으로 한 기술이기 때문이다.


JSP가 등장한 가장 큰 이유는 서블릿이 가진 HTML 표현상의 문제를 해결 하기 위함이었다.

- 서블릿은 프로그램 내에서 HTML을 처리하기 때문에 간단한 태그를 변경할때 조찿 컴파일해야하는 문제가 있다.

- 그러나 JSP와 서블릿은 서로간의 상호 보완적인 관계이다. 


서블릿의 장점


- 스레드를 기반으로 하므로 웹 애플리케이션 운영에 효율적이다.

- 자바를 기반으로하는 자바 API를 모두 사용이 가능하다.

- 자바는 바이트 코드로 구성된 가상모신으로 돌리기 때문에 운영체제나 하드웨어에 영향을 받지 않고 한번 개발된 애플리케이션은 다양한 서버환경에서도 실행이 가능하다.

- 웹 확장이 가능하다.

- JSP 페이지에 HTML CSS 자바스크립트와 자바 소스 코드가 뒤섞이는 스파게티 소스를 막을 수 있다.

- JSP는 텍스트 파일 구조인데 비해 서블릿은 자바 클래스 구조이다.


사용방법

서블릿 프로그램을 작성하고 실행하려면 먼저 Servlet APO를 빌드 경로에 추가해야한다.

추가하는 방법은 해당 프로젝트에서 우측 클릭후

properties -> Java Build PAth -> Libraris 탭 -> Add External Jars 에 톰캣 설치 디렉토리의 common/lib 폴더에 있는 servlet-api.jar에 추가하면 된다.



- 서블릿에서 추가하는 serialVersionUID는 자바에서 클래스 상태 정보를 그대로 파일로 저장하는 객체 직력화라는 것이 있다. 이를 이용하면 특정 객체의 멤버 변수의 상태와 메서드를 그대로 파일로 만드는것이 가능하며, 필요할 때 다시 객체화해서 메서드를 이용하거나 멤버를  참조할 수 있게 된다. 이때 해당 클래스에 대한 고유값이 serialVersionUID이고 jdk1.5이후부터는 명시해 주어야 한다.



서블릿 클래스 선언

public class HelloWorldServlet extends HttpServlet{

}



httpservlet 클래스 주요 메서드

- getParameterNames() -> 현재 요청에 포함된 파라미터 이름을 enum 형태로 넘겨준다.

- getParameter(name) -> 문자열 name와 같은 이름을 가진 파라미터 값을 가져온다,

- getParameterValues(name) -> 문자열 name과 같은 이름을 가진 파라미터 값을 배열 형태로 가져온다.

- getCookies() 모든 쿠키 값을 javax.servlet.http.Cookies의 배열 형태로 가져온다.

- getMethod() 현재요청이 GET, POST 인지 가져온다,

- getSession() 현재 세선을 가지고온다.

- getRemoteAddr() 클라이언트의 IP 주소를 알려준다.

- getProtocol() 현재 서버의 프로토콜을 문자열 형태로 알려준다.

- setCharacterEncoding() 현재 JSP로 전달되는 내용을 지정한 캐릭터셋으로 변환해준다.(한글사용시 필요)

- setContentType(type) 문자열 형태의 type에 지정된 MIME Type으로 ContentType을 설정한다.

- sendError(status, msg) 오류코드를 설정하고 메시지를 보낸다.

- sendRedirect(url) 클라이언트 요청을 다른곳으로 보낸다,


출저 : 자바 웹 프로그래밍 - 한빛 미디어

반응형