AI교육과정 - JSP.2

단비·2022년 11월 18일
0

AI교육과정

목록 보기
34/69
  • Java
    • sendRedirect(): 클라이언트를 원하는 페이지로 이동
    • response.setContentType("text/html;charset=UTF-8"): 한글이 깨질 수 있으니 삽입
      • 그래도 깨지면 request.setCharacterEncoding("utf-8"); 삽입
  • Script
    • location.href: 전에 입력한 값이 지워져서 refresh됨(캐시가 날라감)
    • history.back(): 브라우저 캐시를 이용해서 전에 입력한 값이 남아있음

  • JSP 내장 객체

    • request 객체
      • 웹 브라우저의 요청 정보를 저장하고 있는 객체
      • 메소드
        • getHeader(): 요청 정보의 헤더를 반환
        • getMethod(): 요청 정보의 http method(get, post) 반환
        • getParameter(): 요청 정보의 이름(name)으로 요청 값(value)을 반환
        • getParameterValues(): 요청 정보의 이름으로 요청 값을 배열로 반환
        • setCharacterEncoding(): 요청 정보의 인코딩을 설정
    • response객체
      • 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체
  • 쿠키(cookie)

    • 클라이언트에 정보를 저장

    • 클라이언트에 저장하므로 서버의 부하를 줄일 수 있지만 보안상 취약

    • 데이터의 저장이 1.2MB로 제한

    • 텍스트 데이터만 저장

      🍪 쿠키를 생성하는 방법

      Cookie 객체명 = new Cookie("키", "값");

      🍪 쿠키 시간 설정

    • setMaxAge(): 쿠키가 유지되는 시간을 설정(초)

      setMaxAge(60 * 60 * 24 * 30) // 30일

      🍪 쿠키를 클라이언트에게 전달하는 방법

      response.addCookie(쿠키객체);

      🍪 쿠키를 서버에서 읽어오는 방법

      Cookie[] 배열명 = request.getCookies();
  • 세션(session) - JavaScript 내장객체(java에서는 클래스로 존재해서 선언해야함)

    • 서버에 사용자 정보를 저장

    • 서버 상에 존재하는 객체로 브라우저 단위당 1개씩 존재

    • 쿠키에 비하여 보안이 좋음

    • 웹브라우저를 닫기 전까지 유지

      🥪 세션 변수 만들기

      session.setAttribute("변수명", "값")

      🥪 세션 값 읽어오기

    • String으로 다운캐스팅 시 저장 가능. 아니면 오류남

      session.getAttribute("변수명")

      🥪 세션 변수 삭제하기

      session.invalidate()

      🥪 세션 아이디 가져오기

      session.getId()
      // String userid = (String)session.getAttribute("userid")

      🥪 세션 아이디 시간 설정

  • 서블릿(Servlet) - Java

    • Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 어플리케이션 프로그래밍 기술

    • 웹 요청과 응답의 흐름을 간단한 메소드 호출만으로 체계적으로 다룰 수 있게 해주는 기술

    • URL 타고오면 무조건 get(post 방식 아님)

      🥩 서블릿의 특징

      • 클라이언트의 Request에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트
      • HTML을 사용하여 Response를 함
      • Java의 스레드를 이용하여 동작
      • MVC 패턴에서의 컨트롤러로 이용
        • MVC: Model(DTO, 데이터송신) View(jsp, 화면 ) Controller(servlet, 데이터구현)
      • HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpSevlet 클래스를 상속
      • HTML 변경 시 Servlet을 재 컴파일해야 하는 단점

      🥡 서블릿 컨테이너

      • 서블릿을 담고 관리해주는 컨테이너
      • HttpServletRequest
        • request 정보를 서블릿에게 전달하기 위한 목적으로 사용하며 헤더 정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드와 Body의 Stream을 읽어 들이는 메소드를 가지고 있음
      • HttpServletResponse
        • WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServletResponse 객체를 생성하여 서블릿에게 전달하고 이 객체를 활용하여 content type, 응답 코드, 응답 메시지 등을 전송

      🧀 서블릿의 동작 과정

      1. Servlet Request, Servlet Response 객체를 생성
      2. 설정 파일을 참고하여 매핑할 Servlet을 확인
      3. 해당 서블릿 인스턴스 존재의 유무를 확인하여 없으면 init() 메소드를 호출하여 생성
      4. Servlet Container에 스레드를 생성하고 service를 실행
      5. 응답을 처리했다면 distory() 메소드를 실행하여 Servlet Request, Servlet Response 객체를 소멸
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글