개발/JSP

    서블릿이란

    CGI (Common Gateway Interface) 웹서버와 프로그램 사이의 데이터를 주고받는 규칙 1990년 초반 초기 HTML문서는 웹서버에서 클라이언트로의 일방적인 정보전달만 했다. 정적인 데이터(HTML, XML, 이미지 등)를 전달하는 것만으로 충분. 웹사이트에 필요한 정보를 올려두면 그 정보를 원하는 측에서 받아가거나 참조하는 단방향의 정보전달만 했었기 때문에 정보제공측과 수해측 의사효관이나 정보교환을 이뤄지지 않음 웹서버와 클라이언트간에 필요한 정보교환을 가능하게 해주는 일종의 프로그램 웹이 발달하여 입력을 받아 처리하고 그 결과를 화면에 보여주는 동적인 페이지가 필요하게 됨 사용자의 요청을 받아 정보를 동적으로 생성하고 이를 다시 클라이언트로 보내주기 위해, 서버에서 다른 프로그램을 불..

    MVC 패턴

    JSP로 구성할 수 있는 아키텍쳐는 모델1, 모델2로 나뉜다. 모델1 뷰와 로직을 모두 JSP 페이지 하나에서 처리하는 구조 자바빈(자바 클래스)이나 서비스 클래스를 사용해서 웹브라우저가 요청한 작업을 처리하고 그 결과를 클라이언트에 출력한다. 장점 구조가 단순하여 익히기 쉽다 단점 출력을 위한 뷰 로직과, 비지니스 로직을 위한 자바 코드가 함께 섞이기 때문에 코드가 복잡해짐 모델 2 JSP페이지와 서블릿, 로직을 위한 클래스가 나뉘어 브라우저 요청을 처리함 서블릿은 웹브라우저의 요청에 맞게 그 결과를 보여줄 JSP 페이지로 포워딩한다. 포워딩을 통해 컨텍스트를 받은 JSP 페이지를 결과 화면을 클라이언트에 전송한다. 이 과정에서 서블릿이 로직을 처리한다 특징 모든 요청을 단일 진입점, 하나의 서블릿에서..

    ServletContextListener

    - 웹 어플리케이션이 시작되거나 종료될 때 호출할 메서드를 정의한 인터페이스. - public void contextInitialized(ServletContextEvent sce) : 웹어플리케이션을 초기화할 때 호출 - public void contextDestroyed(ServletContextEvent sce) : 웹 어플리케이션을 종료할 때 호출. 서블릿은 다양한 시점에서 발생하는 이벤트와 이벤트를 처리하기 위해 인터페이스를 정의하고 있다. 이들 이벤트와 인터페이스를 이용하면 데이터의 초기화, 요청처리 등을 추적할 수 있게 된다. 웹 컨테이너는 컨텍스트가 시작되거나 종료되는 시점에 특정 클래스의 메서드를 수행할 수 있는 기능 제공 1. javax.servlet.ServletContextListe..

    JSP 필터

    필터란? 필터는 이름에서도 알 수 있듯 정수기 필터, 에어컨 필터, 담배의 필터와 같이 무언가를 걸러내는 필터를 말합니다. JSP/Servlet 에서도 필터의 개념은 같지만 걸러내는 대상이 다릅니다. Jsp/Servlet에서의 필터는 서블릿 2.3 부터 추가된 기능으로 클라이언트(브라우저)가 서버로 요청을 보내올때 요청이 서블릿으로 전달되기 전, 후에 필터링하기 위한 기술을 의미합니다. Jsp/Servlet 스펙에서 필터는 사용하기 쉽도록 javax.servlet.Filter 인터페이스로 제공하고 있으며 이것을 구현하고 web.xml에 등록하기만 하면 간단하게 사용할 수 있습니다. 인터페이스의 구현 메서드는 서블릿의 service() 메서드나 doGet() doPost() 메서드와 유사하기때문에 매우 익..