전체 글 120

웹 프로그래밍의 시작 (1)

웹 기본 동작 방식 이해하기 ▷ Request(요청)과 Response(응답) - 브라우저는 보통 자신이 원하는 정보를 두가지 방식을 이용해 전달함 ① Get 방식 : 주소창에 직접 원하는 데이터를 적거나 링크를 클릭해서 호출 · 원하는 웹의 주소 호출 시, 필요한 데이터를 '?'와 '&,='를 잉요해서 같이 전송 · 보안상 취약, 질의하는 질문의 개수에 제한이 있음 · 주로 특정한 정보를 조회하는 용도로 사용 ② Post 방식 : 입력 화면에서 필요한 내용을 작성한 우헤 '전송'과 같은 버튼 등을 클릭해서 호출 · 주소와 데이터를 따로 보내는 방식 · 웹 화면을 통해서 실제 처리가 필요한 작업을 하기 위해서 사용 (회원가입, 로그인 등) - 서버는 요청에 대한 '응답' 데이터를 만들어서 브라우저로 다시..

백엔드/JSP 2023.06.14

JSP Servlet 기초 (8) : Session

세션 (Session) ▷ 세션 - 쿠키와는 다르게 서버에서 생성되는 기본 객체 - 웹 서버에서 요청을 보낸 웹 브라우저(클라이언트)를 구분(식별)하기 위해 사용 - 웹 브라우저마다 하나씩 생성되어 웹 컨테이너에 저장 → 이를 활용해 로그인 시 로그인과 관련된 중요한 정보, 웹 브라우저에 저장하면 민감한 정보 등을 세션에 대신 저장 ∴ 안정적, 보안 상의 문제점 해결 ▷ 동작 메커니즘 ❶ 웹 브라우저에서 서버로 요청 ❷ 서버에서 해당 브라우저를 식별할 수 있는 session 기본 객체를 생성 ❸ 생성된 session을 JSESSIONID = 세션ID 형태로 쿠키를 생성하여 응답 ( ID는 session 객체 생성 시에 웹 컨테이너에 의해 자동으로 할당됨 ) → 쿠키에 세션값을 담아 response로 웹 ..

백엔드/JSP 2023.06.13

JSP Servlet 기초 (6) : Cookie

쿠키(Cookie) ▷ 쿠키 : 클라이언트의 상태 정보를 유지하기 위한 기술 - 상태 정보를 클라이언트( 주로 웹 브라우저 )에 key와 value 값 형태로 저장했다가 다음 요청 시, 저장된 쿠키를 함께 전송 - 웹 서버는 브라우저가 전송한 쿠키로부터 필요한 데이터를 읽어들임 - 쿠키 표준(RFC 6265) · 3000개까지 만들 수 있음 · 쿠키 하나의 최대 크기는 4096바이트 · 하나의 호스트나 도메인에서 최대 50개까지 만들 수 있음 - 쿠키로 저장할 수 있는 최대 용량은 대략 1.2MB 모든 브라우저가 표준을 그대로 따르지는 않으며, 대부분 이보다 적은 수만 지원 ▷ 동작 메커니즘 ❶ 클라이언트가 서버에 요청 ❷ 서버가 쿠키 생성 → HTTP 응답 헤더에 실어 클라이언트에 전송 ❸ 클라이언트는..

백엔드/JSP 2023.06.12

JSP Servlet 기초 (5) : response 객체

JSP Page 내장객체인 response 객체에 대해 배워보자. - response 객체 : 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체 ① 웹 브라우저에 보내는 응답 정보는 HttpServletResponse 객체 사용 ② response 객체는 응답 정보와 관련하여 주로 헤더 정보 입력, 리다이렉트하기 등의 기능을 제공 ③ reponse 객체에서 자주 사용되는 메서드 메서드 설명 void setHeader(name, value) 헤더 정보의 값을 수정하는 메서드로, name에 해당하는 헤더 정보를 value 값으로 설정함 void setContentType(type) 웹 브라우저의 요청의 결과로 보일 페이지의 contentType을 설정함 void sendRedirect(url) 페이..

백엔드/JSP 2023.06.12

JSP Servlet 기초 (4) : request + tag

지난 시간에 배운 태그와 request 객체를 이용해 간단한 회원등록 폼을 만들어보자. 웹 브라우저 ( = 클라이언트 ) 웹 서버 ( WAS ) ① 시작 페이지인 index.html를 서버에 요청 (GET 방식) ② index.html : 정적 웹 페이지 → 웹 서버 기능으로 작동 ⇒ index.html 문서 찾아서 응답 ③ index.html의 회원등록 링크 클릭 → form.html를 서버에 요청 (GET 방식) ④ form.html : 정적 웹 페이지 → 웹 서버 기능으로 작동 ⇒ form.html 문서 찾아서 응답 ⑤ form.html의 양식 작성 → 작성한 데이터를 form_process.jsp로 보냄 ⑥ form_process.jsp : request객체로부터 데이터 입력 값 추출 및 데이터 ..

백엔드/JSP 2023.06.12

입출력 스트림

입출력 스트림에 대해서 - 자바에서 데이터는 스트림(Stream)을 통해 입출력됨 - 스트림 : 단일 방향으로 연속적으로 흘러가는 것을 의미 - 프로그램을 기준으로 프로세스가 데이터의 도착지라면 입력스트림(InputStream), 프로세스가 데이터의 출발지라면 출력스트림(OutputStream) ※ 항상 기준은 프로그램! 입출력 스트림의 종류 - java.io 패키지에는 여러 가지 종류의 스트림 클래스를 제공하는데, 크게 두 종류로 구분됨 ① 바이트(byte) 기반 스트림 : 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용 ② 문자(text) 기반 스트림 : 문자 데이터를 읽고 출력할 때 사용 - 그렇다면 스트림 클래스가 바이트 기반인지, 문자기반인지 어떻게 구별할 수 있을까? → 하위 클..

백엔드/JAVA 2023.06.11

JSP Servlet 기초 (3) : JSP 태그

JSP 태그 - JSP 태그 : HTML 기반의 JSP 코드 내에 JAVA 코드를 삽입할 수 있게 해주는 태그 - JSP는 서블릿으로 변환된 후, 클라이언트에게는 HTML 형태의 코드만 전송되므로 JSP 태그의 내용은 노출되지 않음 ▷ 지시어 - JSP Page를 자바 코드 즉, 서블릿으로 변환하는 데 필요한 정보를 JSP 엔진에 알려주며, 주로 스크립트 언어나 인코딩 방식들을 설정 ❶ page 지시어 : JSP Page에 대한 정보 설정 ex) - language, contentType, pageEncoding 속성 ❷ include 지시어 : 외부 파일을 현재 JSP Page에 포함시킴 ❸ taglib 지시어 : 표현 언어에서 사용할 자바 클래스나 JSTL을 선언 ▷ 스크립트 요소 JSP Page에서..

백엔드/JSP 2023.06.11

내장객체 request와 response

▶ JSP Page 내장 객체인 request, response 객체에 대해 정리해보자. 내장 객체 리턴 타입 설명 request javax.servlet.http.HttpServletRequest 웹 브라우저의 요청 정보를 저장하고 있는 객체 response javax.servlet.http.HttpServletResponse 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체 ① request 객체 - 웹 컨테이너는 요청된 http 메시지를 통해 HttpServletRequest 객체를 얻고 이로부터 사용자의 요청 사항을 요구 받음 - 즉, 생성된 request 객체는 클라이언트의 요청 정보를 저장하고 있음 - request 객체에서 자주 사용되는 메서드 메서드 설명 String getPara..

백엔드/JSP 2023.06.11

JSP lifestyle

JSP lifestyle JSP의 대략적인 처리 방식 JSP lifestyle에 대해 자세히 알아보자. Dynamic Web Project : HelloJSP 생성 JSP 파일 : ex01.jsp 생성 브라우저에서 ex01.jsp를 호출해보자 톰캣 : ex01._jsp.java – ( 컴파일 ) → ex01._jsp.class – ( new ex01.jsp(); ) → 객체 생성하여 메모리에 적재시킴 - 처음 실행할 때만 jspInit( ) 메서드 호출 - 새로고침을 누를 때마다 변수 num1의 값 증가 왜 num1의 값만 계속 증가하는 걸까? 스크립트 요소에 대해 알아보자 ▷ 스크립트 요소 JSP Page에서는 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression)..

백엔드/JSP 2023.06.10