자바 웹/서블릿 (7) 썸네일형 리스트형 서블릿 필터와 리스너 기능 서블릿 속성과 스코프 서블릿 속성 ServletContext HttpSession HttpServletRequest 위의 3가지 서블릿 API 클래스에 저장되는 객체 서블릿 스코프 서블릿 API에 바인딩된 속성에 대한 접근 범위 ServletContext : 여기에 바인딩된 속성은 애플리케이션 전체에서 접근하므로 애플리케이션 스코프를 가짐 HttpSession : 그 세션에 해당하는 브라우저만 접근할 수 있기 때문에 세션 스코프를 가짐 HttpServletRequest : 해당 요청/응답에 대해서만 접근하기 때문에 리퀘스트 스코프를가짐 스코프의 기능 로그인 상태 유지 장바구니 MVC의 Model과 View의 데이터 전달 기능 각 객체들 바인딩 바인딩한 객체들 값 불러오기 set 실행하고 get 실행하면 .. 쿠키와 세션 웹 페이지 연결 기능 HTTP 프로토콜은 각 웹 페이지의 상태나 정보를 다른 페이지들과 공유하지 않기 때문에 웹 페이지나 서블릿끼리 상태나 정보를 공유하려면 세션 트래킹을 이용해야 한다. 태그 사용 URL Rewriting 쿠키 세션 태그와 URL Rewriting을 이용해 웹 페이지 연동하기 태그를 이용한 세션 트래킹 위와 같은 로그인 폼을 만든다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 @WebServlet("/login") public class LoginServlet extends HttpServlet { public void init(ServletC.. load-on-startup 기능 서블릿은 브라우저에 최초 요청 시 init() 메서드를 실행한 후 메모리에 로드되어 기능을 수행하기 때문에 최초 요청에 대해서는 실행 시간이 길어진다. 이런 단점을 보완하기 위해서 사용하는 기능이 load-on-startup이다. 톰캣 컨테이너가 실행되면서 미리 서블릿을 실행 지정한 숫자가 0보다 크면 톰캣 컨테이너가 실행되면서 서블릿이 초기화 지정한 숫자는 우선순위를 의미하며, 작은 숫자부터 먼저 초기화 이 기능을 구현하는 방법으로는 애너테이션을 이용하는 방법과 web.xml에 설정하는 방법이 있다. 애너테이션을 이용하는 방법 애너테이션을 이용해 web.xml에서 공통 메뉴를 읽어오기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 .. 바인딩 - 데이터의 양이 적을 때는 get방식으로 데이터를 전달하지만, 대량의 정보일 경우 불편 - 서블릿에서 다른 서블릿이나 JSP로 대량의 데이터를 공유하거나 전달할 때는 바인딩을 사용 - 바인딩은 데이터를 서블릿 관련 객체에 저장하는 방법으로, 저장된 데이터는 프로그램 실행시 서블릿, JSP에서 공유해 사용 바인딩 관련 메서드 setAttribute(String name, Object obj) : 데이터를 각 객체에 바인딩 getAttribute(String name) : 각 객체에 바인딩된 데이터를 name으로 가져옴 removeAttribute(String name) : 각 객체에 바인딩된 데이터를 name으로 제거 HttpServletRequest를 이용한 redirect 포워딩 시 바인딩 - Fir.. 서블릿 비즈니스 로직 처리 서블릿 데이터베이스 연동 서블릿으로 회원 정보 테이블 회원 정보 조회 MemberServlet.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 package sec01.ex01; import java.io.IOException; import java.io.PrintWriter; import java.sql.Date; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.. 서블릿 기초 - 로그인 창을 만드는 html파일 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/logi.. 서블릿 이해하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package sec01.ex01; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FirstServlet extends HttpServlet{ @Override public void init() throws ServletException { System.out... 이전 1 다음