Skip to content
Home » 자바 응용 프로그램 | 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1) 6 개의 가장 정확한 답변

자바 응용 프로그램 | 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1) 6 개의 가장 정확한 답변

당신은 주제를 찾고 있습니까 “자바 응용 프로그램 – 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1)“? 다음 카테고리의 웹사이트 https://hu.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://hu.taphoamini.com/photos/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 동빈나 이(가) 작성한 기사에는 조회수 28,430회 및 좋아요 235개 개의 좋아요가 있습니다.

Table of Contents

자바 응용 프로그램 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1) – 자바 응용 프로그램 주제에 대한 세부정보를 참조하세요

자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1) 강의 동영상입니다.

자바 응용 프로그램 주제에 대한 자세한 내용은 여기를 참조하세요.

제1절 기본 자바 응용프로그램 – 자바를 이용한 프로그래밍 입문

기본 자바 응용프로그램 … 프로그램 은 컴퓨터가 어떤 작업을 수행하기 위해 실행할 수 있는 일련의 명령어들 이다. 단순하고 충분한 개념이지만, 컴퓨터 …

+ 여기에 더 보기

Source: wikidocs.net

Date Published: 5/6/2022

View: 3691

Java 응용프로그램 실행 – IBM

Java 응용프로그램은 java 실행기 또는 JNI를 사용하여 시작할 수 있습니다. 설정은 명령행 인수, 환경 변수 및 특성 파일을 사용하여 Java 응용프로그램으로 전달 …

+ 여기에 자세히 보기

Source: www.ibm.com

Date Published: 1/19/2022

View: 3039

JAVA 응용프로그램만들때 대기업에서는 어떤 프로그램으로 …

JAVA 응용프로그램만들때 대기업에서는 어떤 프로그램으로 EXE파일만드나요? 제가 완전 초보라서요. 기본적인 알고리즘 백준, 삼성 코드그라운드 등은 …

+ 여기에 보기

Source: okky.kr

Date Published: 4/30/2021

View: 7764

Java의 용도 : 12 가지 실제 Java 애플리케이션 – 다른

우리는 응용 프로그램 또는 웹 개발, 빅 데이터, 인공 지능, 모바일 개발 등 거의 모든 분야에서 Java 언어의 많은 응용 프로그램을 찾습니다.

+ 여기에 표시

Source: ko.myservername.com

Date Published: 10/30/2021

View: 5069

11장 Java 및 웹 응용 프로그램 작업

웹 응용 프로그램 아카이브(.war 파일)가 있거나 서버의 웹 응용 프로그램 경로를 알고 있습니다. Sun Java System Web Server 7.0. 웹 응용 프로그램은 wadm, 관리 콘솔 …

+ 여기에 더 보기

Source: docs.oracle.com

Date Published: 1/21/2021

View: 4814

자바 응용프로그램을 개발할때는 JDK? JRE?

Q. 자바 응용 프로그램을 개발하고자 한다면 JDK와 JRE 중 어떤 것이 필요할까? 명품 JAVA programming 개정 4판 53p 연습문제 8번. 이를 알기 …

+ 여기를 클릭

Source: with.tistory.com

Date Published: 4/23/2022

View: 2997

Java 실행 문제 해결 팁

Java가 제대로 설치되었는지 확인한 후에는 다음 항목을 시도하여 특정 Java 응용 프로그램을 실행할 수 있습니다. Java 설치 후 브라우저를 재시작하여 새 버전을 사용 …

+ 더 읽기

Source: www.java.com

Date Published: 9/22/2022

View: 3270

[Java] 프로그램이란, Java의 기초 개념 – Hailey_Log

그 이후 “Java Virtual Machine” 자바 가상 머신이 컴파일된 코드를 실행한다. 이렇게 두 단계로 나눠서 컴파일하고 실행하는 이유는 응용프로그램 …

+ 여기에 표시

Source: hlog.tistory.com

Date Published: 1/24/2021

View: 485

1. java 기본 및 설치 – 안녕, 세상!

자바 배포판은 JRE(Java Run-time Environment), JDK(Java Development Kit) 등을 제공합니다. JRE는 자바 응용 프로그램의 실행환경으로 자바 가상 머신 …

+ 여기에 보기

Source: luminitworld.tistory.com

Date Published: 5/12/2021

View: 9875

[JavaFX]UI기반 응용프로그램 실행파일(exe) 만들기 – 조이 생각

그럼 jre 없는 환경에서도 java로 구현한 exe 파일 실행할 수있는 방법에 대해서 알아보겠습니다. Launch4J 설치. 먼저 Launch4J 를 아래 주소에서 다운 …

+ 여기에 보기

Source: joytk.tistory.com

Date Published: 3/16/2021

View: 6211

주제와 관련된 이미지 자바 응용 프로그램

주제와 관련된 더 많은 사진을 참조하십시오 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

자바 응용 프로그램 개발 실전 테크닉 1강 - 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1)
자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1)

주제에 대한 기사 평가 자바 응용 프로그램

  • Author: 동빈나
  • Views: 조회수 28,430회
  • Likes: 좋아요 235개
  • Date Published: 2017. 6. 22.
  • Video Url link: https://www.youtube.com/watch?v=dLFXs9hRZKQ

제1절 기본 자바 응용프로그램

제1절

기본 자바 응용프로그램

프로그램 은 컴퓨터가 어떤 작업을 수행하기 위해 실행할 수 있는 일련의 명령어들 이다. 단순하고 충분한 개념이지만, 컴퓨터가 명령어를 사용하기 위해서는 이를 컴퓨터가 사용할 수 있는 형태로 작성되어야 한다. 즉 프로그램은 프로그래밍 언어(programming language)로 작성되어야 한다는 것을 의미한다. 프로그래밍 언어는 어떤 프로그램에서 무엇이 허용되고 허용되지 않는지에 관하여 완전히 명확하고 매우 엄격하다는 점에서 일반적인 인간의 언어와 다르다. 무엇이 허용되는지 결정하는 규칙을 언어의 구문(syntax)이라고 한다. 구문 규칙은 언어의 기본 단어와 루프, 분기, 서브루틴 등을 사용하여 프로그램을 구성하는 방법을 명시한다. 구문적으로 올바른 프로그램은 성공적으로 컴파일되거나 인터프리트될 수 있는 프로그램이다; 구문 오류가 있는 프로그램은 거부될 것이다(문제를 해결하는 데 도움이 될 유용한 오류 메시지와 함께 말이다).

그래서 성공적인 프로그래머가 되기 위해서는 당신이 사용하고 있는 프로그래밍 언어의 구문에 대한 상세한 지식을 계발해야 한다. 그러나 구문은 이야기의 일부에 불과하다. 실행할 프로그램을 작성하는 것만으로는 충분하지 않다 — 실행하여 정확한 결과를 산출할 프로그램을 원하는 것이다! 즉, 프로그램의 의미가 옳아야 한다는 것이다. 프로그램의 의미를 의미론(semantics)이라고 한다. 더 정확히 말하자면, 프로그래밍 언어의 의미론들은 그 언어로 쓰여진 프로그램의 의미를 결정하는 규칙들의 집합이다. 의미론적으로 올바른 프로그램은 당신이 원하는 것을 하는 것이다.

게다가, 프로그램은 구문론적으로 그리고 의미론적으로 정확하지만 여전히 꽤나 나쁜 프로그램일 수 있다. 언어를 올바르게 사용하는 것은 능숙하게 사용하는 것과 같지 않다. 예를 들어, 좋은 프로그램은 “스타일(style)”을 가지고 있다. 사람들이 쉽게 읽고 이해할 수 있도록 쓰여 있다. 그것은 다른 프로그래머들에게 친숙할 규약을 따른다. 그리고 그것은 인간 독자들에게 이치에 맞는 전체적인 디자인을 가지고 있다. 컴퓨터는 그런 것들을 완전히 망각하고 있지만, 인간 독자에게는 그런 것들이 무엇보다 중요하다. 프로그래밍의 이러한 측면을 때때로 실용주의(pragmatics)라고 한다. (나는 더 일반적인 용어인 스타일을 자주 사용할 것이다.)

새로운 언어 특징을 소개할 때, 구문, 의미론, 그리고 그 특징의 실용성에 대해 설명할 것이다. 구문을 기억해야 한다; 이는 쉬운 부분이다. 그런 다음 주어진 예제를 따르고, 그것들이 어떻게 작동하는지 확실히 이해하도록 하고, 이상적으로는 이해력을 테스트하기 위해 자신만의 짧은 프로그램을 쓰는 것으로 의미론에 대한 인상을 가져야 한다. 그리고 실용주의를 인정하고 흡수하도록 노력해야 한다 — 즉 다른 프로그래머들의 찬사를 받을 스타일과 더불어 그 언어의 특징을 능숙하게 사용하는 법을 배우는 것을 의미한다.

물론 언어의 모든 개별적인 특징에 익숙해졌다고 해서 프로그래머가 되는 것은 아니다. 여전히 특정한 문제를 해결하기 위해 복잡한 프로그램을 구성하는 방법을 배워야 한다. 그러기 위해서는 경험과 감각이 모두 필요할 것이다. 이 교재에서 소프트웨어 개발에 대한 힌트를 찾을 수 있을 것이다.

자바에 대한 탐사의 시작은 이러한 출발점의 전통이 된 문제와 함께 이루어진다: “Hello World!”라는 메시지를 출력하는 프로그램 쓰기. 이것은 사소한 문제로 보일 수도 있지만, 컴퓨터가 이것을 하도록 만드는 것은 새로운 프로그래밍 언어를 배우는 데 있어 정말 큰 첫 번째 단계이다. 이는 다음과 같은 기본적인 과정을 이해한다는 것을 의미한다:

프로그램 텍스트를 컴퓨터로 가져오고 프로그램 컴파일을 한 다음 컴파일된 프로그램 실행

처음에는, 이 각각의 단계들에서 올바른 방향으로 나아가기 위해 아마도 몇 가지 시도를 하게 될 것이다. 여기서 이러한 각각의 단계를 어떻게 하는지에 대해 자세히 설명하지는 않을 것이다; 이는 사용하고 있는 특정 컴퓨터와 자바 프로그래밍 환경에 달려 있기 때문이다. 특정 프로그래밍 환경에서 자바 프로그램을 만들고 실행하는 방법에 대한 자세한 내용은 제2장 제6절을 참조하라. 그러나 일반적으로는, 어떤 종류의 텍스트 편집기를 사용하여 프로그램을 입력하고 프로그램을 파일로 저장한다. 그런 다음 몇 가지 명령어를 사용하여 파일을 컴파일한다. 프로그램에 구문 오류가 있다는 메시지가 표시되거나, 컴파일된 버전의 프로그램을 얻게 될 것이다. 자바의 경우, 프로그램은 기계 언어가 아닌 자바 바이트코드로 컴파일된다. 마지막으로, 적절한 명령어를 주어 컴파일된 프로그램을 실행할 수 있다. 자바에서는, 실제로 인터프리터를 사용하여 자바 바이트코드를 실행한다. 프로그래밍 환경에서는 일부 단계를 자동화 — 예컨대 컴파일 단계가 자동으로 수행되는 등 — 할 수 있지만, 동일한 세 단계가 백그라운드에서 수행되고 있는지 확인할 수 있다.

여기 “Hello World!”라는 메시지를 표시하는 자바 프로그램이 있다. 아직 여기서 무슨 일이 일어나고 있는지 이해하기를 기대하지 마라; 그 중 일부는 지금부터 몇몇 장을 지나서야 제대로 이해할 수 있을 것이다:

/** A program to display the message * “Hello World!” on standard output. */ public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World!”); } } // end of class HelloWorld

메시지를 실제로 표시하는 명령은 다음과 같다.

System.out.println(“Hello World!”);

이 명령은 서브루틴 호출문(subroutine call statement)의 예시이다. 그것은 실제 작업을 하기 위해 System.out.println 이라는 “내장 서브루틴(built-in subroutine)”을 사용한다. 서브루틴은 어떤 작업을 수행하기 위한 명령어들로 구성되고 함께 뭉쳐져(chunked) 이름이 지정된다는 점을 떠올려라. 이 이름을 사용하여 작업을 수행해야 할 때마다 서브루틴을 “호출(call)”할 수 있다. 내장 서브루틴은 이미 언어의 일부로 정의되어 있으므로 따라서 어떤 프로그램에서든 자동적으로 사용할 수 있다.

이 프로그램을 실행하면 “Hello World!” (따옴표 없이) 메시지가 표준 출력(standard output)으로 표시된다. 불행히도, 그것이 무엇을 의미하는지를 정확히 말할 수는 없다! 자바는 많은 다른 플랫폼에서 실행되도록 되어 있고, 표준 출력은 다른 플랫폼에서 다른 것들을 의미하기에. 하지만, 여러분은 그 메시지가 편리하거나 불편한 곳에 나타날 것을 기대할 수 있다. (오라클의 자바 개발 키트(Java Development Kit)와 같은 명령줄 인터페이스를 사용하는 경우 명령을 입력하여 시스템에서 프로그램을 실행하도록 해야 한다. 컴퓨터는 다음 줄에 프로그램의 출력, 즉 Hello World!를 타이핑할 것이다. 이클립스(Eclipse)와 같은 통합 개발 환경에서는 출력이 환경 윈도우 중 어딘가에 나타날 수 있다.)

위 프로그램에 나오는 다른 모든 것들이 궁금할 것이다. 그 중 일부는 주석(comment)으로 구성되어 있다. 프로그램의 주석은 컴퓨터에 의해 완전히 무시된다; 그것은 오직 인간 독자들을 위한 것이다. 이 사실이 그들이 중요하지 않다는 것을 의미하지는 않는다. 프로그램은 컴퓨터뿐만 아니라 사람도 읽을 수 있도록 되어 있으며, 주석이 없으면 프로그램은 이해하기 매우 어려울 수 있다. 자바에는 두 가지 종류의 주석이 있다. 첫 번째 유형은 //로 시작하여 줄의 끝까지 확장된다. 위 프로그램의 마지막 줄에 이 양식의 주석이 있다. 컴퓨터는 //와 그것을 따르는 모든 것을 같은 선에서 무시한다. 두 번째 유형의 주석은 /*로 시작하고 */로 끝나며, 둘 이상의 줄에 걸쳐 확장할 수 있다. 프로그램의 처음 세 줄은 이 두 번째 유형의 예시이다. (실제로 /**로 시작하는 주석은, 이것이 하는 것과 같이 특별한 의미를 가지고 있다; 프로그램의 문서화를 만드는 데 사용할 수 있는 “자바독(Javadoc)” 주석이다. 제4장 제6절 제5관 참조)

프로그램의 다른 모든 것은 자바 구문 규칙에 의해 요구되는 것이다. 자바의 모든 프로그래밍은 “클래스(class)” 안에서 이루어진다. 위의 프로그램의 첫 번째 줄(주석은 세지 않음)에는 HelloWorld 라는 클래스라고 되어 있다. 클래스 이름인 “HelloWorld”는 또한 프로그램의 이름 역할을 한다. 모든 클래스가 프로그램인 것은 아니다. 프로그램을 정의하기 위해서는, 클래스는 다음과 같은 형식을 취하는 정의와 함께 main 이라는 이름의 서브루틴을 포함해야 한다:

public static void main(String[] args) { statements }

자바 인터프리터에게 프로그램을 실행하라고 말하면, 인터프리터는 이 서브루틴을 호출하고, 그 안에 포함된 문장들(statements)이 실행된다. 이 문장들은 프로그램이 실행될 때 컴퓨터에게 정확히 무엇을 해야 하는지 알려주는 스크립트(script)를 구성한다. main() 루틴은 동일한 클래스 또는 다른 클래스에서 정의되는 다른 서브루틴까지도 호출할 수 있지만, 다른 서브루틴이 사용되는 방법과 순서를 결정하는 것이 바로 main() 루틴이다.

main() 의 첫 줄에 있는 “public”라는 말은 이 루틴을 프로그램 밖에서 불러올 수 있다는 것을 의미한다. main() 루틴은 자바 인터프리터에 의해 호출되고, 인터프리터는 프로그램 자체에 대하여 외부적인 것이기 때문에 (public이) 필수적이다. 루틴의 첫 번째 줄의 나머지 부분은 현재로서는 설명하기가 더 어렵다; 현재로서는 그것을 필수 구문의 일부로써 생각하라. 서브루틴의 정의 — 즉, 서브루틴이 무얼 하는지를 말하는 명령어들 — 는 괄호 { } 사이에 둘러싸인 “statements”로 구성된다. 여기서 나는 프로그램을 구성하는 실제 문장들의 표시자(placeholder)로 statements를 사용하였다. 이 교재를 통해서 나는 항상 비슷한 형식을 사용할 것이다: 이 텍스트 스타일 (녹색 및 굵은 글씨)에서 보이는 것은 모두 실제 프로그램을 쓸 때 타이핑해야 할 것을 설명하는 표시자이다.

위에서 언급한 바와 같이 서브루틴은 그 자체로 존재할 수 없다. 그것은 “클래스”의 일부여야 한다. 프로그램은 다음과 같은 형식을 취하는 public class 에 의해 정의된다.

optional-package-declaration optional-imports public class program-name { optional-variable-declarations-and-subroutines public static void main(String[] args) { statements } optional-variable-declarations-and-subroutines }

처음 두 줄은 패키지(package)를 사용하는 것과 관련이 있다. 패키지는 클래스의 모임이다. 제4절에서 패키지에 대해 배우기 시작할 것이지만, 우리의 처음 몇 가지 예시 프로그램은 패키지를 사용하지 않을 것이다.

“public class”로 시작하는 줄의 program-name은 프로그램의 이름일 뿐만 아니라 클래스 이름이다. (재차 기억하라. 저 program-name은 실제 이름을 위한 표시자란 것을!) 클래스 이름이 HelloWorld인 경우, 해당 클래스는 HelloWorld.java 라는 파일에 저장되어야 한다. 이 파일이 컴파일되면 HelloWorld.class 라는 이름의 다른 파일이 생산될 것이다. 이 클래스 파일인 HelloWorld.class 는 프로그램을 자바 바이트코드로 변환하여 자바 인터프리터가 실행할 수 있는 내용을 담고 있다. HelloWorld.java 는 프로그램의 소스 코드(source code)로 불린다. 프로그램을 실행하려면 소스 코드가 아닌 컴파일된 클래스 파일만 있으면 된다.

빈 줄과 들여쓰기와 같이 페이지에 있는 프로그램 레이아웃(layout)은 언어의 구문이나 의미론의 일부가 아니다. 컴퓨터는 레이아웃에 신경 쓰지 않는다 — 하여튼 전체 프로그램을 한 줄에 놓고 실행할 수 있을 테니까. 그러나 레이아웃은 인간 독자들에게 중요하며, 대부분의 프로그래머들이 따르는 레이아웃에 대한 일정한 스타일 지침이 있다.

Java 응용프로그램 실행

Java™ 응용프로그램은 java 실행기 또는 JNI를 사용하여 시작할 수 있습니다. 설정은 명령행 인수, 환경 변수 및 특성 파일을 사용하여 Java 응용프로그램으로 전달됩니다.

용도

java 및 javaw 도구는 Java Runtime Environment를 시작하고 지정된 클래스를 로드하여 Java 애플리케이션을 시작합니다.

AIX, Linux 및 Windows 시스템의 경우 javaw 명령은 java와 동일합니다. 단, javaw에는 연관된 콘솔 창이 없습니다. 명령 프롬프트 창을 표시하지 않으려면 javaw를 사용하십시오. javaw 실행기는 실패 시 오류 정보가 포함된 창을 표시합니다.

z/OS 시스템의 경우 javaw 명령은 java와 동일하며, 다른 플랫폼과의 호환성을 위해 z/OS®에서 지원됩니다.

Java의 용도 : 12 가지 실제 Java 애플리케이션

what is java used

이 튜토리얼은 Java의 용도를 설명합니다. Java 기반 도구 및 기술을 포함하여 최고의 실제 Java 응용 프로그램에 대해 설명합니다.

1995 년 Sun Microsystems가 개발 한 이래로이 언어는 수백만 응용 프로그램과 관련하여 중추 역할을했습니다.

Oracle (Sun에서 Java를 인수 함)에 따르면 플랫폼 (Windows, Mac OS, UNIX, Android 등)에 관계없이 거의 30 억 개의 장치가 개발을 위해 Java를 사용합니다. 이 외에도 엔터프라이즈 솔루션 및 임베디드 시스템과 같은 영역에서도 Java는 그 명성을 얻었습니다.

=> 여기에서 완벽한 Java 교육 가이드를 확인하십시오.

오늘날 Java 프로그래밍 언어는 소프트웨어 세계에서 빠르게 부상하고있는 가장 광범위하게 사용되는 언어 중 하나입니다. 우리는 응용 프로그램 또는 웹 개발, 빅 데이터, 인공 지능, 모바일 개발 등 거의 모든 분야에서 Java 언어의 많은 응용 프로그램을 찾습니다.

학습 내용 :

자바의 응용

다음 다이어그램에서 Java 프로그래밍 언어의 응용 프로그램을 요약했습니다.

이제 몇 가지를 자세히 논의하겠습니다.

# 1) 데스크탑 GUI 애플리케이션

Java 언어는 GUI 응용 프로그램을 개발하는 데 도움이되는 많은 기능을 제공합니다. Java는 AWT, Swing API 또는 Java Foundation Classes 또는 최신 JavaFX (Java 8 이상)를 제공합니다. 이러한 API / 기능은 고급 트리 기반 또는 3D 그래픽 응용 프로그램을 포함한 고급 GUI 응용 프로그램을 개발하는 데 도움이됩니다.

Java를 사용하여 개발 된 실제 데스크탑 도구 :

Acrobat Reader

ThinkFree

# 2) 웹 애플리케이션

Java는 웹 개발을위한 기능뿐만 아니라 Servlet, Struts, Spring, hibernate, JSP 등을 제공하여 소프트웨어를 프로그래밍하기 위해 매우 안전한 개발을 쉽게 할 수 있습니다.

Java를 사용하는 실제 웹 도구 :

아마존

Broadleaf

Wayfair

# 3) 모바일 애플리케이션

Java 언어는 Java 지원 스마트 폰 및 피처 폰에서 실행할 수있는 모바일 애플리케이션을 빌드하기위한 크로스 플랫폼 프레임 워크 인 J2ME라는 기능을 제공합니다.

인기있는 모바일 운영 체제 중 하나 인 Android는 Java 기반 Android SDK를 사용하여 개발되었습니다.

인기있는 Java 기반 모바일 앱 :

넷플릭스

부싯깃

구글 어스

Uber

# 4) 엔터프라이즈 애플리케이션

Java는 주로 고성능을 제공하는 강력한 기능 때문에 엔터프라이즈 프로그램을 개발하기위한 첫 번째 선택입니다. 성능 외에도 Java는 애플리케이션을 더욱 강력하고 안전하며 쉽게 확장 할 수 있도록합니다.

Java 언어에는 엔터프라이즈 소프트웨어, 네트워크 도구 및 웹 서비스를 스크립팅하고 실행하기위한 API 및 런타임 환경 기능과 함께 제공되는 Java EE (Java Enterprise Edition) 플랫폼이 있습니다.

Oracle에 따르면 거의 97 %의 엔터프라이즈 컴퓨터가 Java에서 실행되고 있습니다. Java가 제공하는 더 높은 성능과 더 빠른 컴퓨팅으로 인해 대부분의 엔터프라이즈 애플리케이션이 Java로 개발되었습니다.

Java를 사용하는 실시간 엔터프라이즈 애플리케이션 :

ERP (Enterprise Resource Planning) 시스템

고객 자원 관리 (CRM) 시스템

# 5) 과학적 응용

Java에는 과학 응용 프로그램 개발에 널리 사용되는 강력한 보안 및 견고성 기능이 있습니다. Java는 또한 서로 다른 플랫폼에서 동일한 결과를 제공하는 강력한 수학적 계산을 제공합니다.

가장 인기있는 Java 기반 과학 도구 :

매트랩

# 6) 웹 서버 및 애플리케이션 서버

현재 전체 Java 에코 시스템에는 수많은 애플리케이션과 웹 서버가 있습니다. 웹 서버 중에는 Apache Tomcat, Project Jigsaw, Rimfaxe Web Server (RWS), Jo! 등이 공간을 지배합니다.

마찬가지로 WebSphere, JBoss, WebLogic 등과 같은 애플리케이션 서버가 상업적으로 업계를 지배하고 있습니다.

# 7) 임베디드 시스템

임베디드 시스템은 더 큰 전자 기계 시스템의 일부를 구성하는 저수준 시스템입니다. 이들은 작은 칩, 프로세서 등이며 통합 시스템이라고도합니다.

Java는 응용 프로그램 예외를 효율적으로 처리 할 수있는 강력한 도구를 생성 할 수 있으며 저수준 프로그램 개발에 더 적합하므로 빠릅니다.

Java를 사용하는 임베디드 시스템 애플리케이션 :

SIM 카드는 Java 기술을 사용합니다.

블루 레이 디스크 플레이어

# 8) 금융 산업의 서버 앱

은행, 투자자와 같은 금융 기관은 프론트 및 백 오피스 전자 거래 시스템, 작성 결제 및 확인 시스템, 데이터 처리 등과 같은 일상적인 비즈니스를 운영하기 위해 다양한 소프트웨어 프로그램이 필요합니다.

Java는 주로 이러한 도구에서 한 서버에서 데이터를 수신하고 처리 한 후 처리 된 데이터를 다른 서버 또는 프로세스로 보내는 서버 측 애플리케이션을 작성하는 데 사용됩니다.

Barclays, Citi 그룹, Goldman Sach 등과 같은 대부분의 주요 금융 기관은 비즈니스에 Java 기반 소프트웨어 도구를 사용합니다.

개발에 사용되는 많은 소프트웨어 도구는 Java로 작성됩니다. 예를 들면 Eclipse, IntelliJ IDEA 및 Net Bean과 같은 IDE는 모두 Java로 작성 및 개발됩니다.

이들은 또한 오늘날 사용되는 가장 인기있는 데스크탑 GUI 기반 도구입니다. 이전 스윙과 AWT는소프트웨어 개발에 주로 사용되는 기능이지만 요즘에는 JavaFx가 더 인기를 얻고 있습니다.

# 10) 거래 애플리케이션

많은 은행에서 은행 간 연결을 위해 사용되는 인기있는 거래 애플리케이션 Murex는 Java로 작성되었습니다.

# 11) J2ME 앱

iOS 및 안드로이드 기반 모바일 핸드셋 외에도 J2ME를 사용하는 Nokia와 Samsung의 핸드셋이 있습니다. J2ME는 블루 레이, 카드, 셋톱 박스 등과 같은 제품에서도 인기가 있습니다. Nokia에서 사용할 수있는 인기있는 WhatsApp 애플리케이션은 J2ME에서 사용할 수 있습니다.

# 12) 빅 데이터 기술

빅 데이터는 오늘날 소프트웨어 산업에서 가장 인기 있고 유행하는 주제입니다. 빅 데이터는 복잡한 데이터 세트에서 정보를 분석하고 체계적으로 추출하는 것을 다룹니다.

빅 데이터와 관련된 개방형 프레임 워크를 Hadoop이라고하며 전적으로 Java로 작성됩니다. 자동 가비지 수집, 메모리 배포 및 스택 프로비저닝 시스템과 같은 기능인 Java는 다른 기술보다 우위에 있습니다. 자바가 빅 데이터의 미래라고 안전하게 말할 수 있습니다.

실시간 Java 기반 빅 데이터 기술 :

하둡

Apache HBase

ElasticSearch

축적

가장 인기있는 Java 프레임 워크

프레임 워크는 응용 프로그램을 개발하는 데 사용되는 도구입니다. 개발자가 코딩 전문 용어가 아닌 비즈니스 로직에 집중할 수 있도록 개발자의 삶을 더 단순하고 코딩 위험이 없도록 프레임 워크가 개발되었습니다.

개발을위한 특정 프레임 워크를 선택하는 것은 개발중인 도구에 따라 다릅니다. 응용 프로그램에 많은 UI 디자인이 필요한 경우 풍부한 UI 개발 도구와 API를 제공하는 프레임 워크를 선택할 수 있습니다.

마찬가지로 웹 애플리케이션을 빌드하려면 다양한 웹 API를 제공하는 프레임 워크를 선택합니다. 따라서 올바른 프레임 워크를 선택하는 것은 주로 개발중인 애플리케이션, 시각적 측면, 데이터베이스 지원 및 기타 요인에 따라 달라집니다.

이 섹션에서는 오늘날 널리 사용되는 인기있는 Java 프레임 워크에 대한 간략한 정보를 제공합니다.

우리는 한 프레임 워크가 다른 프레임 워크보다 낫다고 주장하지 않습니다. 이것은 다양한 Java 프레임 워크에 관한 편리한 정보를 제공하는 목록 일뿐입니다.

위에 제시된 각 프레임 워크의 주요 기능 만 보여주었습니다. 이러한 각 프레임 워크는 웹에서 나머지 애플리케이션까지 다양한 Java 애플리케이션을 개발하는 데 특화되어 있습니다.

자주 묻는 질문

Q # 1) 현실 세계에서 Java는 어디에 사용됩니까?

대답: Java는 금융, 전자 상거래, 엔터프라이즈, 모바일, 분산 또는 빅 데이터 애플리케이션 등 거의 모든 분야에서 사용됩니다. 예를 들면 Citigroup, Barclays 등과 같은 대기업이 사용하는 대부분의 금융 소프트웨어는 Java 기반입니다. 전자 상거래 대기업 인 Amazon은 운영에 Java 기반 애플리케이션을 사용합니다.

마찬가지로 여러 데이터 처리 및 과학 프로젝트에서 Java 기술을 사용합니다.

Q # 2) Java는 일상 생활에서 어떻게 유용합니까?

대답: 우리는 일상 생활에서 Java를 사용하여 작거나 큰 소프트웨어를 만들 수 있습니다. 이러한 도구는 단일 컴퓨터 또는 분산 시스템에서 실행할 수 있습니다. 작은 모듈, 큰 응용 프로그램 또는 애플릿 일 수 있습니다. 따라서 Java는 우리의 모든 요구를 충족시킬 수 있습니다.

Q # 3) Google은 Java를 사용합니까?

대답: 예, Google 문서 애플리케이션은 Java 기반입니다.

Q # 4) Java를 사용하는 앱은 무엇입니까?

답변 : 다음은 Java로 개발 된 인기있는 앱입니다.

IntelliJIDEA

Netbeans IDE

Murex

Google Android API

Q # 5) Windows 10에 Java가 필요합니까?

대답: 예. 모든 Windows 시스템에 최신 Java 버전이없는 경우 새 프로그램을 다운로드하거나 웹 사이트를 열면 문제가 발생할 수 있습니다.

결론

이 튜토리얼에서 이미 살펴본 것처럼 Java는 오늘날 소프트웨어 세계에서 가장 인기있는 언어이며 거의 모든 분야에서 해당 응용 프로그램을 찾을 수 있습니다. 높은 성능과 견고 함, 보안 기능으로 인해 Java는 주로 은행 애플리케이션에 사용됩니다.

자바는 또한 오늘날 유행하는 빅 데이터 분야에서 선호하는 언어로 부상하고 있습니다. 향후 튜토리얼에서 Java 애플리케이션을 살펴본 후 Java 주제로 넘어 가기 전에 Java와 몇 가지 다른 프로그래밍 언어 간의 주요 차이점에 대해 논의 할 것입니다.

=> 처음부터 Java를 배우려면 여기를 방문하십시오.

11장 Java 및 웹 응용 프로그램 작업 (Sun Java System Web Server 7.0 Update 3 관리자 설명서)

Sun Java System Web Server 7.0 Update 3 관리자 설명서

11장 Java 및 웹 응용 프로그램 작업

이 장에서는 가상 서버의 Java 설정을 편집하는 절차를 설명합니다. 관리 콘솔이나 wadm 명령줄 도구에서 Java 설정을 편집할 수 있습니다. 이 장에서는 서버에서 구성할 수 있는 다양한 Java 자원에 대해서도 설명합니다.

이 장에서는 서버에서 Java 웹 응용 프로그램을 배포하는 방법에 대해서도 설명합니다.

Sun Java System Web Server에서 사용하도록 Java 구성

이 절에서는 선택한 구성에 대해 Java를 활성화하고 Java Home 변수를 설정할 수 있게 합니다.

구성에 대해 Java 활성화

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 사용 가능한 구성 목록을 가져옵니다. Java > 일반 탭을 누릅니다. Java 사용 확인란을 선택합니다. 구성에 대한 Java 지원을 설정하거나 해제합니다. Java를 사용하면 서버에서 Java 응용 프로그램을 처리할 수 있습니다. Java Home을 설정합니다. Java SE의 위치를 지정합니다. 절대 경로 또는 서버의 config 디렉토리에 대한 상대 경로를 지정합니다. 고정 첨부를 설정합니다. 서버에서 각 HTTP 요청 처리 스레드를 JVM에 한 번만 첨부할지 여부를 지정합니다. 그렇지 않을 경우 서버는 각 요청에 대해 HTTP 요청 처리 스레드를 첨부/분리합니다. 주 – CLI 사용 구성에 대해 Java를 활성화하려면 다음 명령을 실행합니다.

wadm> enable-java –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 CLI 참조 enable-java(1)를 참조하십시오.

Java 클래스 경로 설정

이 절에서는 선택된 구성에 대해 JVM 클래스 경로를 추가할 수 있습니다.

Java 클래스 경로를 설정하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 사용 가능한 구성 목록을 가져옵니다. Java > 경로 설정 탭을 누릅니다. 다음 매개 변수를 편집합니다. 환경 클래스 경로 무시 — 기본적으로 사용됩니다.

클래스 경로 접두어 — 시스템 클래스 경로의 접두어입니다. XML 파서 클래스와 같은 시스템 클래스를 대체하려면 시스템 클래스 경로 접두어만 사용해야 합니다. 사용 시 주의 하십시오.

서버 클래스 경로 — 서버 클래스를 포함하는 클래스 경로입니다. 읽기 전용 목록입니다.

클래스 경로 접미어 — 서버 클래스 경로에 추가합니다.

원시 라이브러리 경로 접두어 — 운영 체제 원시 라이브러리 경로의 접두어입니다.

Bytecode 프로세서 클래스 — com.sun.appserv.BytecodePreprocessor 를 구현하는 클래스의 정규화된 이름입니다. 런타임 클래스 계측을 수행하는 일반적인 방법은 선행 처리 기법을 사용하는 것입니다. 프로필링 및 모니터링 도구는 클래스 선행 프로세서를 사용하여 계측 코드를 JVM에서 로드하기 직전에 Java 클래스의 필요한 위치에 삽입합니다. 이를 위해 클래스 선행 프로세서는 클래스 로더와 함께 작동합니다.

JVM 구성

관리 인터페이스에서 JVM 명령줄 옵션을 설정하려면 다음 작업을 수행합니다.

JVM 구성

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > JVM 설정 탭을 누릅니다. JVM의 설정을 구성합니다.

JVM 옵션 추가

여기에 값을 지정하여 명령줄 JVM 옵션을 추가/삭제할 수 있습니다.

JVM 옵션 추가 버튼을 눌러 JVM 옵션을 추가합니다.

JVM 옵션에 대한 예는 다음과 같습니다. -Djava.security.auth.login.config=login.conf, -Djava.util.logging.manager=com.iplanet.ias.server.logging.ServerLogManager and -Xms128m -Xmx256m

CLI 사용

CLI를 통해 JVM 옵션을 추가하려면 다음 명령을 실행합니다.

wadm> create-jvm-options –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 -Dhttp.proxyHost=proxyhost.com -Dhttp.proxyPort=8080

CLI 참조 create-jvm-options(1)를 참조하십시오.

JVM 프로필러 추가

JVM 프로필러는 Java 응용 프로그램에서 성능 문제, 메모리 누수, 다중 스레딩 문제 및 시스템 자원 사용 문제를 진단하고 해결할 수 있게 하여 응용 프로그램에 대해 최고 수준의 안정성 및 확장 가능성을 보장합니다.

JVM 프로필러 추가

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 사용 가능한 구성 목록을 가져옵니다. Java > JVM 설정 탭을 누릅니다. 프로필러 섹션에서 새로 만들기 버튼을누릅니다. 다음 매개 변수의 값을 입력합니다. 이름 — 새 JVM 프로필러의 약식 이름을 지정합니다.

사용 가능 — 프로필러가 런타임에 사용되는지 여부를 결정합니다.

클래스 경로 — 프로필러의 유효한 클래스 경로를 지정합니다. (선택 사항).

원시 라이브러리 경로 — 유효한 원시 라이브러리 경로를 지정합니다. (선택 사항).

JVM 옵션 — CLI에 대해 추가 JVM 옵션을 지정할 수 있습니다. 주 – CLI 사용 CLI를 통해 JVM 프로필러를 추가하려면 다음 명령을 실행합니다.

wadm> create-jvm-profiler –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 CLI 참조 create-jvm-profiler(1)를 참조하십시오.

서버에 대해 Java 디버깅 활성화

JVM은 디버그 모드에서 시작할 수 있으며 JPDA(Java Platform Debugger Architecture) 디버거에 연결할 수 있습니다. 디버깅을 사용할 때 로컬 및 원격 디버깅을 모두 사용할 수 있습니다.

Sun Java System Web Server의 디버깅은 JPDA 소프트웨어를 기반으로 수행됩니다. 디버깅을 사용하려면 다음 작업을 수행하십시오.

JVM 디버깅 사용

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 사용 가능한 구성 목록을 가져옵니다. Java > JVM 설정 탭을 누릅니다. 디버그 Java 설정에 있는 디버그 사용 확인란을 선택합니다. 필요에 따라 새로 만들기 버튼을 눌러 JVM 옵션을 입력합니다. 기본 JPDA 옵션은 다음과 같습니다.

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7896 suspend=y 로 대체하면 JVM은 중지 모드로 시작되며 디버거가 첨부될 때까지 중지 상태로 남아 있습니다. JVM이 시작되자마자 디버깅을 시작하려는 경우에 유용합니다. JVM을 디버거에 첨부할 때 사용할 포트를 지정하려면 address=port_number 를 지정합니다. 디버깅 옵션 목록은 JPDA 문서를 확인하십시오.

Java 웹 응용 프로그램 배포

웹 응용 프로그램 추가

기존 가상 서버에 웹 응용 프로그램을 배포할 수 있습니다.

웹 응용 프로그램을 배포하는 방법

시작하기 전에

웹 응용 프로그램을 배포할 가상 서버를 식별해야 합니다.

웹 응용 프로그램 아카이브(.war 파일)가 있거나 서버의 웹 응용 프로그램 경로를 알고 있습니다.

웹 응용 프로그램은 wadm , 관리 콘솔 및 기타 지원되는 IDE를 통해 배포할 수 있습니다.

웹 응용 프로그램을 배포하려면 서버 구성 아래에 있는 가상 서버 탭을 누릅니다. 웹 응용 프로그램을 배포할 가상 서버를 선택합니다. 웹 응용 프로그램 탭 > 새로 만들기 버튼을 누릅니다. 웹 응용 프로그램 패키지를 지정합니다. 웹 응용 프로그램 아카이브를 업로드하려면 찾아보기 버튼을 누르고 아카이브를 선택합니다. 서버에 있는 웹 응용 프로그램 아카이브를 지정할 수도 있습니다(선택 사항). 웹 응용 프로그램에 대한 URI를 지정합니다. 이는 응용 프로그램 컨텍스트 루트이며 서버 호스트에 상대적입니다. 웹 응용 프로그램에 대한 간단한 설명을 제공합니다. JSP 사전 컴파일을 활성화/비활성화합니다. 이 지시문을 활성화하면 웹 응용 프로그램에 있는 모든 JSP를 사전 컴파일하여 성능을 향상시킬 수 있습니다. 응용 프로그램을 활성화합니다. 웹 응용 프로그램 상태가 사용 불가능으로 설정되어 있으면 요청 시 사용할 수 없습니다. 하지만 응용 프로그램을 인스턴스에 다시 배포하지 않고도 이 옵션을 언제든지 전환할 수 있습니다. 응용 프로그램을 배포합니다. 배포 버튼을 눌러 웹 응용 프로그램을 배포합니다. 컨텍스트 루트를 지정하여 응용 프로그램에 액세스할 수 있습니다. 예를 들면 http://:/ 와 같습니다. 주 – CLI 사용

wadm> add-webapp –user=admin –password-file=admin.passwd –host=localhost –port=8888 –config=config1 –vs=HOSTNAME –uri=/hello /home/test/hello.war CLI 참조 add-webapp(1)를 참조하십시오.

웹 응용 프로그램 디렉토리 배포

–file-on-server 옵션을 사용하여 Administration Server 호스트 시스템에 있는 디렉토리를 구성에 배포할 수 있습니다. 다음 명령을 실행합니다.

wadm> add-webapp –user=admin-user –password-file=admin.passwd –port=8989 –vs=vs1 –config=config1 –file-on-server –uri=/mywebapp /space/tmp/mywebapp

배포 중에 JSP 사전 컴파일

웹 응용 프로그램을 배포하는 동안 웹 응용 프로그램에서 JSP를 사전 컴파일하려면 –precompilejsp 옵션을 다음과 같이 설정하여 명령을 실행합니다.

wadm> add-webapp –user=admin-user –password-file=admin.passwd –port=8989 –vs=vs1 –config=config1 –file-on-server –uri=/mywebapp –precompilejsp mywebapp.war

서블릿 컨테이너 구성

이 절에서는 서블릿 컨테이너를 구성하는 절차에 대해 설명합니다.

서블릿 컨테이너 설정

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 서블릿 컨테이너를 누릅니다.

서블릿 컨테이너 전역 매개 변수

다음 표에서는 서블릿 컨테이너 페이지에서 사용할 수 있는 매개 변수에 대해 설명합니다.

매개 변수 설명 로그 수준 서블릿 컨테이너의 로그 상세 표시입니다. 사용 가능한 값은 최고(가장 많음), 보통, 최저, 정보, 경고, 실패, 구성, 보안 또는 치명적 오류(가장 적음)입니다. 동적 다시 로드 간격 이 매개 변수는 배포된 웹 응용 프로그램을 서버에서 확인하여 수정하기 전에 대기할 시간을 정의합니다. 값의 범위는 1 – 60이며 동적 다시 로드를 사용하지 않는 경우에는 –1입니다. 익명 역할 모든 사용자에게 할당된 기본 또는 익명 역할의 이름입니다. 기본 역할은 ANYONE입니다. 서블릿 풀 크기 SingleThreadedServlet 당 인스턴스화할 서블릿 인스턴스 수입니다. 값의 범위는 1 – 4096입니다. 디스패처 최대 깊이 중첩된 요청 디스패치를 허용하는 서블릿 컨테이너의 최대 깊이입니다. 가능한 값의 범위는 0 – 2147.0483647.0이며 기본값은 20입니다. 교차 컨텍스트 허용 요청 디스패처에서 다른 컨텍스트로 디스패치할 수 있는지 여부를 지정합니다. 기본값은 false입니다. 쿠키 인코딩 서블릿 컨테이너에서 쿠키 값을 인코딩할지 여부를 지정합니다. 기본값은 true입니다. 예외 표시 브라우저에 예외를 표시합니다. 이 옵션은 개발 환경에서만 유용합니다. 작업 환경에서는 이 옵션을 비활성화해야 합니다. 쿠키 암호 해독 서블릿 컨테이너는 쿠키 값의 + 문자를 공백으로 해독합니다. 세션 아이디 다시 사용 클라이언트의 새 세션을 만들 때 기존 세션 아이디 번호를 다시 사용할지 여부를 지정합니다. 기본값은 false입니다. 보안 세션 쿠키 Dynamic/True/False. 이 매개 변수는 JSESSIONID 쿠키에 보안을 표기하는 조건을 제어합니다. 보안 연결(HTTPS)에서 요청을 받은 경우에만 쿠키에 보안을 표시하려면 Dynamic(기본값)을 사용합니다. 항상 보안 표시를 하려면 True를 사용하고 보안 표시를 하지 않으려면 False를 사용합니다.

표 11–1 서블릿 컨테이너 매개 변수

서버 라이프사이클 모듈 구성

Java Server 라이프사이클 모듈은 시작 또는 중지와 같은 서버 이벤트가 발생할 때마다 특정 작업을 수행하기 위해 서버 라이프사이클 이벤트를 수신하는 Java 클래스입니다.

서버에서는 웹 서버 환경 내에서 단기 또는 장기 Java 기반 작업 실행을 지원합니다. 이러한 작업은 서버 시작 시 자동으로 시작되고 서버 종료 시 알림이 수신됩니다. 따라서 싱글톤 및 RMI 서버의 인스턴스화와 같은 작업에 연결할 수 있습니다.

다음은 서버 라이프사이클에 대한 간단한 설명입니다.

서버 라이프사이클 소개

초기화 — 이 단계에는 구성 읽기, 내장 하위 시스템 초기화(이름 지정, 보안 및 로깅 서비스), 웹 컨테이너 만들기 등이 포함됩니다.

시작 — 이 단계에는 배포된 응용 프로그램의 로딩 및 초기화가 포함됩니다.

서비스 — 서버에서 요청을 처리할 준비가 되어 있습니다.

종료 — 이 단계에서는 로드된 응용 프로그램을 중지하고 완전히 삭제합니다. 시스템이 종료할 준비를 합니다.

종료 — 이 단계에서는 내장 하위 시스템과 서버 런타임 환경을 종료합니다. 이 단계 이후에는 더 이상 작업이 실행되지 않습니다.

다시 구성 — 서버가 서비스 상태인 동안 서버 스레드가 동적으로 다시 구성되는 임시 서버 상태입니다. 이 단계는 서버의 주기 동안 여러 번 발생할 수 있습니다.

라이프사이클 모듈을 추가하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 목록을 보려면 구성 탭을 누릅니다. Java > 라이프사이클 모듈 탭을 누릅니다. 새로 만들기 버튼을 누릅니다. 다음 매개 변수의 값을 입력합니다. 이름 — 새 라이프사이클 모듈에 유효한 고유 이름을 제공합니다.

사용 가능 — 이 라이프사이클 모듈을 사용하려면 이 옵션을 사용합니다.

클래스 이름 — 정규화된 Java 클래스 이름입니다. 클래스는 com.sun.appserv.server.LifecycleListener 인터페이스를 구현해야 합니다. 이 인터페이스 사용에 대한 자세한 내용은 Developer’s Guide 를 참조하십시오.

클래스 경로 — 선택 사항입니다. Listener 클래스의 클래스 경로를 지정할 수 있습니다.

로드 순서 — 100보다 큽니다. 라이프사이클 이벤트 Listener의 로드 순서를 숫자로 나타냅니다. 내부 라이프사이클 모듈과의 충돌을 피하려면 100 이상의 로드 순서를 선택하는 것이 좋습니다.

로드 실패 시 — 이 옵션을 사용하면 서버가 Listener 클래스에서 발생한 예외를 치명적인 것으로 처리하지 않으므로 서버가 정상적으로 시작됩니다. 기본적으로 사용 안 함으로 설정됩니다.

설명 — 라이프사이클 모듈에 대한 간단한 설명을 제공합니다.

등록 정보 — 등록 정보는 Java 라이프사이클 모듈에 인수를 전달하는 데 사용할 수 있습니다. 새 등록 정보를 추가하려면 등록 정보 추가 버튼을 누르고 이름, 값 및 설명 텍스트를 입력합니다. 주의 – 서버 라이프사이클 Listener 클래스는 주 서버 스레드에서 동시에 호출되므로 Listener 클래스가 서버를 차단하지 않도록 특별히 주의해야 합니다. 필요한 경우 Listener 클래스에서 스레드를 만들 수도 있으나 셧다운/종료 단계 동안에는 해당 클래스를 중지해야 합니다.

라이프사이클 모듈을 삭제하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 목록을 보려면 구성 탭을 누릅니다. Java > 라이프사이클 모듈 탭을 누릅니다. 라이프사이클 모듈을 선택하고 라이프사이클 모듈 삭제 버튼을 누릅니다. 주 – CLI 사용 다음 예에서는 com.MyLifecycleModule 클래스로 구현되는 test 구성을 위해 myLifecycleModule 이라는 Java 라이프사이클 모듈을 만드는 방법을 보여줍니다.

wadm> create-lifecycle-module –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –class=com.sun.webserver.tests.LifecycleClass LifecycleTest CLI 참조 create-lifecycle-module(1)을 참조하십시오. Java 라이프사이클 모듈을 나열하려면 다음 명령을 실행합니다.

wadm> list-lifecycle-modules –config=test CLI 참조 list-lifecycle-modules(1)를 참조하십시오. Java 라이프사이클 모듈에 등록 정보를 추가하려면 다음 명령을 실행합니다.

wadm> create-lifecycle-module-userprop –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –module=LifecycleTest info=Testing CLI 참조 create-lifecycle-module-userprop(1)을 참조하십시오. Java 라이프사이클 모듈 등록 정보를 수정하려면 다음 명령을 실행합니다.

wadm> set-lifecycle-module-prop –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –module=LifecycleTest class-path=/space CLI 참조 set-lifecycle-module-prop(1)를 참조하십시오.

JavaTM 플랫폼용 Service Management Facility를 Web Server와 통합

Java 플랫폼용 Service Management Facility는 Solaris 10의 새로운 기능으로 각 Solaris 시스템에서 서비스 및 서비스 관리를 위한 통합 모델을 만듭니다.

Web Server 인스턴스에서 Service Management Facility 관리

다음 svcadm 명령을 사용하여 Web Server에서 Service Management Facility를 관리합니다.

Web Server를 설치하는 동안 Administration Server용 서비스를 설치하도록 선택할 수 있습니다.

svcadm enable : – 인스턴스를 시작합니다.

svcadm disable : – 인스턴스를 중지합니다.

svcadm refresh : – 인스턴스를 다시 시작합니다.

svcadm clear : — 인스턴스 상태를 지웁니다. svcadm clear 명령을 사용하여 서비스가 유지 관리 상태로 될 때 유지 관리에서 중지로 서비스 상태를 변경할 수 있습니다.

인스턴스를 만드는 동안 서비스를 만들 수 있습니다. 다음 명령을 사용하여 인스턴스 만드는 동안 서비스를 만듭니다.

wadm>create-instance –echo –no-prompt –verbose –force –config= name –create-service (nodehost)+

다음 명령을 사용하여 기존 인스턴스에서 서비스를 만듭니다.

wadm>create-service –config= node host

CLI를 통한 인스턴스 만들기에 대해 알아 보려면 create-instance(1)를 참조하십시오.

Web Server용 서비스 매니페스트

일반적으로 서비스는 서비스 및 해당 서비스와 연결된 모든 인스턴스에 대해 설명하는 XML 파일인 서비스 매니페스트를 통해 정의됩니다. 서비스 매니페스트는 svccfg import 명령을 사용하여 저장소로 가져옵니다. Service Management Facility를 사용하려면 서비스에 대한 모든 매니페스트 파일이 /var/svc/manifest 위치에 있어야 합니다.

delete-service 명령을 사용하여 서비스를 삭제합니다.

다음은 Web Server용 샘플 매니페스트 파일입니다.

서비스 로그

서비스 로그 파일은 다음 /var/svc/log 디렉토리에 있습니다. 서비스 로그 파일 항목에는 시도한 작업, 해당 작업의 결과 및 실패 원인(해당하는 경우)에 대한 정보가 들어 있습니다. 서비스 로그는 /var/svc/log/network-http:admin-server.log 의 형태로 저장됩니다.

Java 자원 구성

웹 응용 프로그램은 자원 관리자, 데이터 소스(예: SQL 데이터 소스), 전자 메일 세션 및 URL 연결 팩토리 등 다양한 자원에 액세스할 수 있습니다. Java EE 플랫폼은 JNDI(Java Naming and Directory Interface) 서비스를 통해 응용 프로그램이 이러한 자원을 사용할 수 있도록 합니다.

Sun Java System Web Server를 사용하면 다음 Java EE 자원을 만들고 관리할 수 있습니다.

JDBC 데이터 소스

JDBC 연결 풀

Java 메일 세션

사용자 정의 자원

외부 JNDI 자원

JDBC 자원 구성

JDBC 데이터 소스는 Sun Java System Web Server를 사용하여 만들고 관리할 수 있는 Java EE 자원입니다.

JDBC API는 관계형 데이터베이스 시스템과의 연결을 위한 API입니다. JDBC API는 두 부분으로 이루어집니다.

응용 프로그램 구성 요소가 데이터베이스에 액세스하는 데 사용되는 응용 프로그램 수준 인터페이스

JDBC 드라이버를 Java EE 플랫폼에 연결하는 서비스 공급자 인터페이스

JDBC 데이터 소스 객체는 Java 프로그래밍 언어로 데이터 소스를 구현한 것입니다. 간단히 말해 데이터 소스는 데이터를 저장하기 쉽게 하는 것입니다. 이는 대규모 기업용의 복잡한 데이터베이스처럼 정교한 것일 수도 있고 행과 열로 이루어진 파일과 같이 간단한 것일 수도 있습니다. JDBC 데이터 소스는 Sun Java System Web Server를 통해 만들고 관리할 수 있는 Java EE 자원입니다.

JDBC API는 일련의 Java용 클래스를 제공하며, 다양한 범위의 관계형 데이터베이스에 동일하게 액세스할 수 있도록 하는 표준 SQL 데이터베이스 액세스 인터페이스를 포함합니다.

JDBC를 사용하면 SQL 문을 거의 모든 데이터베이스 관리 시스템(DBMS)에 보낼 수 있습니다. 또한 관계형 및 객체 DBMS 모두에 대한 인터페이스로 사용됩니다.

JDBC 자원 추가

CLI를 통해 JDBC 자원을 추가하려면 다음 명령을 실행합니다.

wadm> create-jdbc-resource –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –datasource-class=oracle.jdbc.pool.OracleDataSource jdbc

CLI 참조 create-jdbc-resource(1)를 참조하십시오.

위의 예에서 com.pointbase.jdbc.jdbcDataSource 는 JDBC 드라이버 클래스를 나타냅니다.

지원되는 JDBC 드라이버의 목록은 Sun Java System Web Server와 함께 작동하는 것으로 알려진 JDBC 드라이버를 참조하십시오.

Sun Java System Web Server와 함께 작동하는 것으로 알려진 JDBC 드라이버

다음 표에서는 새 JDBC 자원을 추가할 때 구성해야 하는 공통 JDBC 드라이버 및 해당 등록 정보 목록을 제공합니다. 새 JDBC 자원 추가를 참조하십시오.

드라이버 클래스 이름 등록 정보 Oracle 드라이버 oracle.jdbc.pool.OracleDataSource url

사용자

비밀번호 Oracle용 Sun Java System JDBC 드라이버 com.sun.sql.jdbcx.oracle.OracleDataSource 서버 이름

포트 번호

사용자

비밀번호

SID DB2 IBM 드라이버 com.ibm.db2.jdbc.DB2DataSource 서버 이름

데이터베이스 이름

포트 번호

사용자

비밀번호

드라이버 유형 DB2용 Sun Java System JDBC 드라이버 com.sun.sql.jdbcx.db2.DB2DataSource 데이터베이스 이름

위치 이름

패키지 이름

비밀번호

포트 번호

서버 이름

사용자 MS SQLServer 드라이버 com.ddtek.jdbcx.sqlserver.SQLServerDataSource 데이터베이스 이름

비밀번호

사용자

서버 이름

포트 번호 MS용 Sun Java System JDBC 드라이버 com.sun.sql.jdbcx.sqlserver.SQLServerDataSource 데이터베이스 이름

비밀번호

사용자

서버 이름

포트 번호 Sybase 드라이버 com.sybase.jdbcx.SybDataSource 데이터베이스 이름

비밀번호

포트 번호

서버 이름

사용자 Sybase용 Sun Java System JDBC 드라이버 com.sun.sql.jdbcx.sybase.SybaseDataSource 데이터베이스 이름

비밀번호

사용자

포트 번호

서버 이름 MySQL 드라이버 com.mysql.jdbc.jdbc2.optional.MysqlDataSource 서버 이름

포트

데이터베이스 이름

사용자

비밀번호 Informix 드라이버 com.informix.jdbcx.IfxDataSource 포트 번호

데이터베이스 이름

IfxIFXHOST(Informix 데이터베이스를 실행하는 컴퓨터의 IP 주소 또는 호스트 이름)

서버 이름

사용자

비밀번호 Informix용 Sun Java System JDBC 드라이버 com.sun.sql.jdbcx.informix.InformixDataSource 데이터베이스 이름

informixServer(연결할 Informix 데이터베이스 서버의 이름)

비밀번호

포트 번호

서버 이름 PostgreSQL 드라이버 org.postgresql.ds.PGSimpleDataSource 서버 이름

데이터베이스 이름

포트 번호

사용자

비밀번호 Apache Derby 드라이버 org.apache.derby.jdbc.EmbeddedDataSource 데이터베이스 이름

사용자

비밀번호

표 11–2 공통 JDBC 드라이버 목록

위 목록에서 언급된 모든 Sun Java System JDBC 드라이버는 Web Server와 함께 제공됩니다. 기타 드라이버의 경우 해당 드라이버의 최신 버전 및 클래스 이름에 대해 살펴 보려면 드라이버 공급업체 설명서를 참조하십시오. 위 목록에 제공된 정보는 최신 드라이버 정보가 아닐 수 있습니다.

JDBC 자원 관리

새 JDBC 자원 추가

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 자원 탭을 누릅니다. JDBC 자원 섹션 아래에 있는 새로 만들기 버튼을 누릅니다. 드라이버 공급업체를 선택합니다. JNDI 이름에 고유한 값을 지정하고 사용 가능한 목록에서 JDBC 드라이버 공급업체를 선택합니다. JDBC 자원 등록 정보를 제공합니다. 이전 단계에서 선택한 JDBC 드라이버 공급업체를 기반으로 드라이버의 클래스 이름 및 JDBC자원 등록 정보가 자동으로 채워집니다. 검토를 수행합니다. 요약을 보고 마침을 눌러 새 JDBC 자원을 만듭니다.

JDBC 연결 풀 관리

JDBC 연결 풀 구성

Web Server 7.0에서 JDBC 연결 풀은 jdbc-resource 요소를 통해 구성됩니다. 아래의 단계를 수행하여 가장 간단한 형태의 연결 풀을 구성할 수 있습니다. 이 예에서 연결 풀은 Oracle JDBC 드라이버를 사용합니다.

JDBC 연결 풀을 만드는 방법

wadm을 시작합니다. JDBC 자원을 만듭니다. 기본 구성으로 JDBC 자원을 만듭니다. 다른 속성을 사용하여 연결 풀을 미세 조정할 수 있습니다. 추가 속성 및 예는 설명서 페이지를 참조하십시오.

wadm> create-jdbc-resource –config=test –datasourceclass=oracle.jdbc.pool.OracleDataSource jdbc/MyPool 공급업체별 등록 정보를 구성합니다. 등록 정보는 드라이버의 공급업체별 등록 정보를 구성하는 데 사용됩니다. 아래 예에서는 등록 정보 url , user 및 password 가 JDBC 자원에 추가됩니다.

wadm> add-jdbc-resource-userprop –config=test –jndi-name=jdbc/MyPool url=jdbc:oracle:thin:@hostname:1521:MYSID user=myuser password=mypassword 연결 확인을 활성화합니다. 풀에 대해 연결 확인을 활성화할 수 있습니다. 이 옵션을 사용하면 연결이 응용 프로그램으로 전달되기 전에 확인 과정을 거칩니다. 따라서 네트워크 고장 또는 데이터베이스 서버 장애로 인해 데이터베이스를 사용할 수 없는 경우 서버가 자동으로 데이터베이스 연결을 다시 설정할 수 있습니다. 연결 확인에는 추가 오버헤드가 필요하므로 성능이 약간 저하될 수 있습니다.

wadm> set-jdbc-resource-prop –config=test –jndi-name=jdbc/MyPool connection-validation-table-name=test connection-validation=table 기본 풀 설정을 변경합니다. 이 예에서는 최대 연결 수를 변경합니다.

wadm> set-jdbc-resource-prop –config=test –jndi-name=jdbc/MyPool max-connections=100 구성을 배포합니다.

wadm> deploy-config test JDBC 드라이버를 포함하는 Jar 파일을 지정합니다. 서버에는 드라이버를 구현하는 클래스를 제공해야 합니다. 이 작업은 다음과 같은 두 가지 방법으로 수행할 수 있습니다. 드라이버의 jar 파일을 서버 인스턴스 lib 디렉토리에 복사합니다. 인스턴스 lib 디렉토리에 포함된 jar 파일이 자동으로 로드되어 서버에서 사용할 수 있게 되기 때문에 이 방법이 가장 간단한 방법입니다.

JVM의 class-path-suffix가 JDBC 드라이버의 jar 파일을 포함하도록 수정합니다.

wadm> set-jvm-prop –config=test class-path-suffix=/export/home/lib/classes12.jar 웹 응용 프로그램에서의 사용법 WEB-INF/web.xml 수정

JDBC Connection Pool jdbc/myJdbc javax.sql.DataSource Container

WEB-INF/sun-web.xml 수정

jdbc/myJdbc jdbc/MyPool

연결 풀 사용

Context initContext = new InitialContext(); Context webContext = (Context)context.lookup(“java:/comp/env”); DataSource ds = (DataSource) webContext.lookup(“jdbc/myJdbc”); Connection dbCon = ds.getConnection();

사용자 정의 자원 등록

다음 작업을 수행하여 인스턴스에 사용자 정의 자원을 등록할 수 있습니다.

사용자 정의 자원을 추가하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 자원 탭을 누릅니다. 사용자 정의 자원 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

사용자 정의 자원 등록 정보

다음 표에서는 사용자 정의 자원을 만드는 데 사용할 수 있는 등록 정보에 대해 설명합니다.

등록 정보 설명 JNDI 이름 사용자 정의 자원에 대해 고유한 JNDI 이름을 제공합니다. 사용 가능 런타임에 이 사용자 정의 자원을 사용할지 여부를 결정합니다. 자원 유형 이 자원의 정규화된 유형입니다. 팩토리 클래스 이 자원 유형을 인스턴스화하는 클래스입니다. javax.naming.spi.ObjectFactory 를 구현하는 사용자 작성 팩토리 클래스의 정규화된 이름입니다. 설명 사용자 정의 자원에 대한 간단한 설명을 제공합니다. 등록 정보 등록 정보 추가 버튼을 눌러 CLI 등록 정보를 제공합니다(선택 사항).

표 11–3 사용자 정의 자원 등록 정보

CLI 사용

CLI를 통해 사용자 정의 자원을 만들려면 다음 명령을 실행합니다.

wadm> create-custom-resource –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –res-type=samples.jndi.customResource.MyBean –factory-class=samples.jndi.customResource.MyCustomConnectionFactory custom

CLI 참조 create-custom-resource(1)를 참조하십시오.

외부 JNDI 자원 작업

외부 JNDI 리소스 생성

이 옵션을 사용하여 외부 JNDI(Java Naming and Directory Interface) 자원을 만들 수 있습니다. 외부 JNDI 저장소에 저장된 자원에 액세스하려면 NDI 자원이 필요합니다.

외부 JNDI 자원을 추가하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 자원 탭을 누릅니다. 외부 JNDI 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

외부 JNDI 자원 등록 정보

다음 표에서는 새 외부 JNDI 자원을 추가하는 동안 사용할 수 있는 등록 정보에 대해 설명합니다.

등록 정보 설명 JNDI 이름 새 외부 JNDI 자원에 대해 고유한 이름을 제공합니다. 사용 가능 런타임에 이 외부 JNDI 자원을 사용할지 여부를 결정합니다. 외부 JNDI 이름 외부 JNDI 자원 이름입니다. 자원 유형 이 자원의 정규화된 유형입니다. 팩토리 클래스 이 자원 유형을 인스턴스화하는 클래스입니다. 설명 외부 JNDI 자원에 대한 간단한 설명을 제공합니다. 등록 정보 등록 정보 추가 버튼을 눌러 CLI 등록 정보를 제공합니다(선택 사항).

표 11–4 외부 JNDI 자원 등록 정보

CLI 사용

CLI를 통해 외부 JNDI 자원을 만들려면 다음 명령을 실행합니다.

wadm> create-external-jndi-resource –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –res-type=org.apache.naming.resources.Resource –factory-class=samples.jndi.externalResource.MyExternalConnectionFactory –jndilookupname=index.html external-jndi

CLI 참조 create-external-jndi-resource(1)를 참조하십시오.

메일 자원 구성

JMS 대상은 Sun Java System Web Server를 통해 만들고 관리할 수 있는 Java EE 자원입니다.

많은 인터넷 응용 프로그램에는 전자 메일 알림을 보낼 수 있는 기능이 필요하므로 Java EE 플랫폼에는 응용 프로그램 구성 요소가 인터넷 메일을 보낼 수 있게 하는 JavaMail 서비스 공급자와 함께 JavaMail API가 포함되어 있습니다.

메일 자원을 추가하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 자원 탭을 누릅니다. 메일 자원 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

메일 자원 등록 정보

다음 표에서는 새 메일 자원을 추가하는 동안 사용할 수 있는 등록 정보에 대해 설명합니다.

등록 정보 설명 JNDI 이름 새 메일 자원에 대해 고유한 이름을 제공합니다. 사용 가능 런타임에 이 메일 자원을 사용할지 여부를 결정합니다. 사용자 메일 서버에 등록된 유효한 사용자 이름입니다. 보낸 사람 서버가 메일을 보낸 전자 메일 주소입니다. 호스트 메일 서버의 호스트 이름/IP 주소입니다. 저장소 프로토콜 메시지 검색에 사용된 프로토콜입니다. 저장소 프로토콜 클래스 저장소 프로토콜에 대한 저장소 서비스 공급자 구현입니다. 저장소 프로토콜을 구현하는 클래스의 정규화된 클래스 이름입니다. 기본 클래스는 com.sun.mail.imap.IMAPStore 입니다. 전송 프로토콜 메시지를 보낼 때 사용되는 프로토콜입니다. 전송 프로토콜 클래스 전송 프로토콜에 대한 전송 서비스 공급자 구현입니다. 전송 프로토콜을 구현하는 클래스의 정규화된 클래스 이름입니다. 기본 클래스는 com.sun.mail.smtp.SMTPTransport 입니다.

표 11–5 메일 자원 등록 정보

CLI 사용

메일 자원을 만들려면 다음 명령을 실행합니다.

wadm> create-mail-resource –config=test –server-host=localhost –mail-user=nobody –[email protected] mail/Session

CLI 참조 create-mail-resource(1)를 참조하십시오.

SOAP 인증 공급자 구성

컨테이너 사양을 위한 Java Authentication Service 공급자 인터페이스는 인증 기법 공급자가 컨테이너와 통합하는 데 사용할 수 있는 표준 서비스 공급자 인터페이스를 정의합니다. 관리 콘솔을 사용하여 새 SOAP 인증 공급자를 추가할 수 있습니다.

SOAP 인증 공급자를 추가하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 웹 서비스 탭을 누릅니다. SOAP 인증 공급자 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

SOAP 인증 공급자 매개 변수

다음 표에서는 새 SOAP 인증 공급자 페이지에서 사용할 수 있는 매개 변수에 대해 설명합니다.

매개 변수 설명 이름 새 SOAP 인증 공급자의 약식 이름을 입력합니다. 클래스 이름 공급자를 구현하는 클래스입니다. javax.security.auth.XXX 를 구현하는 클래스의 정규화된 클래스 이름입니다. 인증 소스 요청 이 속성은 사용자 이름/비밀번호와 같은 메시지 계층 보낸 사람 인증, 또는 요청 메시지에 적용될 디지털 서명과 같은 내용 인증에 대한 요구 사항을 정의합니다. 값(auth-policy)은 보낸 사람 또는 내용 중 하나입니다. 이 인수를 지정하지 않으면 요청의 소스 인증이 필요하지 않습니다. 인증 수신자 요청 이 속성은 보낸 사람에 대한 메시지 수신기의 메시지 계층 인증에 대한 요구 사항을 정의합니다(예: XML 암호화). 값은 내용 전 또는 내용 후 중 하나입니다. 인증 소스 응답 이 속성은 사용자 이름/비밀번호와 같은 메시지 계층 보낸 사람 인증, 또는 응답 메시지에 적용될 디지털 서명과 같은 내용 인증에 대한 요구 사항을 정의합니다. 값(auth-policy)은 보낸 사람 또는 내용 중 하나입니다. 이 인수를 지정하지 않으면 응답의 소스 인증이 필요하지 않습니다. 인증 수신자 응답 이 속성은 보낸 사람에 대한 응답 메시지 수신기의 메시지 계층 인증에 대한 요구 사항을 정의합니다(예: XML 암호화). 등록 정보 등록 정보 추가 버튼을 눌러 다른 CLI 등록 정보를 입력합니다.

표 11–6 SOAP 인증 공급자 매개 변수

CLI 사용

CLI를 사용하여 SOAP 인증 공급자를 추가하려면 다음 명령을 실행합니다.

wadm> create-soap-auth-provider –user=admin –password-file=admin.pwd –host=serverhost –port=8989 –config=config1 –class-name=javax.security.auth.soapauthprovider soap-auth

CLI 참조 create-soap-auth-provider(1)를 참조하십시오.

세션 복제 구성

Web Server는 웹 응용 프로그램에 고가용성을 제공하는 세션 복제 기능을 지원합니다. 세션 복제는 하나의 인스턴스에서 같은 클러스터의 다른 서버 인스턴스로 HTTP 세션을 복제하여 이러한 목적을 달성합니다. 따라서 각 HTTP 세션에는 원격 인스턴스에 백업 복사본이 있습니다. 클러스터에서 인스턴스 하나를 사용할 수 없는 장애가 발생하는 경우에도 클러스터의 세션 연속성이 계속 유지됩니다.

위 그림은 역방향 프록시가 설정된 네 개의 노드 사이에서 세션 복제가 일어나는 전형적인 시나리오를 보여줍니다. Web Server C가 오프라인 상태가 되면 Web Server B에서 Web Server D로 세션 데이터가 복제됩니다.

세션 복제 설정

이 절에서는 선택한 구성에 대해 세션 복제 등록 정보를 설정하는 절차에 대해 설명합니다.

세션 복제를 설정하는 방법

구성을 선택합니다. 구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다. Java > 세션 복제를 누릅니다.

세션 복제 매개 변수 수정

다음 표에서는 세션 복제 페이지에서 사용할 수 있는 매개 변수에 대해 설명합니다.

매개 변수 설명 포트 Administration Server가 수신하고 있는 포트 번호입니다. 기본 포트는 8888입니다. 사용 가능 선택한 구성에 대해 세션 복제를 활성화합니다. 암호화 복제에 앞서 세션 데이터를 암호화할지 여부를 지정합니다. 기본값은 false입니다. 암호 클러스터 구성원이 세션 데이터 복제를 위해 사용하는 암호 제품군(알고리즘, 모드, 채우기)입니다. Getatrribute 트리거 복제 HttpSession.getAttribute 메소드 호출로 세션이 백업되어야 하는지 여부를 지정합니다. 기본값은 true입니다. 복제본 검색 최대 홉 수 세션의 백업 검색을 시도하는 동안 연결해야 할 최대 인스턴스 수입니다. 값의 범위는 1 – 2147.0483647.0이며 제한이 없는 경우에는 -1입니다. 시작 검색 시간 초과 지정된 백업 인스턴스에 연결을 시도할 때 인스턴스가 소요할 최대 시간(초)입니다. 값의 범위는 0.001 – 3600입니다. 쿠키 이름 세션이 있는 인스턴스를 추적하는 쿠키의 이름을 입력합니다.

표 11–7 세션 복제 매개 변수

인증 영역 관리

Java EE 기반 보안 모델은 사용자를 확인하고 인증하는 보안 영역을 제공합니다.

인증 프로세스는 Java 영역을 통하여 사용자를 검증합니다. 영역은 일련의 사용자, 그룹 매핑(선택) 및 인증 요청을 검증할 수 있는 인증 로직으로 구성됩니다. 구성된 영역에서 인증 요청이 검증되고 보안 컨텍스트가 설정되면 이 아이디가 모든 후속 인증 결정에 적용됩니다.

Java 영역은 auth-db(인증 데이터베이스)와 비슷하지만 auth-db는 ACL 엔진(ACL 파일에 있는 규칙 기반)에서 사용되는 반면 Java 영역은 Java 서블릿 액세스 제어 규칙(각 웹 응용 프로그램의 web.xml에서 지정)에서 사용됩니다.

서버 인스턴스의 구성된 영역 수에는 제한이 없습니다. 구성 정보는 server.xml 파일의 auth-realm 요소에 있습니다.

다음 표에서는 Web Server 7.0에서 지원되는 여러 영역 유형에 대해 정의합니다.

영역 설명 파일 file 영역은 Sun Java System Web Server를 처음 설치할 때 기본적으로 설정되는 영역입니다. 이 영역은 설정이 쉽고 간단하여 개발자에게 매우 편리합니다. file 영역은 텍스트 파일에 저장된 사용자 데이터를 기준으로 사용자를 인증합니다. Java 영역은 auth-db(인증 데이터베이스)와 비슷하지만 auth-db는 ACL 엔진(ACL 파일에 있는 규칙 기반)에서 사용되는 반면 Java 영역은 Java 서블릿 액세스 제어 규칙(각 웹 응용 프로그램의 web.xml에서 지정)에서 사용됩니다. LDAP ldap 영역을 통해 사용자 보안 정보용 LDAP 데이터베이스를 사용할 수 있습니다. LDAP 디렉토리 서비스는 고유한 아이디를 가진 속성의 모음입니다. ldap 영역은 작업 시스템 배포에 이상적입니다. ldap 영역에 대해 사용자를 인증하려면 LDAP 디렉토리에 원하는 사용자를 만들어야 합니다. Administration Server의 사용자 및 그룹 탭에서 이 작업을 실행할 수 있습니다. LDAP 디렉토리 제품의 사용자 관리 콘솔에서도 이 작업을 수행할 수 있습니다. PAM PAM(Solaris) 영역은 인증을 Solaris PAM 스택에 위임합니다. PAM auth-db와 마찬가지로 이 영역은 Solaris 9 및 10에서만 지원되며 서버 인스턴스가 루트로 실행 중이어야 합니다. 인증서 인증서 영역은 SSL 인증을 지원합니다. 인증서 영역은 Sun Java System Web Server의 보안 컨텍스트에 사용자 신분을 설정하며 클라이언트 인증서에 있는 사용자 데이터를 입력합니다. 그럼 다음 Java EE 컨테이너는 각 사용자의 인증서에 있는 사용자 DN을 기준으로 인증 프로세스를 처리합니다. 이 영역은 X.509 인증서를 통한 SSL 또는 TLS 클라이언트 인증으로 사용자를 인증합니다. 원시 native 영역은 특별 영역으로, 핵심 ACL 기반 인증 모델과 Java EE/서블릿 인증 모델을 연결하는 역할을 합니다. Java 웹 응용 프로그램용 원시 영역을 사용하여 ACL 하위 시스템이 인증을 수행할 수 있도록 할 뿐 아니라 Java 웹 응용 프로그램에서 이를 사용할 수 있도록 합니다. 인증 작업이 시작되면 원시 영역이 이 인증을 해당 핵심 인증 하위 시스템에 위임합니다. 사용자 관점에서 예를 들자면, 이는 구성된 LDAP 서버에 인증을 위임하는 LDAP 영역과 같습니다. 원시 영역이 그룹 구성원 조회를 처리하는 경우에도 핵심 인증 하위 시스템에 이 작업을 위임합니다. Java 웹 모듈 및 개발자의 관점에서 원시 영역은 웹 모듈과 함께 사용할 수 있는 기타 Java 영역과 다르지 않습니다. 사용자 정의 Oracle 등의 기타 데이터베이스용 영역을 구축하면 플러그인 가능한 JAAS 로그인 모듈과 영역 구현을 사용하여 필요에 맞는 영역을 만들 수 있습니다.

표 11–8 영역 유형

다음 절에서는 새 인증 영역 추가와 관련된 단계에 대해 설명합니다.

인증 영역을 추가하는 방법

자바 응용프로그램을 개발할때는 JDK? JRE?

Q. 자바 응용 프로그램을 개발하고자 한다면 JDK와 JRE 중 어떤 것이 필요할까?

명품 JAVA programming 개정 4판 53p 연습문제 8번

이를 알기 위해서는 먼저 JDK와 JRE를 다시 복습해봐요..

JDK란?

‘Java Development Kit’의 약어로 한국어로는 ‘자바 개발 키트’라고 해요.

이는 ‘jAVA SE’, ‘JAVA ME’, ‘JAVA EE’라는 플랫폼 중 하나를 구현한 것으로

자바 플랫폼의 등장 이래 지금까지 가장 널리 사용되는 ‘소프트웨어 개발 키트(SDK)’예요.

JRE란?

‘Java Runtime Kit’의 약어로 한국어로는 ‘자바 실행 환경’이라고 해요.

애초에 이름부터가 자바 실행 환경으로 개발용의 일부인 실행용이에요.

자바 응용을 동작시키는 자바 가상 머신(JVM)을 가지고 있어요.

JDK vs JRE vs JVM in Java – What’s the Difference ?

결론

자바 응용 프로그램을 개발할 때에는 ‘JDK’이다.

[Java] 프로그램이란, Java의 기초 개념

프로그램 Program 이란 무엇인가?

프로그램은 컴퓨터를 위한 작업 지시서로서 구체적으로 컴퓨터가 특정한 작업을 하기 위한 명령어들의 리스트이다.

명령어(instruction)

CPU가 수행하는 기초적인 연산들을 말한다. 예로 두 개의 정수를 더하는 연산, 메모리에서 CPU로 정수를 가져오는 연산 등이 명령어에 속한다.

CPU (Central Processing Unit)

컴퓨터에서 구성 단위 중 기억, 해석, 연산, 제어라는 4대 기능을 종합하는 중앙 처리 장치로서 컴퓨터의 대뇌라고 할 정도로 매우 중요한 부분 중 하나다.

프로그래밍 언어

컴퓨터가 이해하는 단 하나의 언어는 기계어이다. 기계어는 프로그램이 CPU에 내리는 명령들을 표현하며, 0과 1로만 이루어져 있다. 그러나 기계어는 인간들의 관점에서는 이해하기 어렵고 불편한 언어이기때문에 프로그래밍 작업에 용이한 언어들을 만들었고 그 중에 하나가 Java 이다.

소스 코드 (source code) : 인간이 프로그래밍 언어를 사용하여 원하는 작업을 텍스트로 기술한 것

소스 파일 (source file) : 소스코드가 파일에 저장된 것

컴파일러 (compiler) : java와 같이 프로그래밍 언어로 작성된 프로그램을 기계어로 변환해주는 것

오브젝트 파일 (object file) : 컴파일러(compiler)가 소스파일을 기계어로 변환한 파일

Java ‘자바’ 의 탄생

Java는 19991년 미국의 ‘썬 마이크로시스템즈’ 라는 회사에서 제임스고슬링을 비롯한 Green 연구팀에서 1995년에 개발한 객체지향 프로그래밍 언어이다. 처음에 이들은 가정용 전자제품 내에 탑재하는 프로그램을 만들기 위해 어떤 특정한 CPU에 의존하지 않는 가상 기계의 virtual machine 개념을 가져오게 되었다. 그러던 중 1993년 그래픽 기반의 월드 와이드 웹(World Wide Web)이 발표되어 자바팀은 자바와 월드와이드웹과의 연동을 추진하였다. 현재는 웹 어플리케이션 개발에 가장 많이 사용하는 언어가 되었다. 2010년에 ‘오라클(Oracle)’이 ‘썬마이크로시스템즈’를 인수하면서 Java의 저작권을 소유하게 되었다.

2020/12 기준, Tiobe 티오베 프로그래밍 언어 순위에서 Java는 2위를 차지하고 있을 만큼 많은 개발자들이 사용하는 언어이다.

자바 플랫폼 Java platform

플랫폼 platform

프로그램이 실행되는 하드웨어나 소프트웨어 환경이다. 자바 플랫폼은 다음과 같이 두가지 요소로 이뤄져있다.

1) 자바 가상기계 (JVM : Java Virtual Machine)

2) 자바 응용 프로그래밍 인터페이스 (API : Application Programming Interface)

API란 많은 유용한 기능을 제공하는 라이브러리들의 모임을 말한다.

자바 프로그래밍 언어의 핵심 기능 제공

즉시 사용가능한 라이브러리 제공

네트워킹, 보안, XML 생성, 데이터베이스 접근에 필요한 기능 포함

JVM과 API는 프로그램과 하드웨어를 분리하는 역할을 통해 하드웨어의 종류에 상관없이 어디서나 실행될 수 있다는 큰 장점이 있다. 그러나 기계어로만 구성된 네이티브 코드(Native code)보다 속도는 느리다.

Java 의 특징

1) Java는 플랫폼 독립적이다.

어떤 하드웨어 (CPU), 운영체제(OS)를 사용하든 상관 없이 컴파일(Compile)된 바이트 코드*를 실행시킬 수 있다. 이러한 특징은 웹 애플리케이션의 특성과 부합해 많은 개발자들이 웹개발에 사용하는 이유이기도 하다. Windows, Mac OS, Liux, Android 에서 실행 가능하다.

보통 프로그래밍 언어의 경우 소스 코드가 컴파일러에 의하여 기계어로 변환되면 컴퓨터에서 바로 실행가능하다.

그러나, Java 컴파일러는 특정한 컴퓨터를 위한 코드를 바로 생성하지 않고 대신에 가상적인 기계(JVM)를 위한 코드(바이트코드 Byte code)를 생성한다. 그 이후 “Java Virtual Machine” 자바 가상 머신이 컴파일된 코드를 실행한다. 이렇게 두 단계로 나눠서 컴파일하고 실행하는 이유는 응용프로그램들을 다시 컴파일하지 않아도 모든 컴퓨터에서 실행되도록 하기 위해서이다.

바이트 코드 Byte code : 가상기계의 기계어

JVM이 이해할 수 있는 코드로서 컴퓨터가 이해할 수 있는 0과 1로 이뤄져있다. 일종의 중간 코드로서 특정 컴퓨터의 기계어와 일치하지는 않지만, 어떠한 기계어로도 쉽게 변환이 가능하다.

Java Virtual Machine 자바 가상 기계에 대한 설명은 아래쪽에 있다.

2) 객체 지향 프로그래밍 (OOP) 언어 이다.

객체 지향은 객체별로 코드를 작성하고 객체들을 조합하여 전체 프로그램을 완성하는 프로그램 설계 방법론이다.

객체 지향 개념을 사용하는 이유는 ‘재사용’이다. 재사용을 함으로서 보다 빠르고 신뢰성있는 프로그램을 만들 수 있다.

자바에서는 기본 데이터 타입(int, float, long) 등을 제외한 거의 모든 것이 객체로 표현된다.

이케아에서 가구를 샀는데 완성품이 오지 않고 딸려온 부품들을 조립해서 완성해야하는 경우가 있다.

이와 같이 프로그래밍에서는 각종 객체들을 조합해서 내가 원하는 기능을 수행할 수 있도록 만드는 것을

‘Object-Oriented Programming’ (OOP) 객체 지향 프로그래밍 이라고 한다.

이와같이 조립식으로 만든 프로그램에서 버그(문제)가 생기면 프로그램 전체를 수정하는 것이 아닌,

문제가 되는 부분만 수정 · 교체할 수 있어 프로그램의 유지 보수성 및 확장성을 증가시킨다.

3) 분산 환경 지원

자바는 네트워크상에서 동작되는 것을 기본으로 설계된 언어로 TCP/IP, HTTP, FTP 같은 프로토콜을 처리할 수 있는 라이브러리를 가지고 있다. 이를 통해 다른 언어보다 쉽게 네트워크 관련 프로그램을 개발할 수 있다.

4) 멀티스레딩 지원 (multithreading)

자바는 언어수준에서 멀티스레딩을 지원하기 때문에 효율적인 프로그램을 작성할 수 있다. 멀티스레딩이란 많은 작업을 동시에 할 수 있음을 의미하며 이는 CPU를 유휴 시간없이 효율적으로 사용할 수 있게끔 한다. 예로 브라우저에서 이미지를 다운로드 받으며 페이지를 스크롤하는 동시에 몇 가지 애니메이션을 실행시킬 수 있다는 것을 들 수있다.

Java 로 만들 수 있는 것

1) 자바 애플리케이션 (Java application)

: 독립적으로 실행될 수 있는 일반 응용 프로그램. ex) 이클립스

2) 자바 애플릿 (Java applet)

: 웹 브라우저 안에서 실행되는 프로그램. HTML 문서 안에서 애플릿을 지정하면 웹 서버로부터 다운로드 되어 클라이언트 컴퓨터에서 실행된다.

3) 자바 서블릿 (Java servlet)

: 웹서버에서 동작하는 서버 모듈로서 클라이언트의 요구를 받아서 그에 대한 처리를 한 후에 실행 결과를 HTML문서 형태로 클라이언트 컴퓨터로 전송한다.

4) JSP (Java Server Page)

: 자바를 기반으로 동적인 웹페이지를 구축할 수 있는 서버-사이드 스크립트 언어이다. 자바 서블릿을 기반으로 한다.

5) 자바 빈즈 (Java Beans)

: 자바로 작성된 컴포넌트를 자바 빈즈라고 한다. 객체지향 프로그래밍에서 컴포넌트는 애플리케이션을 형성하기 위한 프로그램 빌딩 블록이다. 컴포넌트를 조립하면 애플리케이션을 빠르게 만들 수 있다.

6) 안드로이드 애플리케이션

: 안드로이드는 운영체제로 리눅스(linux)를 사용하지만, 운영 체제를 제외한 안드로이드 SDK의 나머지 부분은 모드 자바로 작성되어 있다. 안드로이드에서는 자바를 지원하기 위해 자체적인 가상머신을 구현하였다. 자바의 표준 JVM을 사용하지 않는 이유는 스마트폰이 데스크탑에 비해 처리 속도와 메모리 측면에서 한참 뒤쳐지기 때문이다. 모바일 장치에서는 모든것을 최적화시키는 것이 중요한데 안드로이드에서는 가상 머신에서 JIT컴파일러를 없애버리고 가비지 콜렉터를 다시 작성했으며 클래스 파일에서 중복된 정보를 제거한 새로운 실행 파일 형식인 달빅 실행파일(.dex)를 사용한다. 이러한 자체적인 자바 가상 머신을 달빅(Dalvik) 가상 머신이라고 부른다.

Java 의 동작 원리

[원인] source / code / language —> [결과] application / program

상기 표를 간단히 설명하자면,

Java Source code (확장자가 .java)

: 자바 문법에 맞게 작성된 소스 코드 (사람이 이해할 수 있는 코드)

Compile 컴파일 → javac

: 확장자가 .java 인 파일을 JVM이 이해할 수 있도록 Java Compiler를 통해 전환하는 작업

* 이클립스 사용시, Java Source code를 저장하면 자동으로 .class 라는 확장자를 가진 파일이 만들어진다.

Java Application (확장자가 .class)

: 기계가 이해할 수 있는 언어로 전환된 파일

Run

: 실행

Java Virtual Machine (JVM)

: 확장자가 class인 파일을 읽어서 적혀있는 대로 컴퓨터가 동작하도록 한다.

JVM 이란?

Java Virtual Machine (JVM) ‘자바 가상 머신’은 실제 존재하는 컴퓨터가 아닌, 가상 컴퓨터를 시뮬레이션하는 소프트웨어이다. JVM은 다른 프로그램을 실행시키는 것이 목적인 프로그램이며 하드웨어, 운영체제에 관계 없이 JVM 만 설치되어 있으면 동일한 자바 프로그램을 동작시킬 수 있다.

자바의 슬로건

” Write Once Run Anywhere ” 한번만 작성하고 모든 곳에서 실행시키세요.

JVM 의 역할

1) 어떤 운영체제에서도 실행될 수 있게끔 한다. -> Write Once Run Anywhere

2) 프로그램 메모리를 관리하고 최적화한다. -> Garbage Collection

JVM은 Java Application 을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행한다.

JVM 구성 요소

1) 클래스 로더 ( Class Loader )

Java 클래스를 JVM으로 동적 로드하는 JRE(자바 런타임 환경)의 일부이다.

2) 런타임 데이터 영역 ( Runtime Data Area )

JVM 의 메모리영역으로, 자바 애플리케이션을 실행할 때 사용되는 데이터들을 적재하는 영역.

3) 실행 엔진 ( Execution Engine )

클래스를 실행시키는 엔진이다. 클래스 로더가 JVM 내 런타임 데이터 영역에 바이트 코드를 배치시키고 이것이 실행엔진에 의해 실행된다.

JDK / JRE 차이

JDK는 자바 개발 도구(Java Development Kit) 의 약자이다.

JDK는 JRE에 추가로 자바 프로그램을 개발하는 데 필요한 컴파일러, 디버거와 같은 명령어행 개발 도구를 추가한 것이다. JDK안에 JRE가 포함되어 있다.

JRE는 자바 실행 환경(Java Runtime Environment) 의 약자이다.

JRE는 자바 프로그램을 실행하기 위한 라이브러리, 자바 가상기계, 기타 컴포넌트들을 제공한다. 자바 프로그램을 단순히 실행만 하고 개발은 하지 않는 일반인들을 위한 환경이다.

Java API 문서

자바는 방대한 라이브러리를 가지는데 이 덕분에 강력하고 복잡한 기능의 프로그램을 손쉽게 작성할 수 있다. 아래 페이지를 이용하면 API에 포함된 어떤 클래스에 대한 정보도 찾을 수 있다.

docs.oracle.com/javase/8/docs/api/index.html

References

github.com/binghe819/TIL/blob/master/JAVA/live-study/1%EC%A3%BC%EC%B0%A8%20-%20JVM.md

www.itworld.co.kr/news/110837

yadon079.github.io/2020/java%20study%20halle/week-01

asfirstalways.tistory.com/158

namu.wiki/w/CPU

brunch.co.kr/@wangho/6

1. java 기본 및 설치

(1) 객체지향 언어

기존의 절차 지향 프로그래밍 언어는 구현할 프로그램이 방대해질수록 어려움이 따르므로 복잡하고 다양한 기능이 포함된 프로그램을 효과적으로 구현하기 위하여 보다 체계적이고 신속한 개발 방법이 필요하게 되어 객체지향적 프로그래밍 언어가 탄생하게 되었습니다.

객체지향 프로그래밍은 팀 별로 클래스를 개발하여 전체 프로그램에 활용이 용이한 장점이 있습니다.

이러한 기능을 지원하기 위하여 C 언어를 발전시켜 만든 것이 C++ 언어이지만 복잡하고 호환성이 문제가 되어 객체지향 언어로 사용하기에는 쉽지 않았습니다.

또한 인터넷의 발달로 어느 환경에서든 호환이 되며, C++ 언어보다는 간소화된 새로운 언어가 필요하게 되었고 자바 언어가 등장하게 되었습니다.

자바 언어는 C++에서 유래하여 C++의 부족한 점을 많이 개선하였습니다.

C++ JAVA 연산자 오버로딩, 다중상속 기능 연산자 오버로딩, 다중상속 기능 삭제 메모리 관리가 수동으로 이루어짐 메모리 관리가 자동으로 이루어짐 클래스 라이브러리가 불충분함 클래스 라이브러리가 충분함 분산 환경에 부적합 분산환경에 적합함 컴파일 과정 필요 인터프리터 형식으로 컴파일 불필요 호환성이 부족함 호환성이 뛰어남 보안이 뛰어나지 못함 보안성이 뛰어남

컴파일의 과정은 운영체제와 CPU에 의존하는 기계 코드를 생성하고 실행하므로 운영체제나 CPU가 다른 컴퓨터에서 실행하기 위해서는 다시 컴파일하거나 프로그램을 코딩해야 하는 문제가 있습니다.

그러나 자바 언어의 경우에는 가상 머신에 의하여 실행되기 때문에 한 번 개발된 자바 프로그램은 운영체제나 CPU에 관계없이 모든 기종의 기기에서 실행이 가능합니다.

① 자바 배포판의 종류

오라클 사는 용도에 따라서 패키지에 포함되는 내용이 다른 자바 배포판을 제공하고 있습니다.

자바 배포판은 JRE(Java Run-time Environment), JDK(Java Development Kit) 등을 제공합니다.

JRE는 자바 응용 프로그램의 실행환경으로 자바 가상 머신을 포함하고 있으며, 자바를 개발하고자 하는 경우가 아닌 일반 실행 환경만 필요한 경우 따로 다운로드할 수 있습니다.

일반적으로 개발용이 아닌 대부분의 컴퓨터에는 자바 JRE가 설치되어 있습니다.

JDK는 자바 응용 프로그램을 개발하기 위한 컴파일러 및 도구 등을 모두 포함하고 있으며, 자바 개발에 설치가 필수적입니다.

(1) JAVA SE(Standard Edition)

자바 표준 배포판으로 데스크톱 응용 프로그램과 서버 응용 프로그램의 개발을 위한 플랫폼입니다.

(2) JAVA ME (Mobile Edition)

자바의 모바일용 배포판으로 주로 휴대 전화기나 PDA, 셋톱 박스와 같은 제한된 리소스를 갖는 하드웨어에서 응용 프로그램 개발을 위한 플랫폼입니다. JAVA SE의 축소판입니다.

(3) JAVA EE (Enterprise Edition)

기업용 배포판으로 자바를 이용하는 다중 사용자, 기업용 대규모 응용 프로그램 개발을 위한 플랫폼입니다.

JAVA SE 기반으로 인터넷 기반의 서브 사이드 컴퓨팅 관련 API가 추가되어 있습니다.

② 자바 API 온라인 문서

– 자바에서 서로 관련된 클래스들을 분류하여 묶어놓은 것을 패키지라고 합니다.

– 자바 API란 오라클 사에서 제공하는 것으로 주요한 기능들을 미리 구현한 클래스 라이브러리로 묶어놓은 패키지들입니다.

(2) JDK 설치

오라클 홈페이지에서 JAVA SE를 설치합니다.

https://www.oracle.com/java/technologies/javase-downloads.html

JDK Download를 클릭합니다.

사용자 컴퓨터의 운영체제에 맞는 버전을 클릭하여 다운로드합니다.

다운로드를 완료하면 설치 파일을 더블클릭하여 JDK 설치를 진행합니다.

보통 [Next]를 계속 누르고 설치를 기다리면 설치가 완료됩니다.

자바 개발을 위하여 설치한 JDK를 컴퓨터의 일반 환경에서 사용하기 위해서는 JDK가 설치된 디렉터리 이름을 환경변수에 등록해주어야 합니다.

[제어판] -> [시스템 및 보안] -> [시스템] -> [고급 시스템 설정] -> [고급] 탭 -> [환경변수] [환경 변수]를 클릭하면 사용자 변수와 시스템 변수를 생성하거나 편집, 삭제할 수 있는 기능의 화면이 나옵니다.

[시스템 변수] -> [새로 만들기] [새로 만들기]를 누르면 아래와 같은 창이 나오며 다음과 같이 입력해준 후 [확인]을 누르면 됩니다.

변수 이름: JAVA_HOME

변수 값: C:\Program Files\java\jdk-14.0.1 (위에서 설치한 JDK의 경로를 적어주면 됩니다.)

[확인]을 누르면 “JAVA_HOME”이라는 새로운 시스템 변수가 등록되어 있음을 확인할 수 있습니다.

[시스템 변수] -> [Path] -> [편집] 시스템 변수에 Path라는 변수를 클릭하고 편집을 누릅니다.

[새로 만들기] -> %JAVA_HOME%\bin 입력하기 -> [확인]

마지막으로 “CLASSPATH”라는 이름의 시스템 변수를 새로 생성합니다.

[시스템 변수] -> [새로 만들기]

변수 이름: CLASSPATH

변수 값: %JAVA_HOME%\lib

위의 과정에서는 한 글자가 틀리더라도 실행이 안되므로 틀리지 않도록 유의해야 합니다.

JDK를 설치하고 환경 변수를 설정한 후 모든 작업이 정상적으로 완료되었는지는 다음과 같이 확인할 수 있습니다.

cmd창을 열어서 java -version 을 입력합니다.

(3) 이클립스 설치

JDK를 설치하면 이를 이용하여 자바 프로그램을 코딩하고 컴파일 및 실행할 수 있는 개발 환경이 구축되었지만, JDK 만을 설치한 상태에서는 자바 프로그램을 개발하기 위한 작업을 모두 개별적인 명령어 방식으로 실행해야 됩니다.

이러한 자바 응용프로그램의 개발 과정을 좀 더 편리하게 수행할 수 있도록 통합 개발환경(IDE)을 제공하기 위한 툴로 이클립스(Eclipse)를 사용합니다.

https://www.eclipse.org/downloads/packages/

이클립스 사이트에 접속을 합니다.

버전에 맞는 Eclipse IDE for Java Developers를 클릭하여 다운로드합니다.

다운로드가 완료되면 [eclipse-java-2020-06-R-win32-x86_64.zip] 이라는 파일을 확인할 수 있습니다.

이 압축파일을 압축 풀면 됩니다.

압축을 푼 파일 안에 아래 그림의 eclipse가 실행파일입니다.

실행파일을 클릭하여 eclipse를 실행시킵니다.

작업공간(Workspace)은 원하는 위치에 저장을 합니다.

그 후 [Launch]를 누릅니다.

처음 설치하면 다음과 같은 화면이 나오는데 상단의 [x] 버튼을 클릭하면 이클립스가 실행됩니다.

이클립스를 실행할 때 설정했던 Workspace는 [File] -> [Switch Workspace] -> [Other]를 실행하여 설정할 수 있습니다.

이클립스를 이용하여 자바 프로그램을 생성하기 위해서는 자바 프로젝트를 생성해야 합니다.

하나의 자바 프로젝트에는 여러 개의 자바 프로그램을 생성할 수 있습니다.

[File] -> [New] -> [Java project]

project name 부분에 프로젝트의 이름을 입력 후 [Finish]

자바 프로젝트가 생성되는 과정에서 다음 화면과 같이 [Create moduel-info.java]화면이 나타납니다.

자바 언어를 공부하기 위해서는 반드시 [Don’t Create]를 클릭합니다.

프로젝트가 생성되었으면 자바 프로그램을 만들어 보겠습니다.

자바에서 프로그램의 최소 단위를 클래스(Class)라고 하며, 클래스는 하나의 프로그램, 혹은 기능이라고 생각하면 됩니다.

[File] -> [New] -> [Class] 실행하면 다음과 같은 화면이 나옵니다.

“Package”는 큰 프로그램을 만드는 경우에 여러 개의 클래스를 하나의 패키지로 만드는 경우에 사용되며 처음엔 각각의 클래스를 실행시켜야 하므로 칸을 비웁니다.

“Name”에 클래스 이름을 설정하고 [Finish] 버튼을 누릅니다.

다음과 같이 생성한 클래스에 코딩할 수 있는 화면이 나옵니다.

[JavaFX]UI기반 응용프로그램 실행파일(exe) 만들기

반응형

이번에 JavaFX 와 Scene Builder를 가지고 윈도우 프로그램을 개발하면서 실행파일을 만들어본 내용을 기록하기 위해 작성하는 포스트입니다.

그냥 exe 파일을 만들어서 다른 사람에게 전달하니,

java 가 설치되있지 않는 환경에서 실행되지 않더군요….

그럼 jre 없는 환경에서도 java로 구현한 exe 파일 실행할 수있는 방법에 대해서 알아보겠습니다.

Launch4J 설치

먼저 Launch4J 를 아래 주소에서 다운받아줍니다.

http://launch4j.sourceforge.net/

1. Download 메뉴 선택

2. launch4j-3.xx-win32.exe (64bit인 컴퓨터도 이 파일을 다운 받습니다. 저도 64bit 입니다.)

Eclipse 프로젝트 Export

1. 프로젝트 우클릭 > Export

2. Java > Runnable JAR file 선택

3. Launch Configration : 해당 프로젝트 main 선택

Export destination : jar 저장 위치 선택

Libray handling : Extract required libraries into generated JAR 선택

▶ 그리고 Finish 클릭!

4. jre 복사

▶ test.jar 라는 이름으로 export 했다고 가정하고

같은 위치에 C:\Program Files (x86)\Java 에 있는 jre 폴더를 복붙한다.

(폴더 명은 그냥 jre 로 변경해 주었다.)

Launch4J 실행

1. Basic 탭

– Output file : 실행 파일 생성 위치 + 파일 명.exe

– Jar : Export 했던 jar 파일 선택

2. Header 탭

▶ 실행 프로그램이 GUI 화면이 있는 프로그램인지, Console로 작동하는 프로그램인지 선택

3. JRE 포함 및 버전 입력

– Bundled JRE path : 아까 복붙한 jre 폴더 명을 입력하면 됨

– min JRE version : jre 최소 버전을 입력

4. 톱니바퀴 아이콘 클릭

▶ exe 파일을 생성할 위치 (맨 처음에 지정했던 위치) 찾아서, text.exe 를 입력

▶ 해당 폴더에 가보면 exe 파일이 생성되어있고

▶ Log 부분에 성공적으로 생겼는지 뜬다.

5. 재생 아이콘 클릭!

하면 이제 실행 파일이 잘 실행 되는지 나올것이다.

6. 실행 파일 배포

jre, test.jar, test.exe 를 같이 압축하여 zip 파일을 배포하면

자바 설치 없이 실행이 가능하다!

[참고 사이트]

1) http://blog.naver.com/PostView.nhn?blogId=cigus&logNo=120128400630&redirect=Dlog&widgetTypeCall=true

2) http://www.gmsgondr.net/lecture/1/43

피드백은 언제나 환영입니다.

도움이 되셨다면 공감 부탁드립니다. 🙂

반응형

키워드에 대한 정보 자바 응용 프로그램

다음은 Bing에서 자바 응용 프로그램 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1)

  • 자바프로그램
  • 자바개발
  • 자바강좌
  • 자바프로그래밍
  • JavaGUI
  • Java개발
  • JavaSwing
  • Swing개발
  • Swing프로그램
  • Swing강좌
  • 자바강의
  • Swing강의

자바 #응용 #프로그램 #개발 #실전 #테크닉 #1강 #- #구글 #맵 #연동(Swing #Google #Maps) #(Java #Swing #Application #Advanced #Technique ##1)


YouTube에서 자바 응용 프로그램 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 자바 응용 프로그램 개발 실전 테크닉 1강 – 구글 맵 연동(Swing Google Maps) (Java Swing Application Advanced Technique #1) | 자바 응용 프로그램, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  무게 다시 보기 | 신선한 소재와 깔끔한 전개, 아름다운 결말로 시청율 신기록 세우며 전 세계인의 마음을 울린🔥이상한 변호사 우영우🔥시즌1, 《1~16화》 한방에 몰아보기 15395 명이 이 답변을 좋아했습니다

Leave a Reply

Your email address will not be published. Required fields are marked *