전체 글
[Servlet & Jsp] Application, Session, Cookie
Application, Session, Cookie는 HTTP 환경에서 상태를 유지하기 위한 기술이다. HTTP 트랜잭션은 별개의 요청으로 판단하기 때문에 상태를 가질 수 없다. 예를 들어, www.exam.com/page1 & www.exam.com/page2가 있을 때 둘의 요청은 서로 연관성을 가지지 않고 독립적이기 때문에 page1에서 만들어진 데이터는 page2를 요청할 때 유지되지 않는다. 그러나 웹 개발 시 필연적으로 여러 요청(혹은 사이트)에 걸쳐 상태를 유지해야 하는 경우가 있다. ex1) 최초 페이지에서 로그인 후 여러 페이지에 걸쳐 로그인 상태가 유지되어야 하는 경우 ex2) 쇼핑몰 장바구니에 담긴 물건 정보들이 다른 페이지로 이동하더라도 유지되어야 하는 경우 [ 1 ] Applica..
[기록] 매일 코딩하기 - 11월 셋째 주 (Servlet 출력-입력 형식, 서블릿 필터, 입력 데이터 배열로 받기)
2022/11/14 (월) (1) 저번 주에 web.xml을 수정하여 Servlet 매핑 하는 방법에 대해 학습했고, 이번에는 annotation을 활용하여 Servlet 매핑을 하자. @WebServlet("/hi") public class Nana extends HttpServlet { @Override protected void service(...) throws ... { ... } } } 위 코드처럼 Servlet 클래스 위에 "@WebServlet("매핑할 url")"로 annotation을 표기한다. 더 이상 web.xml을 수정하지 않고도 Servlet 매핑을 할 수 있다. 단, 아래의 두 가지 설정을 반드시 해야 한다. ㉮. web.xml 파일의 태그 내의 metadata-complete..
[기록] 매일 코딩하기 - 11월 둘째 주 (Servlet 기초)
(1) 저번 주에 학습했듯이 WAS는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server이고, Servlet과 JSP 구동 환경을 제공한다. 그렇다면 Servlet과 JSP란 무엇일까? 우선 Servlet에 대해 알아보자. (2) Servlet이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재한다. 이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들기 때문에 Servlet은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술이다. [출처] - https://coding-fa..
[기록] 매일 코딩하기 - 11월 첫째 주(웹 기초, tomcat)
2022/11/1 (화) (1) 검색 쿼리문 - LIKE 절 및 String Operation인 %, _를 활용한다. (LIKE절은 WHERE절에서 주로 사용된다) 예) 특정 column(변수명 - field)에서 특정 word가 포함된 검색 집합을 받아오도록 JDBC 인터페이스를 활용해 보자. String sql = "SELECT * FROM 테이블명 WHERE " + field + " LIKE ?"; ... PreparedStatement st = conn.prepareStatement(sql); st.setString(1, "%"+word+"%"); ... column(field)를 ?(placeholder)로 설정하지 않은 이유는 st.setString()으로 field 값을 넣을 시 ""안에 값..
[기록] 매일 코딩하기 - 10월 말
이번 학기는 컴퓨터학과 강의 없이 본 전공으로만 학점을 꽉 채워 바쁘다는 핑계로 코딩 공부를 자꾸 미루고 있다. 잠을 조금이라도 줄여 매일 아침 60분이라도 코딩을 하고, 그날 배운 것을 기록할 계획이다. 2021/10/29 (토) (1) Java에서 DB로 쿼리문을 전송할 때 JDBC의 Statement나 PreparedStatement 인터페이스를 사용할 수 있다. Statement는 쿼리문에 값이 미리 입력되어 있어야 하는 반면, PreparedStatement는 인수에 대해 '?'라는 placeholder를 활용하여 쿼리문을 정의할 수 있다. 즉, 동일한 SQL문을 특정 값만 바꿔 여러번 실행해야 할 때 PreparedStatement가 더 효율적인 것이다. Statement와 PreparedSt..

[Java] List Interface
※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] List Interface List Interface란 선형 자료구조로서 순서가 있는 데이터를 저장하기 위해 만들어진 인터페이스이다. 보통 같은 종류의 데이터를 저장할 때 int[] arr = new int[10] 와 같은 '배열'을 활용하지만, 이처럼 선언한 배열은 10개의 데이터만 저장할 수 있다. 만약 할당된 범위를 넘어설 경우 IndexOutofBoundsException 에러가 발생한다. List interface 는 '동적 크기'를 가지므로 배열의 단점을 보완할 수 있고, '중복을 허용'하고 '저장순서가 유지'된다는 특징도 있다. List interface 의 대표적인 메소드는 다음과 같다. 메소드 ..

[Java] 컬렉션 프레임워크
※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] 컬렉션 프레임워크란? 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합이다. 즉, 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현한 것을 의미한다. 자바 컬렉션 프레임워크는 Interface로 구현된다. [ 2 ] 구조 컬렉션 프레임워크에는 Collection 인터페이스를 상속받는 List, Set, Queue 가 있고, Collection 을 상속받지 않는 Map 이 있다. 둘의 큰 차이는 Iterable 인터페이스를 상속받냐, 상속받지 않냐의 차이인데 Iterable 인터페이스를 상속받은 Collection 인터페이스..

[Java] length, length(), size() 차이
[ 1 ] length - 배열의 길이 int[] arr = new int[10]; double[] arr2 = new double[10]; String[] arr3 = new String[10]; System.out.println(arr.length); System.out.println(arr2.length); System.out.println(arr3.length); length는 배열의 길이를 구할 때 사용된다. [ 2 ] length() - 문자열의 길이 String str = "length() test"; System.out.println(str.length()); length() 는 문자열의 길이를 구할 때 사용된다. [ 3 ] size() - 컬렉션프레임워크 타입의 길이 ArrayList l..