IT/Java 19

2021-03-09 일지1

* JDBC Template - org.springframework.jdbc.core 에서 가장 중요한 클래스 - 리소스 생성, 해지를 처리해서 - 리소스 생성, 해지를 처리해서 연결을 닫는 것을 잊어 발생하는 문제 등을 피할 수 있도록 함 - 스테이먼트(Statement)의 생성과 실행을 처리 - SQL조회, 업데이트, 저장 프로시저 호출, ResultSet 반복 호출 등을 실행 - JDBC 예외가 발생할 경우 org.spring.framework.dao 패키지에 정의되어 있는 일반적인 예외로 변환 * DTO(Data Transfer Object) - 계층간 데이터 교환을 위한 자바 빈즈 - 여기서 계층은 컨트롤러 뷰, 비지니스 계층, 퍼시스턴트 계층을 의미 - 일반적으로 DTO는 로직을 가지고 있지 ..

IT/Java 2021.03.09

2021-03-08 일지1

* 컨테이너(Container) - 컨테이너는 인스턴스의 생명주기를 관리함 - 생성된 인스턴스들에게 추가적인 기능을 제공함 * IoC - Inversion of Control의 약어 / inversion의 사전적 의미: '도치, 역전' - 보통 IoC를 제어의 역전이라고 번역함 - 개발자는 프로그램의 흐름을 제어하는 코드를 작성함, 그런데 이 흐름의 제어를 개발자가 하는 것이 아니라 다른 프로그램이 그 흐름을 제어하는 것을 IoC라고 말함 * DI - Dependency Injection의 약자로, 의존성 주입이라는 뜻을 가지고 있음 - 클래스 사이의 의존 관계를 빈(Bean) 설정 정보를 바탕으로 컨테이너가 자동으로 연결 * Spring에서 제공하는 IoC/DI 컨테이너 - BeanFactory: Io..

IT/Java 2021.03.08

2021-03-06 일지1

* Spring Framework - 엔터프라이즈 급 어플리케이션을 구축할 수 있는 가벼운 솔루션이자, 원-스탑-숍(One-Stop-Shop) > 여기서, 원-스탑-숍(One-Stop-Shop): "모든 과정을 한꺼번에 해결하는 상점" - 원하는 부분을 가져다 사용할 수 있도록 모듈화가 잘 되어있음 [약 20개의 모듈] - IoC 컨테이너 - 선언적으로 트랜잭션을 관리할 수 있음 - 완전한 기능을 갖춘 MVC Framework를 제공함 - AOP 지원 - 스프링은 도메인 논리 코드와 쉽게 분리될 수 있는 구조를 가짐 * AOP와 Instrumentation - spring-AOP: AOP 얼라이언스(Aliance)와 호환되는 방법으로 AOP를 지원함 - spring-aspects: AspectJ와의 통합..

IT/Java 2021.03.06

2021-03-05 일지3

* EL(Expression Language): 표현 언어 - JSP의 scope에 맞는 속성 제공 - 집합 객체에 대한 접근 방법 제공 - 수치 연산, 관계 연산, 논리 연산자 제공 - 자바 클래스 메소드 호출 기능 제공 - 표현 언어만의 기본 객체 제공 * 표현 언어의 표현 방법 - 문법: "${expr}" [여기서, expr: 표현 언어가 정의한 문법에 따라 값을 표현하는 식] - 예제: ${sessionScope.member.id}님 환영합니다. - 표현 언어는 JSP의 스크립트 요소(스크립트릿, 표현식, 선언부)를 제외한 나머지 부분에서 사용될 수 있으며, 표현식보다 편리하게 값을 출력할 수 있음 * 객체 접근 규칙 - 문법: "${.}" > 표현 1이나 표현 2가 null이면 null을 반환 ..

IT/Java 2021.03.05

2021-03-05 일지2

* scope (4가지) - Application [Most Visible], Session, Request, Page [Least Visible] * Page scope - PageContext 추상 클래스를 사용 - JSP 페이지에서 pageContext 라는 내장 객체로 사용 가능 - forward가 될 경우 해당 Page scope에 지정된 변수는 사용할 수 없음 - 사용방법은 Application scope나 Session scope, request scope와 같음 - 마치 지역변수처럼 사용된다는 것이 다른 Scope들과 다름 - jsp에서 pageScope에 값을 저장한 후 해당 값을 EL표기법 등에서 사용할 때 사용 지역 변수처럼 해당 jsp나 서블릿이 실행되는..

IT/Java 2021.03.05

2021-03-05 일지1

* HttpServletRequest, HttpServletResponse - WAS는 웹브라우저로부터 Servlet 요청을 받으면, > 요청할 때 가지고 있는 정보를 HttpServletRequest 객체를 생성하여 저장 > 웹브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성 > 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달 * HttpServletRequest - http 프로토콜의 request 정보를 서블릿에게 전달하기 위한 목적으로 사용 - 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있음 - Body의 Stream을 읽어 들이는 메소드를 가지고 있음 * H..

IT/Java 2021.03.05

2021-03-04 일지

* 자바 웹어플리케이션(Java Web Application) - WAS에 설치(deploy)되어 동작하는 어플리케이션 - 자바 웹어플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스 (Servlet도 포함됨, package, 인터페이스 등), 각종 설정 파일 등이 포함 * Servlet - 자바 웹어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할 - WAS에서 동작하는 Java 클래스 - 서블릿은 HttpServlet 클래스를 상속받아야 함 - 서블릿과 JSP로부터 최상의 결과를 얻으려면, 웹페이지를 개발할 때 이 두가지(JSP, 서블릿)를 조화롭게 사용해야 함 ex) 웹페이지를 구성하는 화면(HTML)은 JSP로 표현하고, 복잡한 프로그래밍은 서블릿으로 구현 * Servlet..

IT/Java 2021.03.04

2021-03-03 일지2

요새, 네이버 boostcourse에서 강경미 강사님이 진행하는 '웹 백엔드' 강의를 듣고 있고, 해당 내용을 차근차근 정리해갈 예정이다. -- 시작 -- * HTTP(Hypertext Transfer Protocol) - 서버와 클라이언트가 인터넷 상에서 데이터를 주고 받기 위한 프로토콜(protocol) - 장점: 불특정 다수를 대상으로 하는 서비스에 적합 / 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버간의 최대 연결수보다 훨씬 많은 요청과 응답 처리 가능 - 단점: 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수 없음 [무상태(Stateless)] 이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술 등장 * WEB Browser Rendering..

IT/Java 2021.03.03

2021-03-03 일지1

Eclipse를 사용하여 JAVA 코딩을 배우는 과정에서 발생한 에러를 기록하려 한다. 1. Eclipse와 mysql을 연동하는 과정에서, JDBC Driver를 찾을 수 없음 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (1) JRE 설치폴더에 mysql JDBC Driver를 복사 ex. C:\JDK설치폴더\jre\lib\ext\ 에 "jar 파일"을 복사한다. -> 현재 테스트 중.. (2) Java Build Path -> Configure Build Path -> 마찬가지로 테스트 중.. 2. Tomcat 서버가 Eclipse에서 정상적으로 실행되지 않음 Tomcat을 시작하려 했으나, 해당 포트는 이미 사용중이라고 한다. 그 포트는 80..

IT/Java 2021.03.03