백엔드
-
JSP 기초 문법백엔드/서블릿&JSP 2020. 11. 2. 01:50
JSP는 기본적으로 HTML를 기반으로 그 위에 자바 코드를 끼워넣는 식으로 실행된다. 그래서 실제로는 대부분의 변수 선언, 메서드 선언, 로직 등은 자바 언어로 짜게된다. 하지만 자바 코드를 HTML 사이에 끼워 넣을 때 필요한 문법이 몇 가지가 있다. 1. 스크릿트립(Scriptlet) ""으로 시작하고 끝나는 태그. JSP 문법의 가장 기본이 되는 태그다. 대부분의 JSP 문법 표현을 이 스크릿트립을 기본으로 한다. "" 사이에 실행될 자바 코드를 입력하면 된다. 1){ System.out.println("5는 1보다 크다"); } %> 2. 선언부 (Declaration) ""는 변수, 메서드 등을 선언할 때 이용하는 태그다. 3. 표현부 (Expession) ""는 변수, 메서드 등의 실행에 관..
-
JSP(JavaServer Pages)란?백엔드/서블릿&JSP 2020. 11. 1. 23:13
JSP란? JSP는 동적인 웹서버에서 동적인 페이지를 만들어 주는 서버 사이드 스크립트 언어다. 설명만 들으면 서블릿(Servlet)과 같은 기능을 하는 것처럼 보인다. 실제로 기능적으로는 굉장히 비슷하다. 하지만 아주 큰 차이가 있는데 작성하는 언어의 기반이 다르다는 것이다. 서블릿이 클래스의 형태를 띄고 있고 자바의 형태를 온전히 가져가는데 반해 JSP는 HTML 코드를 기반으로 그 사이에 자바코드를 삽입하는 식으로 만든다. 즉 서블릿은 누가 봐도 자바의 형태고 자바 언어를 쓴다. 하지만 JSP는 HTML 안에 자바 코드를 삽입하는 형식으로 코드를 작성한다. JSP의 등장 배경 이름: 나이: 사는곳: 예를 들어 위와 같은 HTML 페이지가 있다고 생각해보자. 이를 실행하면 다음과 같다. 그리고 이름과..
-
서블릿(Servlet)이란?백엔드/서블릿&JSP 2020. 10. 30. 11:58
서블릿이란? 자바를 기반으로 하는 웹페이지를 동적으로 만들어줄 수 있는 일종의 프로그램을 말한다. 사실 좁게 보면 서블릿이란 위와 같은 기능을 하는 자바의 클래스를 뜻한다. 넓게보면 위 기능을 수행하기 위한 자바의 패키지를 뜻한다. 서블릿의 등장 배경 서버 부분에서 이야기했다시피 과거 서버는 정적인 자료(주로 HTML 문서)만 주고받을 수 있었다. 초기의 클라이언트가 자료를 요청하면 서버는 미리 만들어진 자료를 저장하고 있다가 반환했다. 하지만 인터넷 사용자가 많아지고 다양한 기능을 웹을 통해 구현하고자 하는 움직임이 많아졌다. 사용자는 정적인 자료가 아닌 자기 필요에 맞는 자료를 웹페이지를 통해 제공 받고 싶어했다. 그리고 사용자 요구에 맞춰 동적으로 반응하는 페이지을 만들기 위해 만들어진 것이 서블릿..
-
컬렉션 - Comparable와 Comparator백엔드/자바 2020. 8. 17. 04:01
Comparable와 Comparator는? 객체의 정렬에 필요한 메서드(정렬 기준 제공)을 정의한 인터페이스. Comparable은 특정 클래스의 기본 정렬 기준(디폴트)를 구현하기 위해 사용된다. 반면 Comparator는 기본 정렬이 아닌 그 이외의 정렬을 사용하고자 할 때 사용된다. Comparable과 Comparator는 모두 인터페이스로 이를 클래스에 구현해서 정렬 순서를 정할 수 있다. Comparable을 구현할 경우는 compareTo() 메서드를 구현해야 한다. Comparator를 구현할 경우는 compare() 메서드를 구현해야 한다. Comparable의 compareTo() 메서드는 1개 객체를 매개변수로 받는다. 즉 compareTo()는 해당 메서드를 호출한 객체와 매개변수..
-
컬렉션 - iterator, Listiterator, Enumeration백엔드/자바 2020. 8. 17. 02:44
iterator, ListIterator, Enumeration이란? 컬렉션에 저장된 데이터에 접근하는데 사용되는 인터페이스. Enumeration은 iterator의 구 버전으로서 현재는 주로 iterator가 사용된다. 다만 오래된 코드들의 지원을 위해 Enumeration은 여전히 지원하고 있다. 그래서 실제 학습은 itertor만으로 충분하다. 해당 인터페이스들의 필요성 컬렉션에서 전체 데이터를 한 번에 읽어올 때 다소 번거로운 감이 있다. List, Set, Map의 자료 구조가 모두 다르고, 읽어오는 방법도 제각각이기 때문이다. 그래서 등장한 것이 바로 iterator 계열의 인터페이스다. iterator 계열의 인터페이스들은 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한다. 이를 이용하면..
-
컬렉션 - MAP 출력 방법백엔드/자바 2020. 8. 17. 02:25
컬렉션에서 List와 Set은 데이터를 읽어오기가 간편하다. 반면 Map의 경우 데이터가 키(key), 값(value)로 나뉘다보니 상대적으로 읽기가 까다롭다. 그래서 이번 포스트에선 Map 데이터를 읽어오는 방법에 대해 정리하고자 한다. forEach + keySet( ) 이용하기 keySet( ) 함수를 이용해서 key만 따로 Set 형태로 저장한다. 그 뒤 for-each 문을 이용해서 추출한 key를 get( ) 메서드를 써서 값(value)을 얻어내면 된다. public static void main(String[] args) { Map player = new TreeMap(); player.put("야구", "류현진"); player.put("축구", "손흥민"); player.put("피겨"..
-
컬렉션 Map - TreeMap백엔드/자바 2020. 8. 17. 01:45
TreeMap이란? TreeMap은 Map 인터페이스를 구현한 클래스다. TreeMap은 키(key), 값(value)로 이뤄진 Entry객체를 이진탐색트리 형태로 저장한다. TreeSet과의 차이라면, TreeSet은 일반객체를 저장하고 TreeMap은 Entry객체를 저장한다. HashMap과의 차이라면, HashMap은 해싱을 통해 해시테이블(배열+연결리스트) 형태로 Entry객체를 저장한다. 반면, TreeSet은 이진 탐색 트리 형태로 Entry객체를 저장한다. 일반 탐색은 HashMap이 TreeMap에 비해 유리하고, TreeMap은 범위탐색, 정렬에 유리하다. TreeMap사용하기 TreeMap은 이전에 올린 HashMap과 큰 차이가 없다. 또한 이진 탐색 트리로 자료가 저장되므로, 범위..
-
컬렉션 Map - HashMap백엔드/자바 2020. 8. 17. 00:58
HashMap이란? Map 인터페이스를 구현한 클래스로 Map의 특징을 그대로 갖는다. Map은 키(key)와 값(value) 한쌍으로 구성된 자료구조를 말한다. HashMap은 해싱 기법을 사용해 Map의 형태로 자료를 저장하게 된다. 이때 Map의 형태로 저장할 때 key객체와 value객체를 멤버로 가진 Entry 객체를 이용한다. 간단히 저장되는 방식을 그림을 보자면 아래와 같다. 데이터를 Map의 형태로 저장하면 위 그림처럼 키, 값으로 나눠진다. (HashMap 뿐 아니라 TreeMap도 위와 같은 방식으로 객체에 데이터를 저장한다.) 이때 알아둬야 할 것은 값(value)는 중복되어도 상관없지만, 키(key)는 중복되선 안된다. 만약 키가 중복될 경우에는 기존에 있던 키의 값은 새로 입력한 ..