서블릿 (servlet) - Scope
·
Programming Language/SERVLET
Scope ( 범위, lifecycle ) 1️⃣ 개요 임의의 데이터를 특정 객체에 저장할 수 있다. 객체가 3가지 형태가 있고 lifecycle가 다르다. ★★ 2️⃣ 종류 3가지 ✅ HttpServletRequest ( request scope 라고 부른다. ) // Attributes are reset between requests // request.getParameter(key) 구별해야 된다. -저장방법: request.setAttribute(String key, Object value); -조회: request.getAttribute(key); 형변환 필요 -삭제: request.removeAttribute(key); ✅ HttpSession ( session scope 라고 부른다. ) H..
서블릿 (servlet) - ServletConfig vs ServletContext
·
Programming Language/SERVLET
📌 javax.servlet.ServletConfig 서블릿 계층구조에서 본 것처럼 서블릿에 1:1 대응됨 ( 서블릿당 하나씩 생성 ) 다른 서블릿에서는 사용 불가 기능? a. 초기화 파라미터 조회 ( key/value 쌍 ) String s = getInitParameter(String name); 사용 ★ ⇒ web.xml에 서블릿을 맵핑할 때 key/value 쌍으로 값을 저장하고 필요 시 사용 ⇒ key/value 쌍을 자바에 저장하면 수정 시 재컴파일이 필요함 ⇒ 대표적인 예) 파일경로 ⇒ 스프링 프레임워크 사용한다 A dir_path c:\temp x y B b. ServletConext 반환 ServletContext ctx = getServletContext(); 📌 javax.servle..
서블릿 (servlet) - 서블릿의 핵심 기능
·
Programming Language/SERVLET
🎯 서블릿의 핵심 기능(교안 p.40) 1️⃣ 요청처리 기능 html의 사용자 입력 태그에 값을 지정하고 submit 버튼을 선택하면 서버에 파라미터가 전달된다. 요청받은 서블릿은 HttpServletRequest 객체의 메서드를 사용하여 요청 파라미터 값을 얻을 수 있다. 📌 실행순서 1. 사용자 입력 태그를 가진 html (jsp) 작성 - loginForm.jsp - New jsp file 생성 코드 작성 2. 사용자 입력 값을 얻기 위한 서블릿 작성 - LoginServlet ( 서블릿맵핑: /login ) - method=”get” ⇒ doGet 으로 처리 - method=”post” ⇒ doPost 으로 처리 만약 일치하지 않으면 405 에러가 발생됨 2️⃣ 응답처리 기능 - html 작성해서..
서블릿 (servlet) - 서블릿 lifecycle
·
Programming Language/SERVLET
🎯 서블릿 lifecycle tomcat 컨테이너가 서블릿의 life cycle 관리 ( 생성 ~ 소멸 ) 생성시 호출 메서드 : init () 메서드 콜백 호출 단 한번만 호출된다. 요청시 호출 메서드: service() 메서드(doGet, doPost) 요청할 때마다 호출된다. 삭제시 호출 메서드: destroy() ⇒ 콜백 메서드로 동작됨 (시스템이 특정 상황에서 호출하는 함수) 서블릿은 단 한번만 생성된다. 단 하나의 생성된 서블릿을 이용해서 많은 사용자(클라이언트)의 요청을 처리한다. 주의할 점 인스턴스 변수는 단 한번만 생성된다. 여러 사용자가 공유할 수 있다. ( thread-unsafe ) 만약 공유하고 싶지 않으면 반드시 로컬 변수로 작성해야 된다. ( thread-safe ) ⇒ 결론은..
서블릿 (servlet) - 특징과 구현방법
·
Programming Language/SERVLET
1️⃣ 특징 main 없다. 요청한 서블릿이 시작점 역할 담당 Tomcat 컨테이너가 관리 (생성~소멸) 응답결과는 html이기 때문에 html 응답코드가 필요 2️⃣ 구현 방법 반드시 package 필수 extends HttpServlet ( javax.servlet.http.HttpServlet ) => 추상 클래스 💡 계층 구조 그림 (p.35) 💡 Java EE API 문서 ( java.oracle.com ) ServletContext (인터페이스, javax.servlet.ServletContext) ☑ ServletConfig의 getServletContext() 메서드를 사용해서 ServletContext를 얻는다. ex) 사용자 서블릿에서 ServletContext sc = getServl..
xoo | 수진
xoo의 성장기록