웹프로그래밍 24

중요한 데이터 Properties로 관리하기

API키나 DB에 접근하기 위한 아이디, Pw, URL 등은 소스코드에 직접 적으면 안되는데 이런 보안상 중요한 데이터들을 관리하는 방법으로 properties 파일로 데이터를 따로 빼내어 관리하는 것이다. properties 파일은 key 와 value의 형태로 저장이 되어 key를 통해 해당하는 value를 꺼내올 수 있다.  프로젝트와 DB를 연결해주는 JDBC 객체에서 데이터베이스의 아이디, 비밀번호, 그리고 url을 요구하고 있는데 지금 까지는 코드에 직접적으로 데이터를 넣어서 사용해왔다. 하지만 이러한 중요한 정보를 소스코드에 그대로 담아 공유하는 것은 보안상 매우 부적절한 일이기 때문에 수정하고자 한다 우선 properties 파일들이 저장되어있는 경로를 찾아 연결해주어야 한다.  Sprin..

JSP - 내장 객체

내장 객체- JSP페이지에서 사용할 수 있도록 미리 정의된 객체다- import문 없이 자유롭게 사용 가능하다- 객체를 생성하지 않고 직접 호출하여 사용가능!- static화 되어있는 객체라고 이해하면 안되고 필요할 때 마다 인스턴스화 된다고 이해하자 request 내장 객체- 웹 브라우저에서 서버의 JSP 페이지로 전달하는 정보를 저장한다- 일종의 저장소 역할을 하는 것이다!!- HttpServlet을 상속 후 doGet과 doPost를 오버라이딩 하면 자동으로 request객체가 불러와진다 요청 파라미터 관련 메서드- a태그나 form태그에서 설정한 파라미터를 가져오는 역할을 한다- form 태그에서 input의 type이 text일 때 값이 없으면 빈 문자열이 파라미터로 전달된다 관련 메서드의 종류..

JSP - 액션 태그

Action tag (액션 태그)- 액션 태그는 페이지간 이동, 페이지 삽입, 객체 생성 등의 기능을 포함하고 있다- 와 같은 스크립트 태그 형식이 아닌 의 XML형식을 사용한다액션 태그형식설명forward다른 페이지로 이동include외부 페이지 내용 포함 또는 모듈화useBeanuseBean />JSP 페이지에 객체를 생성한다setPropertysetProperty />객체의 프로퍼티 값을 설정getPropertygetProperty />객체의 프로퍼티 값을 가져온다paramparam  />forward, include 태그에 파라미터를 추가한다  forward 액션 태그- 현재 JSP 페이지에서 다른 페이지로 이동하는 태그- 다만 이동할 때 버퍼에 있는 내용을 flush 하기 때문에 이전까지 생성된..

JSP - 디렉티브 태그

Directive tag (디렉티브 태그)- JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그- Client의 요청이 들어오면 웹서버에서는 View 영역에서 JSP 컨테이너를 통해 JSP 파일을 Java Servlet 파일로 변환- 이때 Servlet화 하는 과정에서 JSP 페이지에 대한 메타 정보를 전달하는 태그가 디렉티브 태그다- Directive tag는 크게 page, include, taglib로 나뉜다 page 디렉티브 태그- JSP 페이지에 대한 정보를 설정하는 태그- 컨텐츠 유형, 페이지의 언어, 어떤 문자 인코딩을 쓸 것인지, 자바 클래스는 어떤걸 쓸건지 등의 정보를 담고있다- 하나의 page 태그에 여러 개의 속성 설정이 가능하다- 의 형태로 JSP문서의 최상단에 위치한다 속성설명..

JSP - 스크립트 태그

스크립트 태그- JSP를 사용하는 가장 중요한 방법은 태그를 사용하는 것- JSP는 태그는 크게 스크립트 태그, 디렉티브 태그, 액션 태그로 나뉨- 스크립트 태그는 HTML 코드에 자바 코드를 넣어서 프로그램을 짜도록 해줌- 스크립트 태그는 declaration(선언문), scriptlet(스크립틀릿), expression(표현문) 태그로 나뉨 스크립트 태그형식설명Declaration tag클래스의 멤버 (전역변수, 메서드) 정의Scriptlet tag함수의 사용, 지역 변수 HTML 출력, 변수 값 할당, 조건문, 반복문 등 다양한 자바 코드Expression tag변수, 함수의 호출 결과를 문자열 형태로 출력하는데 사용   Declaration tag (선언문 태그) - 전역변수 선언, 메서드 선언 ..

JSP - 기초

JSP 기초 JSP- 앞서 배운 웹프로그래밍 언어들은 프론트엔드를 구성하고 있다 (HTML, CSS, JavaScript)- Client side의 경우 해당 언어들로 구현할 수 있지만 이를 뒷받침할 서버를 구축하기 위해서는 백엔드 기술이 필요하다- JSP는 HTML문서 기반 Server side 기술로 HTML 문서에 Java 코드가 섞여 구성되며 서버에서 구동된다- HTML 문서에 태그를 활용해 Java 코드를 삽입하여 웹 서버에서 동적인 웹 페이지를 생성한다- Servlet과 달리 기본적으로 구조는 HTML이기 때문에 태그로 이루어져 있어 접고 펼치기가 되어 코드 관리가 쉽다  Servlet- HTML문서 기반인 JSP와 달리 Java 클래스의 일종으로 java파일로 저장된다- JSP와 반대로 Ja..

드래그 앤 드롭 - JavaScript

오늘의 실습: 드래그 앤 드롭 HTML 과 CSS 설정    JavaScript 1. 변수 설정 일단 각각의 컨텐츠 요소들을 드래그가 가능하게 끔 이벤트를 지정해야 하니 하나의 배열변수로 잡아줘야한다. 그러고 나서 드래그로 가져온 컨텐츠를 놓을 공간을 (dropzone이라고 명명) 변수로 설정해준다. let content = document.querySelectorAll('.content1, .content2, .content3'); let dropzone = document.querySelector('.dropzone'); 2.이벤트 할당 이벤트 할당은 contents와 dropzone 모두에게 적용해주어야 하는데 컨텐츠의 경우 드래그를 시작하는 순간과 드래그를 종료하는 순간 ..

JavaScript - 조건문과 반복문

조건문 조건문은 특정 조건이 참인지 거짓인지에 따라 코드의 진행방향을 제어하는 구문으로 주로 프로그램에서 특정 상황에 따라 서로 다른 동작을 수행시킬 때 사용한다. 사용법이 간단하기 하고 직관적이기 때문에 유용하게 쓸 수 있다! if문 가장 기본적인 조건문의 구조로 조건이 하나만 필요할 때 사용하는 구문이다. if (조건식) { 실행하고자 하는 코드};  if (time "만약 time이 11보다 작다면 문서에 "Good morning!"을 적어주세요"그대로 해석하면 항상 어느정도 의미가 맞아떨어지는 편이라 사용하기가 좋다. If else문 if문에 조건이 하나 더 달려있는 구조 if (time "만약 time이 11보다 작다면 문서에 "Good morning!"을 적고 아니라면..

JavaScript - 연산자

연산자 (Operator)  우리가 학교에서 배웠던 더하기 빼기 등 몇 가지 이미 알고 있는 기호들이 있는데 이를 프로그래밍 언어에서는 연산자라고 부르며 사용한다. 연산자는 수치 데이터를 곱하고 옮기고 비교하는 등 데이터를 가지고 다양한 비교 분석을 할 수 있도록 도와주는 도구라고 알고있으면 된다. 연산자의 기본원칙! 1. 모든 연산에서 괄호 연산은 가장 먼저 계산한다 2. 우선순위가 동일한 연산자는 좌에서 우로 진행되면서 연산이 이루어진다 3. 이항 연산보다 단항 연산의 연산이 먼저 이루어진다 4. 산술 연산자 > 비교 연산자 > 논리 연산자 순으로 우선순위가 주어진다 5. 대입 연산자는 우선순위가 가장 낮다 산술연산자 : 수치 데이터를 처리하기 위해 사용하는 기본적인 연산자로 우리가 가장 잘 알고있는..

JavaScript 배우기

JavaScript 배우기  앞에서 배운 HTML과 CSS 그리고 JavaScript, 3개의 언어가 모두 더해져서 대부분의 웹페이지가 만들어지는데 HTML의 경우 웹페이지의 기본적인 구조, 뼈대를 담당하고 CSS는 사용자에게 보이는 모든 부분의 스타일을 담당하는데 JavaScript(앞으로 JS라고 부르겠다)의 경우에는 웹페이지가 가질 수 있는 동적인 부분. 즉 애니메이션이나 다른 기능적인 부분들을 구현할 수 있게 해준다. (사실 그것보다는 좀 더 포괄적인 일을 하는게 JS다)  JavaScript의 특징 인터프리터 언어 우리는 기계가 하는 2진수 기반의 언어인 기계어를 이해할 수 없기 때문에 기본적으로 기계어를 번역해주는 프로세스가 반드시 필요한데 이런 역할을 하는 번역기가 바로 컴파일러와 인터프리터..