Java개발 분야에 따른 종류
1) JavaSE (Java Standard Edition)
2) Java EE(Java Enterprise Edition)
- JavaSE 플랫폼 위에서 구축하며 기업용 애플리케이션 제작에 필요한 도구, 라이브러리제공
3) Java ME Embedded
- 핸드폰등 모바일 기기나 다른 임베디드 장치에 사용
JVM과 JDK
JVM < JDK
- JDK(자바 실행 환경 도구)
- JVM : 운영체제 상관없이 Java를 사용할 수 있도록 도와주는 가상 머신
- LTS(Long Term Support) : 지속적으로 지원하는 서비스
- But, JDK 자체는 운영체제에 독립적이지 않음
Java Version
1) Java 5.0
2) Java 8.0
- 함수형 프로그래밍 : lambda
❗ 람다식 사용시 주의점
인수와 메서드명 예측 가능해야함
- Stream 활용 : 다양한 컬렉션 사용하여 가공 가능(정렬, 추출 등)
3) Java 9.0
- Java 9의 가장 큰변화중 하나는 모듈시스템(Java Platform Module System)!
- Command 기반 - REPL(jshell)
- 기존 패키지를 작은 규모로 분리, 모듈화 시켜서 작용
bin 폴더 역할 : 실행 파일
- path 설정 (jdk 설치)
window - C:Program Files|Java|jdk-11.0.13|bin 등록한다.
이유 : bin안에 있는 실행파일을 위치에 상관없이
언제든지 어디서든 사용할 수 있도록!!!
- Java의 변천사
웹브라우저 HTML, CSS, JavaScript
Servlet과 JSP
Servlet
웹페이지를 동적으로 생성하기 위한 서버측 프로그램
자바 언어를 기반으로 만들어지며 WAS에서 컴파일 되고 동작
- 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨
자바 웹 프로그래밍 기술
장점 : 복잡한 로직구현에 용이
단점 : Java 코드 중심 화면 작성 작업과 수정이 어려움
디자이너와 개발자 사이의 소통이 어려움
형식 : Java코드(HTML 코드)
사용방법 :
out.print(“<html>”>`
JSP (Java Server Pages)
Servlet 기술의 확장형
Servlet을 보완한 스크립트 방식 표준, Servlet의 모든 기능 + 추가 기능
- 정적인 HTML 코드에 Java 코드를 입력하여
동적으로 웹페이지를 구성할 수 있게 해주는 웹 어플리케이션 도구
- JSP는 하나의 Java 클래스 이기 때문에 Java의 모든 라이브러리를 사용할 수 있음
자바 코드가 필요할 때 <% java코드 작성 %>
사용해서 작성한다.
- asp, php와 거의 유사한 언어를 제공!!
👉 JSP가 실행 되는 것이 아닌 WAS를 통해 Servlet으로 실행
장점 : HTML 코드 중심 👉 화면작성 작업과 수정에 용이
단점 : 소스코드가 공개되어 중요정보를 다루기에 부적합
형식 : HTML코드(Java코드)
사용방법 :
<%
request.setCharcaterEncoding(“euc-kr”);
String num = request.getParameter(“num”);
int num = Integer.parseInt(num);
%>
백엔드의 구조화
- SOLID 원칙, GoF 23가지 원칙을 통해 뼈대 구축 👉 Framework
- 유지보수와 확장 용이
<MVC 패턴>
- Model : Java
- View : HTML, CSS, JS, JSP
- Controller : Servlet - Model과 View의 Back과 Front 연결
프로그램의 lifecycle을 framework가 주체
library 와 framework의 차이점
- library : 실행의 주체가 개발자, 원할때 개발자가 호출
- framework : 실행 흐름이 정해져있음(lifecycle)