ServletContextListener - 웹 어플리케이션이 시작되거나 종료될 때 호출할 메서드를 정의한 인터페이스. - public void contextInitialized(ServletContextEvent sce) : 웹어플리케이션을 초기화할 때 호출 - public void contextDestroyed(ServletContextEvent sce) : 웹 어플리케이션을 종료할 때 호출. 웹 어플리케이션이 시작되고, 종료될 때 특정한 기능을 수행하기 위해서는 아래와 같이 하면 된다. 1. javax.servlet.ServletContextListener 인터페이스를 구현한 클래스를 작성한다. 2. web.xml 파일에 1번에서 작성한 클래스를 등록한다. jdbc.DoDBCPInitListener..
서블릿이란? - JSP 표준이 나오기 전에 만들어진 표준으로 자바로 웹 어플리케이션을 개발할 수 있도록 만들어진 것 자바 클래스 종류 - 요즘은 프레임워크의 사용으로 개발자가 직접 서블릿을 개발해야하는 경우는 없지만 동작방식을 이해해야할 필요가 있는 웹 개발의 기초중의 기초이다. 서블릿 구현 코드 public class NowServlet extends HttpServlet{ @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } } - 메소드명은 get방식이냐 post방식이냐에 따라 doGet, doPost로 변경하면 된다. 서블릿으로 이용할 클래..
커스텀 태그 - 스크립트 요소(스크립틀릿, 표현식 등)가 많아질수록 JSP 코드는 복잡해진다. - 커스텀 태그를 이용하여 위 문제점을 해결 - JSTL이 표준 커스텀 태그인데 이처럼 코드의 가독성을 높여주는 방법 - JSP tag 파일을 생성해서 사용할 수 있음. 태그파일에서 사용할 수 있는 디렉티브들 디렉티브 설명 tag JSP 페이지의 page 디렉티브와 동일. 태그바일의 정보를 명시. taglib 태그파일에서 사용할 태그라이브러리를 명시. 사용법은 JSP 페이지와 동일 include JSP 페이지와 마찬가지로 태그 파일에 특정한 파일을 포함시킬 때 사용. attribute 태그 파일을 커스텀 태그로 사용할 때 입력받을 속성을 명시. variable EL 변수로 사용할 변수에 대한 정보 저장. tag..
액션태그의 주요 사용 방법 page : 포함할 JSP 페이지의 경로를 지정 flush : 지정한 JSP 페이지를 실행하기 전에 출력 버퍼를 플러시할지 여부를 지정한다. true이면 출력 버퍼를 플러시하고, false 이면 플러시하지 않는다. flush 속성이란?? → https://sas-study.tistory.com/203 [JSP] flush 속성 - jsp 액션태그(예 ) 속성 중 flush라는 속성이 있다. 이는 true, false 를 값으로 가지는 boolean 속성이다. - 이는 jsp:include 액션태그.. sas-study.tistory.com 액션태그 동작방식 메인.jsp가 웹 브라우저의 요청을 받게됨 액션태그를 만나기 전까지의 메인.jsp의 출력내용을 출력버퍼에 저장 액션태그를 ..
- jsp 액션태그(예 ) 속성 중 flush라는 속성이 있다. 이는 true, false 를 값으로 가지는 boolean 속성이다. - 이는 jsp:include 액션태그가 실행될 때 출력버퍼에 저장된 기존 코드들을 플러시하고 서브 페이지로 실행흐름이 이동한다는 말이다. 동시에 응답상태코드와 HTTP응답 헤더가 웹브라우저에 함께 전송된다. - 응답상태코드와 HTTP 응답헤더가 웹브라우저에 전송된다면 새로 헤더정보를 추가하더라도 웹 브라우저는 받을 수 없게 된다. - 따라서 일반적으로 flush 속성을 false 로 지정하는 것이 좋다. 왜냐하면 하나의 jsp:include 액션태그의 flush 속성이 true로 설정되어 있다면 출력버퍼는 비워지고 모든 헤더정보를 웹브라우저에 전송하게 되는데 나중에 헤더..
- JSP는 실행 도중 익셉션이 발생하면 위의 에러화면 대신에 지정한 JSP 페이지를 보여줄 수 있는 기능을 제공하고 있습니다. - 익셉션 발생 시 보여줄 JSP 페이지는 page 디렉티브의 errorPage 속성을 사용해서 지정합니다. name 파라미터 값: 2번째 줄을 보면 page 디렉티브에 errorPage 속성에 jsp 주소를 값으로 넣으면 해당 페이지를 에러페이지로 사용할 수 있게 됩니다. 에러페이지 작성하기 - 에러페이지를 지정한다고해서 무작정 해당 페이지가 에러페이지로 사용할 수 있는것이 아닙니다. jsp 자신이 에러페이지라는 것을 인식할 수 있도록 해야합니다. - 에러페이지 jsp 파일의 page 디렉티브에 isErrorPage 속성을 true로 선언해주면 해당 jsp는 자신이 에러페이지..
- 웹 브라우저는 GET 방식과 POST 방식 두가지 방식중 하나를 이용해 파라미터를 전송. get 방식 지정방법 GET 방식은 요청 URL에 파라미터를 붙여서 전송하게 된다. https://sas-study.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F 현재 글을 쓰고 있는 티스토리 블로그의 주소를 가져와봤다. ?type=post& 부터 파라미터값이다. 이름=값으로 매핑하고 &(앤퍼센트)로 파라미터들을 구분하고 있다.(%기호는 인코딩된 문자열이므로 저 자체가 문자열이라고 보면된다. 실제로 type과 returnURL이라는 파라미터가 넘어온 것이다.) - get 방식은 Query String이라는 문자열로 파라미터를 전송하는 것..
request 기본객체 - JSP 에서 가장 많이 사용되는 기본객체, 웹 브라우저의 요청과 관련 - 웹 브라우저는 해당 웹 서버에 연결한 후 요청정보를 전송하는데, 이 요청정보를 제공하는 객체 기능 클라이언트 정보 및 서버정보 보기 - 클라이언트가 전송한 정보와 서버정보를 볼 수 있는 메소드 제공. 클라이언트IP = 요청정보길이 = 요청정보 인코딩 = 요청정보 컨텐츠타입 = 요청정보 프로토콜 = 요청정보 전송방식 = 요청 URI = 컨텍스트 경로 = 서버이름 = 서버포트 = 본인 노트북으로 해당 JSP 페이지를 로드한 결과는 다음과 같다. request 객체의 요청 파라미터 관련 메소드들 메소드명 리턴타입 설명 request.getParameter("color"); String (중요*)이름이 "colo..