분류 전체보기
-
[Camel][JSP] 페이지 모듈화 ( <jsp:include> )JSP 2020. 3. 11. 20:24
페이지 모듈화 웹 사이트를 구축할 때 페이지는 동일한 상단, 좌측 메뉴와 하단 푸터를 갖는 경우가 많습니다. 이때 액션 태그와 include 디렉티브를 이용해서 공통 화면을 모듈화 함으로써 코드의 중복을 방지 할 수 있습니다. 1. 액션태그 액션태그는 지정한 페이지를 태그가 위치한 부분에 포함시킬 때 사용됩니다. 액션태그의 사용방법은 아래와 같습니다. flush 속성은 지정한 jsp 페이지를 실행하기 전에 출력 버퍼를 Flush 할지 말지를 결정합니다. 위의 코드는 지정한 jsp페이지를 실행하면 출력 버퍼에 저장된 내용을 Flush 한 뒤 example.jsp 페이지로 흐름이 이동한다는 것입니다. 출력 버퍼를 Flush 한다는 것은 출력 버퍼에 저장되어 있는 내용을 웹 브라우저에 전달한다는 것입니다. 이..
-
[Camel][JSP] JSP의 기본객체JSP 2020. 3. 9. 22:54
JSP의 기본객체 JSP페이지에서는 9가지의 기본객체를 사용할 수 있습니다. 사용할 수 있는 객체는 아래의 표와 같습니다. 기본 객체 Type (실제 타입) Description (설명) request jaxax.servlet.http.HttpServletRequest 클라이언트의 request 정보를 저장한다. response jaxax.servlet.http.HttpServletResponse response 정보를 저장한다. pageContext jaxax.servlet.jsp.PageContext JSP 페이지에 대한 정보를 저장한다. session jaxax.servlet.http.HttpSession HTTP 세션 정보를 저장한다. application jaxax.servlet.ServletC..
-
[Camel][Java] RandomAccessFile & File 클래스Java/개념 정리 2020. 3. 5. 17:52
이전 포스팅에서 다뤘던 입출력 스트림은 순차적인 입출력에 한하여 사용가능한 스트림이었습니다. 2020/03/03 - [Java] - [Camel][Java] InputStream & OutputStream (파일 입출력) 2020/03/04 - [Java] - [Camel][Java] 문자 스트림(Stream) / FileReader, FileWriter, BufferedReader, BufferedWriter 2020/03/05 - [Java] - [Camel][Java] ObjectInputStream & ObjectOutputStream RandomAccessFile 클래스 RandomAccessFile 클래스는 순차적이지 않은 형태의 접근이 필요한 경우 사용하게됩니다. 파일의 중간이나 끝에 저장된..
-
[Camel][Java] ObjectInputStream & ObjectOutputStreamJava/개념 정리 2020. 3. 5. 14:44
ObjectInputStream & ObjectOutputStream ObjectInputStream과 ObjectOutputStream은 인스턴스의 입출력에 사용되는 클래스입니다. 이 클래스들은 사실상 Byte 스트림에 속하지만 오브젝트 스트림으로 구분하여 설명하는 경우가 많습니다. 사용방법은 필터스트림과 매우 흡사하지만 필터스트림으로 구분하지는 않습니다. 그 이유는 필터 스트림이 상속하는 클래스를 상속하지 않기 때문입니다. 인스턴스의 저장과 복원에는 ObjectOutputStream과 ObjectInputStream에 정의되어 있는 아래의 메소드가 사용됩니다. // writeObject 메소드는 ObjectOutputStream 에 정의 되어있다. public final void writeObject..
-
[Camel][Java] 문자 스트림(Stream) / FileReader, FileWriter, BufferedReader, BufferedWriterJava/개념 정리 2020. 3. 4. 21:40
문자 스트림 이전 포스팅에서 다뤘던 입출력 스트림은 Byte 단위로 입출력이 이루어지는 Byte 스트림이었습니다. 하지만 Byte 단위로만 입출력이 가능한 것이 아닙니다. 문자 단위로 입출력이 이루어지는 문자 스트림이 존재하기 때문입니다. Java는 유니코드 기반으로 문자를 인코딩합니다. 하지만 우리가 흔히 일상에서 사용하는 Windows나 Linux의 경우에는 Java와 다른 표준으로 문자를 인코딩합니다. 그렇다면 Windows 운영체제에서 실행되는 Java 프로그램에서 파일에 문자 데이터를 저장하고, 이것을 Windows 응용프로그램으로 읽어내려면 어떤 기준으로 인코딩해 저장해야할까? 정답은 'Windows 기준으로 인코딩해야한다'입니다. 더 나아가, Windows가 아닌 다른 운영체제에서는 또 다른..
-
[Camel][Java] InputStream & OutputStream (파일 입출력)Java/개념 정리 2020. 3. 3. 20:09
파일 입출력 in Java Java에서는 입출력 대상에 상관없이 입출력의 진행방식이 동일하도록 별로의 I/O 모델이 정의되어 있습니다. 이는 Java의 I/O 모델을 기반으로 데이터를 입출력 한다면 입출력 대상에 상관없이 동일한 형태로 데이터를 입출력할 수 있다는 것입니다. 하지만 이것은 입출력의 기본방식이 동일하다는 뜻일뿐, 입출력 대상에 따라 사용해야하는 클래스 및 메소드는 다를 수 있습니다. Stream의 이해 I/O 모델을 이해하기 위해서는 Stream이라는 것을 이해해야합니다. Stream이란 데이터의 흐름을 말하며 데이터의 흐름을 형성하는 통로를 의미하기도 합니다. Java에서는 각종 I/O 장치의 데이터 이동에 사용되는 인스턴스를 의미하는 용도로 사용됩니다. Stream은 크게 프로그램으로 ..
-
[Camel][Java] Synchronization ( 동기화 )Java/개념 정리 2020. 3. 3. 17:23
Synchronization( 동기화 )란? 동기화란, 한 쓰레드가 인스턴스에 접근해서 연산을 완료할 때까지, 다른 쓰레드가 인스턴스에 접근하지 못하도록 막는 것입니다. 우리가 일반적으로 쓰레드를 사용한 쓰레드 프로그래밍을 하다보면 하나의 인스턴스에 여러 개의 쓰레드가 접근하는 형태의 구현이 자주 요구됩니다. 이때 동기화를 해주지 않으면 문제가 발생하게되기 때문에 우리는 하나의 인스턴스에 여러 개의 쓰레드가 접근해야 할 때 동기화를 해줘야 합니다. 다만 예외적으로, StringBuffer와 같은 클래스는 이미 동기화 처리가 되어있기 때문에 여러 개의 쓰레드가 동시에 접근을 해도 문제가 없는 쓰레드에 안전한 클래스입니다. Thread의 동기화 방법 Thread를 동기화 시키는 방법의 하나로 우리는 sync..
-
[Camel][Java] Thread (쓰레드)Java/개념 정리 2020. 3. 2. 14:21
Thread(쓰레드)란? 쓰레드에 대해 설명하기에 앞서 쓰레드를 이해하기 위해 필요한 내용을 설명하겠습니다. 우선 프로그램을 실행하라는 요청을 사용자가 보내면 프로그램을 실행하는 것은 운영체제에 의해 이루어집니다. 사용자가 프로그램의 실행을 요청하면 메모리 공간이 할당되며, 이 메모리 공간을 기반으로 실행 중 에 있는 프로그램을 우리는 '프로세스'라고 합니다. 즉, 쉽게말하면 프로세스는 '실행중인 프로그램'이라고도 할 수 있습니다. 근데 이러한 프로세스 내에서 하나의 프로그램의 흐름만 있을 수 있는 것이 아니라, 둘 이상의 프로그램의 흐름이 있을 수 있습니다. 쓰레드라는 것은 이런 프로세스 내부에서 프로그램의 흐름을 형성하는 것입니다. 즉, 정리해서 말하면 하나의 프로세스 내에는 여러개의 쓰레드가 존재할..