TIL) JSP - Servlet 문법

oatraspberry·2023년 1월 4일
post-thumbnail

서블릿

웹페이지에서 호출을 하여 실행결과를 브라우저를 통해서 제공함.
서버에서 실행되는 자바 프로그램
HttpServlet 클래스를 상속받은 자바 클래스

/* login.jsp */
<form action = "loginG.jsp" method="post">
	<input type="text" name="userid"><br>
    <input type="password" name="userpw"><br>
    <input type="submit" value="로그인">
</form>
/* loginG.jsp*/
<%
	String userid = request.getParameter("userid");
    String userpw = request.getParameter("userpw");
    
    if(userid.equals(userpw)) {
    	response.sendRedirect("/main.jsp");
    } else {
    	response.sendRedirect("/login.jsp");
    }
%>

주요 클래스

  • HttpServlet

    Servlet 인터페이스를 구현한 GenericServlet 추상 클래스를 상속받은 클래스

  • HttpServletRequest

    클라이언트가 데이터를 입력하거나 또는 클라이언트의 정보에 대한 요청 값을 가지고 있는 클래스

  • HttpServletResponse

    클라이언트가 요청한 정보를 처리하고 다시 응답하기 위한 정보를 담고 있는 클래스

  • HttpSession

    클라이언트가 세션을 정보를 저장하고 세션 기능을 유지하기 위해서 제공되는 클래스

라이프 사이클

  • init()

    서블릿이 처음으로 요청이 되어 객체가 생성될 때 호출되는 메소드

  • service()

    클라이언트가 요청이 있을 때마다 호출되는 메소드

  • destroy()

    서블릿 서비스의 종료 및 재시작 그리고 서블릿 코드가 수정이 될 때 호출되는 메소드

  • doGet()

    서블릿으로 요청되는 데이터 전송 방식이 Get방식일 때 해당 메소드 호출.
    데이터가 웹 브라우저 URL에 노출되어 웹 서버로 전송됨.
    사용자 정보가 URL에 노출되기 때문에 보안에 약하다.

HttpServletRequest request // => 클라이언트(웹 브라우저)의 요청

HttpServletResponse response // => 요청 결과를 클라이언트(웹 브러우저)에게 응답

PrintWriter out = response.getWriter() // => 클라이언트에게 결과를 되돌려주기 위해서 HttpServletResponse로부터 PrintWriter형의 출력 스트림 객체 getWriter()를 가져옴.
  • doPost()

    서블릿으로 요청되는 데이터 전송 방식이 Post방식일 때 해당 메소드 호출.
    데이터가 HTTP Request에 포함되어 웹 서버로 전송됨.
    맵핑 정보만 노출되기 때문에 보안에 강하다.
HttpServletRequest request // => 클라이언트(웹 브라우저)의 요청

HttpServletResponse response // => 요청 결과를 클라이언트(웹 브러우저)에게 응답

어노테이션

@ 골뱅이 기호를 앞에 붙여서 사용한다.

  • 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다.
  • 소프트웨어 개발 환경이 빌드나 배포시 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
  • 런타임에 특정 기능을 실행하도록 정보를 제공한다.
profile
개발자가 될테야

0개의 댓글