01. isNull() - isNull(null) = true - isNull("") = false - isNull(" ") = false - isNull("bob") = false - isNull(" bob ") = false PS : 문자열이 null인 경우 true를 반환 02. isEmpty() - isEmpty(null) = true - isEmpty("") = true - isEmpty(" ") = false - isEmpty("bob") = false - isEmpty(" bob ") = false PS : 문자열이 null이거 비어 있으면 true를 반환 03. isBlank() - isBlank(null) = true - isBlank("") = true - isBlank(" ") = t..
* 톰캣 기본 폴더구조 * Tomcat.../context.xml, server.xml 구조 * context.xml에 대해 1) Context란 - Context 설정은 톰캣에서 구동되는 하나의 웹 어플리케이션 자체의 설정을 의미한다. 주요 설정으로 ContextPath, Application 디렉토리 설정이 있다. 톰캣이 요청을 받으면 Catalina가 요청에 맞는 Context를 찾고, Context는 자신이 설정된 어플리케이션의 deployment description file(web.xml)을 기반으로 전달받은 요청을 서블릿에게 전달하여 처리 되도록 한다. 서버실행시 읽는 순서 : request -> Catalina -> Context -> servlet -> response 2) Context..
1. JPA (Java Persistent API)와 ORM (Object Relational Mapping) 1) JPA - 자바 ORM 기술에 대한 API 표준 명세를 의미합니다. - ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임워크를 사용해야 합니다. 2) ORM - 객체와 DB의 테이블이 매핑을 이루는 것을 말합니다. 즉 객체가 테이블이 되도록 매핑 시켜주는 것을 말합니다. - ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수 있습니다. - 예를들자면, Member라는 이름을 가진 테이블의 데이터를 출력하기 위해서 보통 Sele..
다음 Spring 프로젝트를 보면 servlet-context.xml과 root-context.xml을 볼 수 있습니다. servlet-context.xml servlet-context.xml은 위에 캡쳐화면과 같이 다음 주석과 같이 Dispather Servlet의 request-processing에 관한 내용이 선언이 되었습니다. 즉, 쉽게 이야기 해서 요청과 관련된 객체들을 정의합니다. url 관련 Controller, @(어노테이션), view resolvers, handlerMapping, Intercepter, MultipartResolver 등등. root-context.xml root-context.xml은 위에 캡쳐화면과 같이 다음 주석과 같이 다른 웹 컴포넌트들과 공요하는 자원들을 선언..
Static Page와 Dynamic Pages 1. Static Pages - Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환합니다. - 항상 동일한 페이지를 반환합니다. - Ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들. 2. Dynamic Pages - 인자의 내용에 맞게 동적인 contents를 반환합니다. - 즉, 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물. * Servlet : WAS 위에서 돌아가는 Java Program - 개발자는 Servlet에 doGet()을 구현합니다. Web Server와 Was의 차이 1. Web Server 1) Web Server의 개념 - 정..
1. 공통점 - abstract class와 interface는 선언만 있고 구현 내용이 없는 클래스입니다. - 자기 자신이 new로 객체생성을 해서 사용하는게 불가능합니다. - 추상클래스와 같은 경우 extends를 한 자식클래스나, 인터페이스와 같은 경우 implements한 자식 인터페이스만 객체를 생성할 수 있습니다. 2. 차이점 1) 추상클래스 - 추상클래스와 같은 경우 말그대로 클래스이고, 인터페이스와 같은 경우 구현하기 전 메서드에 대해 명시된것으로도 볼 수 있습니다. - 추상클래스와 같은 경우 반드시 클래스 내에 추상메서드(abstract Method())가 존재해야 합니다. - 오로지 단일상속(extends) 만 가능합니다. - 여러 메서드가 있지만 가져다 쓰거나 오버라이드 하거나, ab..
01. Interceptor의 개념 - Interceptor란 컨트롤러에 들어오는 요청 HttpRequest와 컨트롤러가 응답하는 HttpResponse를 가로채는 역할을 하는것을 일컫습니다. - 싸이클 모델로 살펴보자면 다음과 같습니다. 02. Filter와 Interceptor의 차이. - 인터셉터는 Servlet의 앞, 뒤에서 각각 HttpRequest, HttpResponse를 가로채는 Filter와 역할은 유사 하지만 이 2가지는 분명히 다릅니다. 그래서 차이점을 정리하려고 합니다. 1) 호출 시점 - Filter는 DispatcherServlet이 실행되기 전, Interceptor는 DispatcherServlet이 실행된 후. 2) 설정 위치 - Filter는 web.xml, Interce..
* 간단한 Java의 소개 - 1995년에 미국의 선 마이크로 시스템즈가 개발한 객체지향 프로그래밍 언어이다. * Java언어의 장단점 1) 장점 - 운영체제에 독립적이다. (JVM에서 동작하기 때문에, 특정 운영체제에 종속되지 않는다.) - 객체지향 언어이다. - 기본 자료형을 제외한 모든 요소들이 객체로 표현된다. - 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어이다. - Garbage Collector를 통해 자동으로 메모리 관리를 해준다. - 오픈소스이다. - 많은 웹개발자들에게 사랑을 받는다. - 멀티스레드를 지원한다. 2) 단점 - 비교적 속도가 느리고 무겁다. - 한번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고 JVM에 의해 기계어로 번역되고 실행하는 과정을 거치..
1 Error Exception in thread "main" java.lang.NoClassDefFoundError: 파일명 발생경우 클래스 파일을 찾을 수 없는 경우 조언 실행하려는 클래스 파일 이름이 제대로 되어 있는지 확인필요. 또한, CLASSPATH 설정이 제대로 되어 있는지 확인하며, 만약 되어있지 않다면 설정한다. 2 Error cannot resolve symbol symbol : class in (에러가 난 부분) location : class StackTest(찾으려는 위치) 발생경우 이해할 수 없는 클래스나 메소드, 변수명이 올경우 조언 보통 이 에러는 철자가 틀렸을 경우에 많이 발생한다. 클래스, 메소드, 변수의 철자를 세심히 확인해 본다. 특히 철자를 확인할때 대 소문자 구분을 ..