본문 바로가기
728x90
반응형

Java Web Programming/3. Servlet10

[Servlet] 서블릿과 JDBC - Database 연동 (DB 연동) / annotation 기반 설정 * Dynamic Project 2.5 version과 3.1 version의 차이! → Annotation 기반 서블릿 설정 제공 여부의 차이! (Servlet 3.0이상 버전에서 제공) [ annotation & Web Container ] > annotation Servlet class의 상단부에 @WebServlet( url-pattern ) 을 명시하면, 기존 web.xml의 url-pattern 설정과 동일한 효과를 가진다. 어노테이션 기반 설정은 개발의 생산성을 위해 지원한다. → 소스 코드 상의 기술(tech)이다. 전역적인 설정 (ex-ServletContext의 context-param/session config 등)은 web.xml에서 하고, → 유지보수성 개별 서블릿에 관련된 설정은.. 2020. 8. 25.
[Servlet] ServletContextListener 개념, 구현 방법 및 예제 ServletContextListener 란? : 웹 어플리케이션 LifeCycle 발생 시 실행되는 메서드를 가진 객체 * ServletContextListener를 사용하는 이유 → Servlet의 LifeCycle은 Container가 담당한다(init() / service 계열 method / destory() - 객체 생성, 초기화, 서비스, 소멸의 역할을 Container가 함). 이 때, 초기화 단계에서 해야 하는 일들이 있다. 예를 들어, 파일을 직렬화하여 정보를 불러오거나, 초기 설정을 해주어야 한다. 그리고 소멸할 때, 파일을 역직렬화해서 저장(백업) 해놓는 등의 작업이 필요하기 때문에, listner class가 유용하게 사용될 수 있다. ⇒ Servlet/JSP가 들어있는 Web a.. 2020. 8. 24.
[Servlet] Web 중간 정리! [ Client Side Tech 클라이언트 사이드 기술 ] HTML : 웹 문서의 컨텐츠 (구조, 구성요소) JavaScript : 웹 문서의 동작 (행위) - 최근에는 서버 사이드에서도 적용된다 css : 웹 사이트의 디자인 스타일 [ Server Side Tech 서버 사이드 기술 ] Servlet : java web application을 위한 기술 - MVC에서 Controller(제어자)의 역할 [ WAS (Web Application Server) ] : Web Server + Web Container ( Servlet Container) - Web Server : HTTP 프로토콜에 의거하여 html서비스를 하는 것 - Web Container : ① Servlet과 JSP 실행 환경을 제.. 2020. 8. 24.
[Servlet] 서블릿 ServletConfig / ServletContext [ ServletConfig ] : Config = Configration : 개별 서블릿이 실행하기 위해 필요한 설정 정보를 제공 → 개별 서블릿 객체 당 하나씩 생성 (web container에 의해 init() 메서드 실행 시 전달됨) → 초기 파라미터 (init-param), ServletContext 객체의 주소값 등이 ServletConfig 객체에 저장된다. → 코드와 설정 정보를 분리해서, 유지보수성을 향상시킬 수 있다. (코드 - Servlet / 설정 정보 - xml / ServletConfig로 연결) ServletConfig는 javax.servlet의 public interface이다. ServletConfig를 분석하는 예제 package step1; import java.io... 2020. 8. 21.
[Servlet] 서블릿 Life Cycle 생명주기 [ Servlet Life Cycle ] : 서블릿 생명주기의 주요 메서드로는 Servlet interface의 init(), service(), destroy()가 있다. : Web Container(or Servlet Container or WAS)가 담당한다. > 서블릿이 생성되어 서비스하고 소멸되는 과정 ① 사용자로부터 특정 페이지에 대한 요청이 들어오면 컨테이너로 요청 정보가 전해진다 ② 컨테이너는 배포서술자(DD:Deployment Descriptor)의 서블릿 맵핑 정보를 참조하여 해당 서블릿을 호출한다. is loaded ? 해당 Servlet / JSP 객체가 메모리에 적재되었는지 여부를 확인한다 no → ③번으로 (최초 요청 시에만 실행 : 1번 실행) yes → ④번으로 (요청 시마다.. 2020. 8. 21.
[Servlet] 서블릿 Hierarchy 계층 구조 (Web Container, Web Server) [ Servlet 계층 구조 ] Servlet : 모든 서블릿과 JSP가 하위로 implements 해야 하는 java web programming 의 최상위 인터페이스 * 주요 추상 메서드(abstract method) → init() / service(request, response) / destroy() 가 있다. GenericServlet : 프로토콜에 독립적인 클래스 : service() 메서드( ← abstract method)를 제외한 서버프로그램을 구현하는 데 유용한 메서드들을 하위(자식) 클래스에게 제공한다. * 대표 메서드 → init() / service(request, response) 등이 있다. HttpServlet : 일반적으로 java web programming을 위한 프로.. 2020. 8. 21.
CODE [Servlet] check box 연습 예제 # 문제 1. 선택항목을 보여준다 step5.MovieServlet string[] : getParameterValues(String name) 이용 비밀의 숲 케넷 내부자들 # 문제 2. 체크박스 문제 - js 체크박스를 선택하지 않으면 -> alert : 영화를 선택하세요 -> 전송 X # 문제 3. 전체 선택을 누르면 -> 영화 체크박스가 모두 체크된다. 다시 누르면 -> 영화 체크박스가 해제된다. HTML 전체선택 비밀의 숲 케넷 내부자들 JAVA (servlet) package step5; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet... 2020. 8. 21.
[Servlet] form 연동 [ form을 활용해 servlet 생성하는 방법 ] 1. dynamic web project > Java Resources > src에서 tool로 Servlet 생성 2. Java package와 Class name 입력 3. 원하는(필요한) method 선택 결과 xml xml에 자동 생성됨 webstudy5-form index.html index.htm index.jsp default.html default.htm default.jsp ToolServlet ToolServlet step1.ToolServlet ToolServlet /ToolServlet html ToolServlet 실행 Servlet (java class) package step1; import java.io.IOExceptio.. 2020. 8. 20.
[Servlet] Web 기초 * DD - Deploymet Descriptor : 배포 기술서 - url-pattern / init-param 등이 이에 속함 http://ip:port/serverProgramUrl?name=value 처리할 서버 프로그램 : RequestResponseServlet → url-pattern : rr (web.xml) : doGet(request, reponse) web.xml webstudy4-servlet-basic index.jsp hello step1.HelloServlet hello /h RequestResponseServlet step2.RequestResponseServlet RequestResponseServlet /rr PostServlet step3.PostServlet PostS.. 2020. 8. 20.
728x90
반응형