백엔드/JSP 16

JSP : EL

EL (Expression Language) - EL의 표현식 : ${ } - 값(데이터)을 웹 페이지에 표시하는데 사용하는 태그로, JSP 2.0부터 간단하게 사용할 수 있는 출력용 언어인 EL이 개발됨 → 프론트 쪽 태그와 쉽게 어울릴 수 있게 기획됨 JSP 표현식 : → ${ 자바 영역으로 생각하자 } - 요청객체로부터 특정 값을 가져와 JSP 표현식을 사용해 출력하는 코드 - 위의 코드를 EL로 바꿔보자 ${ param.id } - 두 코드를 비교해보면, ❶ EL로 코드를 작성하는 것이 불필요한 코드 줄여줌 → JSP 페이지의 전체적인 코드 간결해짐 ❷ 자바 코드가 줄어듦 → 디자인적 요소( HTML, CSS )와 자바 코드를 서로 구분하기 쉬워짐 - 자바 코드를 몰라도 getter/setter ..

백엔드/JSP 2023.06.20

JSP : JSTL

JSTL (JavaServer Pages Standard Tag Library) - 제어문이나 반복문과 같이 식(expression)이 아닌 문(statement)를 처리하기 위해서는 JSTL 라이브러리가 필요 - JSTL : Java 코드를 바로 사용하지 않고 HTML 태그() 형태로 직관적인 코딩을 지원하는 라이브러리 - JSTL 설치 구글에서 'maven repository' 검색 - JSTL 검색 - 2.JSTL 클릭 JSTL 1.2버전 클릭 jar파일 다운로드 다운로드한 파일을 WEB-INF 폴더 내 lib폴더로 drag해서 옮기기 - OK 클릭 다음과 같이 확인 가능 그럼 webapp 폴더에 jstl_exam.jsp 파일을 생성해 테스트해보자. - taglib 지시어를 이용해 JSTL Core..

백엔드/JSP 2023.06.19

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

HTTPServlet - HttpServlet을 상속하는 별도의 서블릿을 정의하고 이를 이용 - HttpServlet의 특징 ① HttpServlet은 doGet( ), doPost( ) 메서드 등을 제공 → 필요한 메서드를 오버라디드하여 처리 가능 ② HttpServlet을 상속받은 클래스 객체는 톰캣과 같은 WAS의 내부에서 자동으로 객체 생성 및 관리됨 ③ HttpServlet은 멀티 스레드에 의해서 동시에 실행될 수록 처리됨 서블릿 lifecycle - 서블릿 ( Servlet ) : 웹 서버가 동적인 웹 페이지를 제공할 수 있도록 도와주는 애플리케이션 · 서블릿 : 서버 측에서 실행 ( 클라이언트의 요청을 받으면 서버에서 처리한 후, 응답으로는 결과값만 보내주는 구조 ) 자바 파일(.java)을..

백엔드/JSP 2023.06.18

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

MVC 구조 - MVC 구조 : Model - View - Controller의 역할을 분리해서 처리하는 구조 · 서블릿/JSP의 장단점을 고려해 MVC 구조에 따라 데이터는 Controller에서, 결과는 View에서 처리 → 즉, 서블릿이 Controller 역할이고 JSP가 View 역할! · 필요한 데이터를 제공하는 객체 : Model ① 브라우저의 요청은 해당 주소를 처리하는 서블릿에 전달 ② 서블릿 내부 : 응답에 필요한 재료 데이터를 준비함 ③ 서블릿은 준비한 데이터들을 JSP로 전달함 ④ JSP에서는 EL을 이용해서 최종적인 결과 데이터를 HTML 구조로 생성함 ⑤ JSP를 이용해 생성된 결과 화면은 톰캣을 통해서 브라우저로 전송됨 MVC 구조로 계산기를 다시 설계해보자 - 브라우저의 호출..

백엔드/JSP 2023.06.16

웹 프로그래밍의 시작 (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