ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • servlet
    SERVLET 2021. 12. 20. 23:59

     

    - Java Servlet이란 웹 페이지를 자바 언어로만 구성하는 기법이다.

    - (자바 클래스들) jsp 파일을 자바 언어로만 구성하는 것이다.
    - 톰캣을 사용해서 jsp파일을 자동으로 class로 변환 했다면 직접 클래스를 생성해서 클래스로 요청을 처리한다. (~con.jsp) -> (class)

    public class ServletBasic extends HttpServlet {

     

     # 서블릿 클래스를 만드는 방법

     1. HttpServlet 클래스를 상속 (extends HttpServlet)
       
    2. 생성자를 선언(선택)한다.


       public ServletBasic() {
          System.out.println("페이지에 요청 들어옴");
          System.out.println("서블릿 객체 성공");
       }
       
    3. HttpServlet이 제공하는 상속 메서드를 오버라이딩 한다.
     주로 사용되는 메서드: init(), doGet(), doPost(), destroy()...
       
       @Override
       public void init() throws ServletException {

           * 초기화가 될 때 호출 되는 메소드
         - 페이지 요청이 들어왔을 때 처음 실행할 로직을 작성한다.
         - init()은 컨테이너(server)에 의해 서블릿 객체가 생성될 때 최초 1회 자동으로 호출된다.
         - 객체의 생성자와 비슷한 역할을 수행한다.
       
          System.out.println("init 메소드 호출");
       }
       
       @Override
       protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         
           * http 통신 중 get요청이 발생했을 때 자동으로 호출되는 메소드
           * 매개값으로 내장객체 request와 response가 전달되므로 객체의 메소드를 통해 파라미터값을 가져오거나, 페이지 이동이 가능하다.

          System.out.println("doGet 메소드 호출");
       }
       
       @Override
       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

           * http 통신 중 post요청이 발생했을 때 자동으로 호출되는 메소드
           * doGet과 마찬가지로 내장객체 request와 response를 매개값으로 받는다.

          System.out.println("doPost 메소드 호출");
          
          String account = request.getParameter("account");
          
          UserVO vo = UserDAO.getInstance().getUserInfo(account);
          
          // 자바 클래스에서 세션을 사용하는 방법
          HttpSession session = request.getSession();
          session.setAttribute("user", vo);
          
          response.sendRedirect("/MyWeb/servlet/info.jsp");
          
       }
       
       @Override
       public void destroy() {

           - 서블릿 객체가 소멸될 때 호출되는 메소드 (객체 소멸 시 1회 자동으로 호출)
           - 대부분 객체 반납이나 소멸 등에 사용한다.

          System.out.println("destroy 메서드 호출");
       }
       
       
    }

     

    선생님이 주신 템플릿에 서블릿(자바 클래스)만을 사용하여 게시판 작성, 목록 불러오기, 글 수정, 글 삭제 등을 실습했다.

    'SERVLET' 카테고리의 다른 글

    servlet  (0) 2021.12.17
Designed by Tistory.