본문 바로가기

Programming

(111)
DAY 113. 서블릿 필터, 서블릿 래퍼 서블릿 필터와 래퍼 동작 구조 01. 서블릿 필터 Filter - Servlet 이나 요청하는 자원 앞에 위치하면서 , 요청이나 응답을 가로채서 데이터를 변경하거나 특정 기능을 수행할 수 있게 해주는 객체이다. - 주로 암/복호화, 인코딩 작업 등을 할 때 사용한다. - javax.servlet.Filter 인터페이스를 상속 받아서 구현한다. 요청을 필터로 보내서 필요한 작업을 수행한다. 데이터를 가공하거나, 잘못된 요청은 서블릿으로 전달하지 않거나 한다. 가공된 데이터를 서블릿 객체로 전달되면 작업을 수행하고 다시 필터로 받아서 응답에 대해서도 처리해야 할 작업이 있으면 해주고 나서 사용자에게 응답하게 된다. Request는 보안 관련, 요청 헤더와 바디 형식 지정, 요청에 대한 log 기록 유지 Re..
DAY 112. JSP - EL/JSTL EL Expression Language의 약자 JSP 2.0 버전부터 추가되었다. EL은 *, out.print(value)*와 같이 JSP 화면에 표현하고자 하는 코드를 ${ value }의 형식으로 표현하여 작성하는 것을 EL이라 한다. 기존에 사용하던 표현식 태그처럼 JSP에서 쓰이는 Java 코드를 더 간결하게 사용할 수 있게 되었다. 또한, 연산자 등 내장 객체를 제공한다. EL 내장 객체 JSP Action Tag XML 기술을 이용해서 JSP 문법을 확장하는 태그 웹 브라우저에서 실행되는 것이 아니라 웹 컨테이너에서 실행되고 결과만 브라우저로 보낸다. 별도의 라이브러리 설치 없이 .JSP 파일에서 바로 사용할 수 있다. JSP 페이지에서 자바 코드 등의 스크립트 언어를 사용하지 않고, HT..
DAY 111. JSP - 내장 객체, 영역 스코프 JSP 내장 객체 JSP가 자바 코드로 자동으로 생성될 때(서블릿으로 변환될 때), 자바 파일에 자동으로 추가되는 객체들을 내장 객체라고 한다. 즉, JSP 페이지 내부에서 개발자가 직접 선언하지 않아도 바로 사용이 가능한 객체를 내장 객체라고 한다. 자동으로 이미 선언되어 있기 때문에, 동일한 이름으로 변수를 선언하면 에러가 발생한다. ✔️ request 웹 브라우저(사용자)의 요청 정보를 저장하고 있는 객체이다. ✔️ response 웹 브라우저의 요청에 대한 (클라이언트에게 보내줄) 응답을 나타내는 객체이다. ✔️ session 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체이다. 브라우저가 처음 켜고 나서 종료할 때 까지 상태가 유지된다. [ABOUT HTTP 프로토콜] - S..
DAY 107. JSP - 기본 개념 JSP html 안에 자바 코드가 들어가 있는 형태 확장자가 .jsp 인 파일 Servlet VS JSP ++ MVC 패턴 연결 JSP 특징 JSP 파일이 변경되지 않으면 '.jsp' 파일에 대한 컴파일은 다시 일어나지 않는다. JSP 파일이 변경될 때마다, 웹 컨테이너는 번역, 컴파일, 로드, 초기화 과정을 수행한다. JSP 파일 배포 위치는 HTML과 동일하게 WEB ROOT 폴더 아래에 있다. (cf. Servlet은 src 폴더 아래에 저장) JSP Elements 표기법 1. Comments tag -> HTML 코드에는 포함되지 않고 브라우저 소스코드에서 볼 수 없으며 개발자 도구에서만 확인할 수 있다. 2. Directive tag 3. Declaration tag -> 필드(멤버 변수)와 ..
DAY 106. Servlet - 사용자 데이터 전송 방식 사용자 데이터 전송 방식 ✔️ get 방식 GET 방식은 URL에 데이터를 포함시켜 요청하는 것으로 보안 유지가 불가능하다. 따라서 로그인 같은 경우는 GET 방식은 부적합하다. GET 방식에서 데이터를 Header에 포함하여 전송하고 Body는 빈 상태로 전송되며 Header의 내용 중에 body의 데이터를 설명하는 content-type 헤더도 포함되지 않는다. 데이터 전송 길이 제한이 있다. default 값이다. URL 주소 창에 직접 입력한다. 태그 안에서 메소드 방식을(Request Method) get() 으로 보낸다. 태그를 통한다. URL창에 "?" 뒤에 데이터를 입력하는 방법 ( 쿼리 스트링 ) ? key = value & key = value 데이터가 여러 개일 경우 & 로 묶어서 보..
DAY 105. Servlet - 기본 개념 서블릿(Servlet) - Server + Applet : active X같은 자바 진영의 브라우저에서 사용하는 작은 운영 프로그램 = 서버 쪽에서 사용하는 JAVA 언어의 운영 프로그램 - JAVA 언어를 이용하여 사용자의 요청을 받아 처리하고, 그 결과를 다시 사용자에게 전송하는 역할을 하는 class 파일 즉, 웹에서 동적인 페이지를 JAVA로 구현한 서버 프로그램이다. 확장자가 .java 인 파일 자바의 서블릿 클래스를 상속받은 클래스 ++ - 서블릿이란, 웹 서비스를 위한 자바 클래스를 말하며 자바를 사용해서 웹을 만들기 위한 기술로 javax.servlet.http.HttpServlet 클래스를 상속 받는다. - java 파일에 웹 페이지 구현을 위한 HTML이 들어간 구조로 클라이언트의 요청..
DAY 104. Servlet에 앞서 (Web Server VS WAS) 참조 링크 https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html [Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io (이 사진 한 장으로 Web Server와 WAS 에 대해서 확실히 이해할 수 있었다. 정말 감사하신 분...) ◆ Web Server 클라이언트로부터 HTTP 요청을 받아서 HTML 문서나 각종 리소스를 전달하는 컴퓨터이다. 사용자에게 HTML페이지나 jpg, png 같은 이미지 (정적인 데이터)를 HTTP 프로토콜을 통해서 웹 브라우저에 제공하는 서버이다. 내부의 내용이 이미 만들어..
DAY 102. jQuery - 객체 조작(객체 생성 및 제거, 배열) 객체 생성 및 제거 문서 객체 생성 html 태그 : 직접 html 구문을 문자열로 작성한다. jQuery 방식 : jQuery 객체 이용 구문 작성한다. DOM 방식 document.createElement('태그명').innerHTML('텍스트노드내용'); document.createElement("태그명").setAttribute('속성명','속성값'); jQuery 객체 생성 ▪️ html 내부에 생성한 요소 추가 // 01. 요소명을 기준으로 생성구문을 자식으로 추가시킨다. $(요소명).append(생성구문) $(요소명).append(function([n],[html]){}) // 요소명의 자식 요소로 생성구문을 "뒷부분"에 추가한다. $(요소명).prepend(생성구문) $(요소명).prepe..