ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (Servlet) 개념과 특징 정리
    서버 프로그래밍 2021. 8. 24. 17:22

    Servlet은 웹 페이지를 동적으로 생성하기 위한 서버 측 프로그램이다. 

    개념과 특징들을 정리해보자.

    • Java 기반으로 만들어졌으며 확장자는 .java이다. 반드시 패키지 밑에 있어야한다.(디폴트x)
    • 자바 코드 내부에 HTML 코드를 작성할 수 있다.
    • WAS(Web Application Server) 위에서 컴파일 되어 동작한다.
    • 자바와 HTML을 동시에 사용할 수 있어 서버프로그래밍이 가능하지만 자바 코드로 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    package test;
     
    import java.io.IOException;
    import java.io.PrintWriter;
     
    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("/Test")  // URL 맵핑 사항
    public class Test extends HttpServlet {
        
        // 객체 직렬화
        // 자바 내 클래스의 상태 정보를 파일로 저장하는 방법
        // serialVersionUID 가 있어야 참조해서 저장 가능
        // 필요할 때 다시 객체화하여 메서드, 멤버를 이용할 수 있게 됨.
        private static final long serialVersionUID = 1L;
           
        
        public Test() { // 기본 생성자를 반드시 필요로 함
            super();
        }
     
        // request(요청), response(응답)
        // GET 요청에 대한 처리 방식
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // response.getWriter().append("Served at: ").append(request.getContextPath());
              response.setContentType("text/html;charset=UTF-8");
              PrintWriter out=response.getWriter();
              out.println("<HTML>");
              out.println("<HEAD><TITLE>서블릿 정리</TITLE></HEAD>");
              out.println("<BODY><H1>서블릿 시작!</H1></BODY>");
              out.println("</HTML>");
     
        }
     
        // POST 요청에 대한 처리 방식
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // POST 방식으로 요청해도, GET으로 처리하겠다.
            doGet(request, response);
        }
     
    }
     
    cs
    • 기본적인 Servlet 코드 예시로 doGet 함수 안에 HTML 코드를 작성한 것을 보았을 때, 굉장히 귀찮아 진다는 것을 확인할 수 있다..!
    • 서버 프로그래밍을 해야하는데 이건 너무 힘들고... 오! 반대로 HTML 코드 안에 자바 코드를 넣는 방식으로 하면 구성이 편해지지 않을까??! ----> JSP 등장.
    • 그런 고로 다음 글은 JSP, JSP와 Servlet의 관계를 포스팅 해보겠습니다 :)

     

    서블릿 시작..!

Designed by Tistory.