본문 바로가기

컴퓨터 프로그래밍/servlet

(20)
Filter Filter Register Member Form 이 름 나 이 주 소 package servlet.controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import servlet.model.MemberVO; public class RegisterServlet extend..
servletConfig servletConfig => 1) A Servlet Instance Initialization(A servlet A servletConfig 입니다. ) : application, 즉 컨테이너 차원의 global한 initialization이 있고, 위와같이 각각의 instance마다의 initialization이 있습니다. 2) Container차원에서의 값으로 초기화 -> Extra Resource : 값을 받아오는 통로는 클라이언트(form)에서 오는 방법 밖에 없는데 WAS가 읽을 수 있는 언어인 XML에 값을 저장하는 방법을 알아야 합니다. 아직 클라이언트의 요청을 받기 이전 시점인데, 필드 초기화를 하려면 클라이언트가 제공하는 값을 통해서 초기화 할 수 없습니다. 아직 ready-on 전입니..
servlet의 필드값 저장하고 읽어들여 초기화 servlet의 필드 최종 값을 프로그래밍이 꺼질때 DB 저장(destroy())해야하고, 다시 DB에서 가져와야(init())합니다. 서블릿 필드값 count값을 영구적으로 보관할 수 있는 방법은 지금으로서는 없습니다. 왜냐하면 서버가 stop되는 순간 destroy() callback 함수가 자동으로 호출되어 지고, 서블릿 인스턴스를 메모리에서 unbound 시켜버리기 때문입니다. 서버가 내려가더라도 서비스를 수행한 후 필드에 저장시킨 값을 영구적으로 보관하려면 1) DB 2) file(수업은 이것으로 합니다) 위 두가지의 형태로 자료를 저장해야합니다. 이때 서블릿 라이프 사이클 메소드가 중요하게 사용되어 집니다. 1) 해당 필드값을 파일로 출력 : destroy() 2) 파일에 저장된 값을 읽음: ..
WAS가 하는일, servlet life-cycle, load-on-startup WAS가 하는일 1. web.xml(Deployee Descriptor)을 읽어들입니다. DD파일(servlet 정의, Initialization 정보) 2. servlet 생성-> 기본생성자 호출 3. ServletConfig 객체 4. init() 호출 servletConfig를 인자값 들어갑니다. 위에 상태가 Ready-on 상태->only one: 한번만됨 최초의 요청이 있어야지 Ready-on상태로 됩니다. 그 다음 요청은 Ready-on 상태에서 아래가 실행됩니다. 이를 해결하기 위해서는 아래오 같이 해줘야합니다. lazzy loading이 default로 되어 있습니다. 이것을 free loading으로 해야하는데 이 옵션이 web.xml에 load-on-startup입니다. 5. 클라이언트..
post방식-doPost, get방식-doGet HTTPServlet(service(hreg, hres); 오버로딩)은 GenericServlet(service(req, res);)에게 상속을 받습니다. - service(hreg, hres);=doGet(hreq, hres), doPost(hreg, hres)-> html에서의 get방식인지 post 방식인지에 따라서 구분해서 사용합니다. - HttpServletReqest는 ServletReqest상속 - HttpServletResponse는 ServletResponse상속 - 상속을 받음으로써 general한 기능에 http에 특화된 기능들을 확장합니다. - 마찬가지로 service()보다 더 디테일한 기능을 가지는 것이 doGet()과 doPost()입니다. - get방식으로 단순 페이지 전달이..
WEB-INF WEB-INF : - 이 폴더를 기준으로 상위에 있는 것들은 정적인 문서입니다. INF 하위에 있는 것들은 동적인 문서입니다. - 이 폴더 아래에는 3개의 중요한 것들이 들어있습니다. 1) classes 2) web.xml 3) lib: 이 폴더는 tomcat home에도 있고, 각각의 context path의 webapp/WEB-INF에도 있습니다. 모든 context path에 적용하고자하는 라이브러리가 있다면 tomcat home에 있는 lib에 넣습니다. 각각 특정한 context path에만 적용하고자 하는 라이브러리는 각각의 lib안에 넣습니다. (ex:jsp라이브러리, JQuery 라이브러리) 다만, 두 lib 모두에 넣게 되면 충돌이 일어날 수 있습니다. 그러니, 잘 구분해서 넣어 주어야 ..
get과 post header 관련 내용 Http Header information... ID: PrintHeaderServlet으로 연결합니다. package servlet.header; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class PrintHeaderServlet extends HttpS..
CGI(Common gateway interface) 기술 CGI(Common gateway interface) 기술 : server(container를 말합니다. )상에서 실행되는 programm을 통칭해서 말합니다. - non java: ASP, PHP, pearl - java기반: jsp, servlet