LANGUAGE/JAVA 8

[Java] JSP 지시어

1. 지시어 사용방법 페이지 지시어로, 문서 전체에 적용되어야 할 내용을 입력 예를 들면 인코딩 셋 등 위와 같이 표시하며, JSP 내에서 JSP를 실행할 Container에게 해당 페이지를 어떻게 처리해야 되는지 설정하는데 사용됨. JSP 지시어는 page, include, tagilb 이렇게 3가지로 분류함 1.1. page 지시어 JSP 페이지에 대한 속성을 지시하는 지시어로 위와 같은 형식을 가짐. 총 12가지의 속성을 지정할 수 있고, 하나의 지시어에 모두 넣어도 상관없고 분리하여 각각 하나씩 지정해도 상관없음 하지만, import 속성을 제외하고는 나머지는 한번 씩만 지정할 수 있음 속성 사용법 기본값 설명 import import="패키지/클래스명" import할 패키지/클래스 설정 lang..

LANGUAGE/JAVA 2021.01.28

[Java] JSP 표현식, 선언문, 주석, 스크립틀릿

1. 표현식 1.1. 사용방법 변수를 출력할 때 주로 사용하며, 프린트로 출력 선언문 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 리턴 값을 스크립틀릿 태그 외부에서 출력하기 위해 사용 1.2. 예시 은 입니다. 에 3을 곱하면 이 됩니다. 을 1000으로 나누면 가 됩니다. 2. 선언문 2.1. 사용방법 자바 코드에서 말하는 멤버 변수와 메소드를 선언하기 위해 사용되며, 멤버 변수로 선언 되기 때문에 JSP 페이지 어느 곳에서나 변수의 참조가 가능 스크립틀릿과의 차이점은 스클립틀릿에서 변수를 선언하면 지역변수로 선언된다는 점이며, 지역변수로 선언되면 선언 이전에 참조할 수 없음 그리고, 중복 선언이 가능하며, 선언문을 분리해서 사용해도 됨 2.2. 예시 3. 주석 3.1. 사용방법 HTML은 클라이..

LANGUAGE/JAVA 2021.01.28

[Java] JSP 개념, 동작원리

1. JSP (Java Server Pages) HTML 내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어 - Java EE 스펙 중 일부로 웹 어플리케이션 서버에서 동작 - JSP는 실행 시에는 Java Servlet으로 변환된 후 실행되므로 Servlet과 유사하다고 볼 수 있지만, HTML 표준에 따라 작성되므로 웹 디자인하기 편함 - HTML 내에 Java 코드를 삽입하여, 웹 서버에서 동적으로 웹브라우저를 관리하는 언어 - 이름이 비슷한 JavaScript는 웹에서 바로 동적인 구현이 가능한 언어 1.1. JSP 동작원리 클라이언트에서 서비스가 요청되면, JSP의 실행을 요구하고, JSP는 웹 어플리케이션 서버의 ServletContainer에서 ..

LANGUAGE/JAVA 2021.01.27

[Java] Ant를 이용한 어플리케이션 빌드 자동화

이번 포스팅에서는 Ant를 이용한 어플리케이션 빌드 자동화에 대해 알아보기 1. Ant란, 자바 기반의 빌드툴로 리눅스의 make와 비슷한 기능을 제공하고 있음 하지만 Ant는 다음과 같은 면에서 make와 같은 쉘기반의 빌드툴과는 다름 ① Ant는 자바기반이기 때문에 플랫폼에 독립적으로 실행 ② 복잡할 쉘 명령어 대신에 XML 기반의 설정 파일을 사용하기 때문에 작업을 설정하는 것이 복잡하지 않음 ③ 미리 정의된 태스크(Task)를 사용하여 매우 쉽고 빠르게 배치 작업을 설정할 수 있음 ④ 새로운 태스크의 추가를 통해서 처리 가능한 배치 작업의 확장이 가능 플랫폼에 독립적이기 때문에 어느 운영체제건 같은 프로젝트를 진행할 수 있게 되며, 쉘 스크립트와 비교할 수 없을 정도로 간단한 XML 기반의 빌드 ..

LANGUAGE/JAVA 2021.01.27

[Java] java security 관련 오류 정리

1. java security 오류 종류 1.1. java.security.InvalidKeyException: Invalid key length → 설정해놓은 암호화 비밀키의 길이와 맞지 않음 1.2. javax.crypto.BadPaddingException: Given final block not properly padded → 암호화된 구문을 복호화할 때 발생할 수 있는 오류로, 암호화 때 사용한 비밀키와 복호화 할 때의 비밀키가 일치하지 않았을 때 발생 1.3. java.security.InvalidKeyException: Illegal key size → java 기본 패키지의 key size 오류 2. 해결방안 아래 링크로 들어가서 Java Cryptography Extension(JCE) ..

LANGUAGE/JAVA 2021.01.27

[Java] JNDI (Java Naming and Directory Interface)

이번 포스팅에서는 JNDI에 대해서 기술 # JNDI의 정의 디렉토리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고(lookup)하기 위한 자바 API. ​ 쉽게 말하면 외부에 있는 객체를 가져오기 위한 기술. Tomcat와 같은 WAS를 보면 특정 폴더에 필요한 데이터 소스(라이브러리)가 있는데 그것을 우리가 사용하기 위해 JNDI를 이용해서 가져오는 것 ​ Java 프로그래밍 언어로 작성된 응용 프로그램에 이름 지정 및 디렉토리 기능을 제공하는 Java 기술에 지정된 API ​ 특히, Java의 객체 모델을 사용하는 Java 플랫폼용으로 설계. Java 기술을 기반으로 한 응용 프로그램은 JNDI를 사용하여 모든 유형의 명명 된 Java 객체를 저장하고 검색 할 수 있음. 또한 JNDI는 속성을..

LANGUAGE/JAVA 2021.01.19

[Java] Java Servlet 서블릿

1. Java Servlet ​ : 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 (웹 서버의 성능을 향상시키기 위해 사용되는 자바 클래스의 일종) ​ ​ 1.1. Servlet과 JSP의 차이 - JSP : HTML 문서 안에 자바 코드를 포함 ​ - Servlet : 자바 코드 안에 HTML을 포함 ​ 1.2. Java Servlet과 CGI의 차이 - CGI : 요청이 있을 때마다 새로운 프로세스가 생성되어 응답 ​ - Java Servlet : 외부 요청마다 프로세스보다 가벼운 스레드로써 응답, 가벼움, 자바로 구현 ​ ​ 1.3. Servlet과 ServletContainer ​ - Servlet 웹 서비스를 위한 인터페이스로, 원칙적으로는 javax, servlet, serv..

LANGUAGE/JAVA 2021.01.19

[JAVA] 진수 변환

진수변환은 Integer 클래스의 메소드를 이용하면 쉽게 변환이 가능. 1. 10진수를 2, 8, 16진수로 변환하는 방법 # toBinaryString(값), toOctalString(값), toHexString(값) - 사용 예제 int value = 128; //10진수 값 String value1 = Integer.toBinaryString(value); String value2 = Integer.toOctalString(value); String value3 = Integer.toHexString(value); 2. N진수를 10진수로 변환하는 방법 # Integer.parseInt(N진수 값, N진수) - 사용 예제 int value4 = Integer.parseInt(value1, 2); i..

LANGUAGE/JAVA 2020.01.10