Joslynn의 하루

MSA Full-Stack 개발자 양성 과정 - JSP 페이지 이동방식, 내장객체 request, response_220930 본문

MSA Full-Stack 개발자 양성과정/JSP&Servlet

MSA Full-Stack 개발자 양성 과정 - JSP 페이지 이동방식, 내장객체 request, response_220930

Joslynn 2022. 9. 30. 17:52

페이지 이동방식

1) WAS 쪽에서 이동방식

- forward 방식

  : 기존의 request, response를 유지하면서 이동하는 방식

  : 코딩방식

    - 액션태그: <jsp:forward page=""/>

    - 메소드: request.getRequestDispatcher("주소").forward(request, response);

- redirect 방식

  : 새롭게 request, response를 생성해서 이동하는 방식

  : 코딩방식 - 메소드만 제공

  : reponse.sendRedirect("주소");

 

2) client 쪽에서 이동방식

: <a href=""></a>

: submit 전송

: location.href = "주소"

 

 


JSP 내장객체

1. request : javax.servlet.http.HttpServlerRequest

: 클라이언트의 요청정보를 서버측에서 사용할때 
    * String value = request.getParameter(String name) ; 
       : request로 넘어오는 name에 해당하는 value 값 받기
  
    * request.setCharacterEncoding("euc-kr");
       : request로 넘어오는 한글인코딩 변환
    
    * String str [] = request.getParameterValues("hobby"); 
      : name에 해당하는 value 여러개 일때 사용함. (배열로 return 받음)

    *  Enumeration<String> e = request.getParameterNames();
      : request로 넘어오는 name에 대한 정보 가져오기
      
    * String ip = request.getRemoteAddr() ; 
      : 접속한 클라이언트 ip 가져오기

    * Cookie co [] = request.getCookies();
      : 접속한 클라이언트에 저장된 쿠키정보(클라이언트정보) 가져오기

      : 300개 정도의 용량 제한 

 

2. response : javax.servlet.http.HttpServletResponse
    => 서버가 클라이언트쪽으로 응답처리 할때 사용함.
    
    * response.sendRedirect(String url);
       : 클라이언트의 요청페이지를 URL로 이동시킴.

    * response.addCookie(Cookie co);
       : 클라이언트쪽에 클라이언트의 정보를 저장함.

   * response.setContentType(String encoding);
       : 클라이언트쪽에 한글인코딩 설정

       : 브라우저에 출력되는 페이지에 대한 encoding 설정

         (↔request.setCharacterEncoding() 역할 구분)

   * response.setStatus(int code) ;//
      : 클라이언트쪽에 상태코드 설정
           상태코드 200 : 정상 (성공)
                           400 : request요청이 잘못된경우 (bad request) - frontEnd 단에 넘어오는 값이 유효하지 않을 때
                           403 : 인증은 했으나 권한이 부족할때 발생코드
                           404 : FileNotFoundException 잘못된 경로 인경우
                           405 : 요청방식 잘못된 경우(get방식, post방식 구분못햇을대)
                           500 : 소스코드 오류.
 
     response.setError(int code);

 

 3. session => HttpSession
    :  클라이언트의 정보를 서버측에 저장할때 사용함.
    : 저장된 정보는 브라우져 창이 시작 해서 종료 할때까지
       저장정보가 유지됨.
       (일반적으로 로그인 ~ 로그아웃 )
    : 접속된 각각의 클라이언트마다 생성됨.
    : 기본 세션의 시간은 30분(1800초)

    * session.setAttribute(String name, Object value);
      : 세션의 정보를 저장.

    * Object value = session.getAttribute(String name);
      : 세션의정보가져오기

   * session.setMaxInactiveInterval(int interval);
      : 세션의 유지되는 시간설정(초단위)
  
   * int interval = session.getMaxInactiveInterval(); 
    : 설정된 세션의 시간 가져옴(초단위)

   * String id = session.getId();
    : 세션이 생성되면 자동으로 만들어지는 세션아이디
 
   * Enumeration e =session.getAttributeNames();
    : 세션에저장된 name 가져오기

   * boolean b = session.isNew();
      : 현재 브라우져창의 세션이 새로운것인지 판별
         (true면 새로운페이지, false 기존페이지)

   * session.invalidate();
      : 세션의 모든정보를 지운다.

   * session.removeAttribute(java.lang.String name);
    : 저장된 세션의 정보중 name에 해당하는 정보 삭제

   *  long time = session.getLastAccessedTime();
     => 마지막 접속시간

   * long time = session.getCreationTime();
     => 세션이 시작된 시간.

Comments