JAVA 공부/JAVA 상식&의존성6 [자바 상식] CGI와 서블릿 그리고 톰캣 1. CGI란 무엇인가 CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. 그렇다면 여기에서는 CGI에 대하여 조금 쉽게 설명한 후에 그 개념에 대하여 더 자세하게 알아보도록 하겠다. CGI란 사용자의 요청의 의한 서버의 응답이라고 할 수 있다. 예를 들어 방명록이나 게시판등이 대표적이라고 할 수 있는 것이다. CGI를 가능하게 하기 위해서는 사용자의 입력을 받아들이는 html문서와 입력을 처리하기 위한 CGI프로그램이 필요하다. CGI는 응용프로그램이기 때문에 html로는 만들 수 없고 웹서버의 환경의 따라 다르게 구현되는데 주로 C, Perl, Visual Basic 등이 사용되고 있다.. 2020. 5. 13. [자바 상식] JVM과 바이트코드 JVM : Java Virtual Machine (자바 가상 머신) - 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. - Java Byte Code를 OS(Operating System : 운영체제)에 맞게 해석, 실행될 수 있는 런타임 환경을 제공해주는 규격. - JVM은 많은 하드웨어와 소프트웨어 플랫폼에 이용 가능하다. - 운영체제 독립적으로 동작하기 위해 필요 - 컴파일된 바이트 코드를 실행하기 위한 가상의 머신 * Loads code : 작성된 소스코드를 로드(Load : 읽기) * Verifies code : 소스코드 검증 및 확인 ( 문법에 올바른지 검증하여 정상적으로 동작하는지 확인한다.) * Executes code : 소스코드 실행(실제 머신에서 소.. 2020. 5. 13. [자바 상식] J2EE, JDK, JRE, J2SE 차이 1. JRE : JVM이 실행될 수 있도록 도와주는 역할을 하는 파일로 주로 "사용자"가 사용한다. 그리고 JDK와 별도로 설치가 가능하다. 2. JDK : "개발자"를 위한 파일로 자바 소스코드를 직접 입력할 수 있다. JDK를 설치하면 JRE와 JVM가 함께 설치되어 직접 입력한 자바 소스 코드를 실행시킬 수 있다. 3. J2SE(Java 2 Standard Edition) [ 기본적인 Java의 개발/실행 환경으로 Java언어를 이용하여 어플리케이션(Application), 애플릿(Applet) 그리고 컴포넌E트(Component) 등을 개발하고 실행할 수 있는 환경을 제공하는 플랫폼이다. ] 어떠한 Java프로그램을 개발하더라도 J2SE설치는 필수이며 SDK, RE, Plugin 기술등으로 구성된.. 2020. 5. 13. [자바 의존성] 프레임워크와 자바 웹개발 관련 프레임워크 프레임워크(FrameWork) 프로그램을 만들기 해 지켜야하는 기본 틀, 뼈대 기본 설계, 라이브러리를 제공하여 빠른시간 완성 유지보수 할수있는 환경제공 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다. 원하는 기능 구현에만 집중하여 빠르게 개발 할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것으로 라이브러리가 포함되어 있다. 프레임워크만으로는 실행되지 않으며 기능 추가를 해야 되고 프레임워크에 의존하여 개발해야 되며 프레임워크가 정의한 규칙을 준수해야 한다. 프레임워크를 자동차에 비교하면은 기본적으로 구성하고있는 자동차 틀(뼈대)을 의미한다. 자동차의 기능을 하는 엔진,타이어, 기타 등(라이브러리)을 붙여야 .. 2020. 5. 13. [자바의 의존성] 의존성과 라이브러리, 그리고 jar 의존성(Dependency) 의존성이란 사전적으로 다른 것에 의지하여 생활하거나 존재하는 성질 이라는 의미를 가지고 있습니다. 자바에서의 의존성은 무엇일까요? 의사 코드 운전자가 자동차를 생산한다. 자동차는 내부적으로 타이어를 생산한다. Java 로 표현 Car car = new Car(); Car() { Tire tire = new Tire(); //Car 객체 생성자에서 타이어 생성 } 그리고 단순 무식하게 의존성이란? 의존성은 new 이다. new 를 실행하는 Car 와 Tire 사이에서 Car 가 Tire 에 의존한다고 합니다. 결론적으로 전체가 부분에 의존한다고 표현할 수 있습니다. 더 깊이 들어가면 의존하는 객체(전체)와 의존되는 객체(부분) 사이에 집합 관계(Aggregation)와 구성 관.. 2020. 5. 13. [자바의 의존성] 메이븐과 의존성 관리도구 메이븐(Maven)과 의존성 관리도구 메이븐은 의존성 관리도구이다. Apache Maven의 사전적 정의는 다음과 같습니다. Apache Maven은 자바용 프로젝트 관리도구로 Apache Ant의 대안으로 만들어졌다. Apache License로 배포되는 오픈 소스 소프트웨어이다. Java 기반 프로젝트의 라이프사이클 관리(논리적인 작업 흐름)를 자동화 빌드 도구이다. 즉, 자바 소스를 컴파일하고 패키지해서 배치하는 일을 자동화 해주는 것 Maven의 장점 라이브러리의 관리를 매우 용이하게 해준다. 컴파일과 빌드를 동시에 수행, 테스트를 병행하거나 서버 측 *Deploy 자원을 관리할 수 있는 환경을 제공한다. 프로젝트의 작성부터 컴파일, 페트스 등 프로젝트 라이프사이클에 포함되는 각 테스트를 지원해준.. 2020. 5. 13. 이전 1 다음