1. Spring이란? - Spring Framework. JAVA 기반의 오픈소스 애플리케이션 프레임워크 - 원하는 부분만 가져다 사용할 수 있도록 모듈화가 잘 되어있음 - 가벼운 솔루션. 경량 컨테이너로 자바 객체를 담고 직접 관리함 - IoC (Inversion of Control), 제어의 역전. 객체의 생성부터 소멸까지 객체 생성주기 관리를 사용자가 아닌 특별한 객체에게 맡기는 것 - DI (Dependency Injection), 의존성 주입. 객체를 외부(Spring)에서 생성해서 사용하려는 주체 객체에 주입시키는 방식 - AOP (Aspect Oriented Programming), 관점 지향 프로그래밍. 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리하고, 재사용성을 높여주는 프로..
1. Web API 실습 - SELECT * # 실행환경 설정 (Maven 프로젝트 생성 및 Tomcat 연동) [Servlet] Maven 프로젝트 Tomcat 연동 Servlet 실행하기 (Intellij) 0. 배경 - Intellij에서 Maven 프로젝트를 생성한 후, Tomcat을 연동해서 웹 개발 환경 구축하기 - JDBC와 MySQL 연동한 후, 콘솔에 레코드 출력해서 잘 연동되었는지 확인하기 - Servlet 생성해서 MySQL에서 레 ssoyeong.tistory.com # RolesServlet.java package webapiexam.api; import com.fasterxml.jackson.databind.ObjectMapper; import jdbcexam.dao.RoleDa..
1. JDBC란? 정의 - Java Database Connectivity - 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약 - 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API - 자바는 표준 인터페이스인 JDBC API를 제공 환경 구성 - JDK 설치 - JDBC 드라이버 설치 (Maven에 다음과 같은 의존성을 추가함) mysql mysql-connector-java 5.1.45 2. JDBC 사용 JDBC를 이용한 프로그래밍 방법 1. imort java.sql.*; 2. 드라이버를 로드함 3. Connection 객체를 생성함 (DB에 접속) 4. Statement 객체를 생성 및 질의 수행 5. ..
1. 네 가지 Scope - Application: 웹 애플리케이션이 시작되고 종료될 때까지 유지되는 경우 - Session: 웹 브라우저 별로 변수가 관리되는 경우 - Request: 하나의 HTTP 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 - Page: 페이지 내에서 지역 변수처럼 사용 2. Page scope - PageContext 추상 클래스를 사용 - JSP 페이지에서 pageContext라는 내장 객체로 사용 가능 - forward 될 경우 해당 Page scope에 지정된 변수는 사용할 수 없음 (당연. 페이지 범위 내에서 유효하기에) - 마치 지역 변수처럼 사용됨 - JSP에서 pageScrope에 값을 저장한 후, 해당 값을 EL 표기법 등에서 사용할 ..
1. 리다이렉트 (redirect) - 서버는 클라이언트의 요청에 대해 특정 URL로 이동을 요청할 수 있음 클라이언트 - > 서버 -> 클라이언트 -> URL 주소 바뀜 -> 서버 (Request, Response 객체가 다시 생성됨) 1. 서버는 클라이언트에게 HTTP 상태코드 302로 응답함. 이때 헤더 내 Location 값에 이동할 URL을 추가함 (redirect02.jsp) 2. 클라이언트는 리다이렉션 응답을 받게 되면 헤더(Location)에 포함된 URL로 재요청을 보냄. 이때 브라우저의 주소창은 새 URL로 바뀜 - Servlet이나 JSP는 리다이렉트 하기 위해 HttpServletResponse 클래스의 sendRedirect() 메소드를 사용함 # redirect01.jsp # r..
1. JSP란? - JavaServer Pages - HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 애플리케이션 도구 - JSP는 실제로 Servlet 기술을 사용 - WAS는 JSP 코드를 Servlet 코드로 변환한 후 컴파일하여 실행함 - 가장 상단의 태그에서 JSP 파일이 어떻게 구성되어 있는지 정보를 알려줌
1. DOM과 querySelector DOM (Document Object Model) - 브라우저에서는 HTML 코드를 DOM이라는 객체 형태의 모델로 저장함 - 그렇게 저장된 정보를 DOM Tree라고 함 - 복잡한 DOM Tree를 탐색하기 위해, 브라우저에서는 DOM API를 제공함 getElementById() - ID정보를 통해서 해당 Element를 찾음 ex) document.getElementById("nav-cart-count").innerText = "-1"; querySelector() - DOM을 찾는 메소드. 첫번째 Element를 찾음 ex) document.querySelector("div"); -> 첫번째 div를 찾음 ex) document.querySelector("..
자바 웹 애플리케이션 - WAS에 설치(deploy)되어 동작하는 애플리케이션 - HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet, package, interface 등), 각종 설정 파일 등이 포함됨 자바 웹 애플리케이션의 폴더 구조 자바 웹 애플리케이션 WEB-INF 폴더 web.xml 파일 (웹 애플리케이션에 대한 정보를 모두 담고 있음) lib 폴더 (각종 jar 파일들) classes 폴더 (java 패키지, servlet 클래스 등) 리소스들 각종 폴더, 이미지, 다양한 리소스들 Servlet이란? - 자바 웹 애플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할 - WAS에서 동작하는 Java 클래스 - 서블릿은 HttpServlet 클래스를 상속 받아야 함 - 서블..
1. CSS 선언 방법 inline > internal > external inline - body 태그 안에 넣기 - 우선순위가 가장 높음 Hello World internal - head 태그 안에 넣기 - 별도의 CSS 파일을 관리하지 않아도 됨 Hello World external - 외부파일(.css)로 지정하기 span { color : red; } Hello World 2. 상속과 우선순위 결정 - id > class > tag 순서로 우선순위를 가짐 - width, height, margin, padding, border - 위와 같이 크기와 배치 관련된 속성들은 하위 엘리먼트로 상속되지 않음 cascading - CSS는 여러가지 스타일 정보를 기반으로 최종적으로 '경쟁'에 의해 적절한 ..
1. 웹의 동작 (HTTP 프로토콜 이해) HTTP - 인터넷 중 웹에서는 HTTP 프로토콜을 사용 - 인터넷상에서 서버와 클라이언트가 데이터를 주고받기 위한 프로토콜 - 어떠한 종류의 데이터도 전송할 수 있음 - 클라이언트가 서버에게 요청, 서버가 클라이언트에게 응답 - 무상태 프로토콜, Stateless - 장점: 불특정 다수를 대상으로 하는 서비스에 적합. 클라이언트와 서버가 계속 연결된 형태가 아니기에 요청과 응답을 훨씬 더 처리할 수 있음 - 단점: 응답 후 연결을 끊어버리기에 클라이언트의 이전 상황을 알 수가 없음. 정보를 유지하기 위에 Cookie와 같은 기술 등장 URL - Uniform Resource Locator - 인터넷 상 자원의 위치 - https://www.ssoyeong.ti..