본문 바로가기

JAVA

(16)
JAVA - Web : Servlet 동작 과정 정리 1 Servlet 동작 과정 클라이언트가 URL을 입력 HTTP request가 요청 전송 Servlet Container(대표적으로 톰캣)*가 요청 받아서 HttpServletRequest, HttpServletResponse 객체 생성 5. web.xml 기반으로 사용자가 요청한 URL이 어느 서블릿 요청인지 탐색(mapping 필요) - web.xml은 서버가 시작되면 제일 먼저 읽는 파일 - 웹 어플리케이션의 배포서술자(Deployment Descriptor)* 역할 - 1번 클라이언트가 입력한 URL과 web.xml에 등록된 URL이 일치 하는 경우 해당 파일 실행 → URL 예시 : http://localhost:8001/servlet → 즉, http://구동종인서버의ip:포트번호/애플리케이션C..
JAVA - Web : Servlet(JSP)이란? 서블릿(Servlet)이란? - 클라이언트 요청 처리, 결과 반환하는 Servlet 클래스의 규칙에 따라는 자바 웹 프로그래밍 기술 - 웹서버는 정적인 페이지만 제공하며 동적인 페이지를 제공하기 위해서는 다른 곳에 도움을 요청해야 → 웹서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿 - 동적으로 웹 페이지를 생성하고, 사용자의 요청을 처리하며, 데이터베이스와 통신하고, 기타 웹 애플리케이션에서 필요한 작업을 수행하는 데 사용 - 즉, 웹서비스를 위한 "자바클래스"이며, 자바를 사용해서 웹을 만들기위해 필요한 기술 사용자의 요청을 받아 처리하고 그에 해당하는 응답페이지를 만들어 다시 사용자에게 전송하는 역할을 하는 자바 클래스(Controller in MVC pattern) - 웹에..
JAVA 자꾸 혼자 헷갈리는 내용 정리 1 (+ 계속 추가중) return 실행중인 메서드 종료, 호출한 곳으로 돌아감. break 하나의 반복문 벗어남. 변수(variable) : 하나의 값을 저장 상수(constant) : 한 번만 값을 저장 예) final int num; 리터럴(literal) : 변수 자체의 값을 의미 static 변수 : 클래스 자체에 속해있는 변수 = 클래스변수, 공유변수 메서드 메서드 구조 : 접근제한자 반환타입 메서드이름 (타입 변수명, 타입 변수명) { } 메서드는 클래스 영역에만 정의 가능 static 메서드는 객체 생성없이 호출 가능 static (인스턴스 변수(instance variable)는 클래스(예: 멤버 변수)에 정의된 변수) static 메서드는 인스턴스 변수 사용 불가 = static 메서드는 인스턴스 메서드 호출..
MVC(model-view-controller) : 과제를 위한 정리 * 모델-뷰-컨트롤러(model-view-controller, MVC)란? 역 할 분 담 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴 어플리케이션을 Model과 View, Controller 세 영역으로 나누어 역할을 나누고 영역을 분리 * 왜 사용? 유지보수 편리성 →기능간 결합도(coupling)이 높아지는 것을 방지 , 비지니스 로직(Model)과 UI영역(View) 분리해 영향주지 않으며 유지보수 가능 이외에도 애플리케이션 확장성, 유연성 증가, 중복코딩 방지 등 Model 데이터 처리 담당 컴포넌트(Component) 데이터와 데이터를 처리하는 로직 담당 모델은 데이터의 상태를 나타내고 이 상태에 대한 변경을 처리 비즈니스 로직 처리 후 변경 사항 컨트롤러와 뷰에 전달 (VO, value..
JDBC, JAVA-SQL 연동 : 자바 - 데이터베이스(DB) 연결 * JDBC(Java Database Connectivity)란? 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API. 자바 언어로 데이터베이스 데이터 조작 가능하도록한다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트 하는 방법을 제공한다. by 위키백과 * 자바 API JDBC는 JAVA 애플리케이션에서 데이터베이스에 접근하기 위해 자바 API 사용, 데이터 베이스에 연동한다. Oracle, MS SQL, MySQL 등 각각의 데이터베이스 관리 시스템(DBMS)에 맞춘 JDBC 드라이버를 구현해 제공한다. * JDBC 동작 흐름 JAVA 애플리케이션 → JDBC API → JDBC 드라이버 → 데이터베이스 * JDBC API 동작 흐름 JDBC 드라이버 로딩 → Connection 객체..
JAVA Collection Framework 4: Iterator(반복자)을 이용한 데이터 출력 List와 Set은 Iterator을 이용해 값을 출력할 수 있다. ArrayList list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); Iterator it = list.iterator(); while(it.hasNext()){ Object obj = it.next(); System.out.println(obj); } // ******* Iterator은 일회용이라 한번 더 값을 출력하고 싶다면 // 아래처럼 Iterator을 다시 써주어야 한다. Iterator it = list.iterator(); while(it.hasNext()){ Object obj = it.next(); System.out.println(obj); } +..
JAVA Collection Framework 3: HashSet을 통한 Hash 탐구 hashCode()와 equals()의 오버라이딩. 도대체 다른 컬렉션들은 안하는 짓을 왜! 귀찮게 HashSet을 구현할 땐 해야하는지 의문이 생겨 찾아보게 되었다. 찾다보니 설명을 다 들었던 것이라는 걸 깨달아서 놀랐다. 내가 이해를 못하고 들었을 뿐. HashSet은 동일한 값을 허용하지 않는다. 이를 위해서 기존에 가지고 있는 값에 동일한 것이 있는지 확인이 필요하다. 특히 HashSet에 넣는 값이 객체라면, Object 객체로부터 내려오는 equals(), hashCode() 메서드를 오버라이딩 해야 하는데 그 이유는 객체 자신과 Object를 비교하고 1. 객체의 hashCode() 를 호출해 비교하고 그 값이 같다면, 2. equals() 를 호출해 동일한 객체인지 확인하기 때문이다. (즉..
JAVA Collection Framework 2: HashMap Map - HashMap key + value 를 세트로 담음 해시함수로 해시테이블에 데이터 저장하고 검색함 = 해시함수에 키를 넣으면 해시코드로 바꿔 그 위치에 줄줄이 저장 저장, 검색 (서랍에 번호 붙여 관리하는 것처럼) 데이터 추가 .put(key, value) 순서 유지 X 키값 중복 허용X 키 값이 있는 데이터 반환 .get(Object key) 담겨 있는 객체 갯수 반환 .size() 해당 키 값 찾아 새로운 value 값으로 수정 .replace(key, value) 해당 키 값 찾아 키, 값 세트 삭제 .remove(Object key) 전체 목록 출력하고 싶다면? → Iteratore 호출 불가: List, Set 계열만 사용 가능 → KeySet 혹은 MapSet 이용