목록
'전체 글' 740건
코드로 놀고, 언어로 성장하는 공방.
-
웹 브라우저에서 서블릿으로 데이터 전송하기GET/POST 전송 방식웹 브라우저에서 서블릿으로 전송하는 방법은 크게 GET 방식과 POST 방식이 있습니다.주소 창을 자세히 보면 물음표(?) 뒤에 입력한 값, 외화 종류 그리고 나타내는 문자열이 서블릿 매핑 이름 뒤에 붙어서 전송됩니다. 이렇게 URL 주소에 데이터를 붙여서 전송하는 방식을 GET 방식이라고 합니다. GET 방식으로 데이터를 전송할 경우에는 전송하는 데이터가 노출되므로 보안에 취약합니다.반면에 POST 방식은 전송하는 데이터를 숨겨서 전송하므로 보안성이 높습니다.즉, GET 방식은 보안과 관련이 없는 간단한 데이터를 쉽게 전송할 수 있는 반면, POST 방식은 보안과 관련된 데이터를 전송하는 데 많이 사용합니다. GET 방식POST 방식서블릿에 데이터를 전송할 때는 데이터가 URL..
-
파일 입출력 응용: 파일 복사파일은 문자열로 이루어진 텍스트 파일과 이미지나 오디오 혹은 그래픽 등 바이너리 코드로 이루어진 바이너리 파일로 나뉜다. 바이너리 파일은 바이트 스트림으로 읽고 써야 정확하게 복사가 이루어지지만, 텍스트 파일은 문자 스트림이나 바이트 스트림 중 어떤 것을 사용해도 복사에 문제가 없다. 텍스트 파일 복사FileReader를 이용하여 텍스트 파일을 읽고 FileWriter로 텍스트 파일에 복사합니다. 파일 경로명은 File 객체를 이용합니다. 텍스트 파일 복사import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class TextCopyEx { public static..
-
이벤트 이해하기스트림을 배울 때 on('data', 콜백) 또는 on('end', 콜백)을 사용했습니다. 바로 data라는 이벤트와 end 이벤트가 발생할 때 콜백 함수를 호출하도록 이벤트를 등록한 것입니다.createReadStream 같은 경우는 내부적으로 알아서 data와 end 이벤트를 호출하지만, 우리가 직접 이벤트를 만들 수도 있습니다.const EventEmitter = require("events");const myEvent = new EventEmitter();myEvent.addListener("event1", () => { console.log("이벤트 1");});myEvent.on("event2", () => { console.log("이벤트 2");});myEvent.on("event2",..
-
서블릿을 이용한 환율 계산기 예제 실습1. sec02.ex01 패키지에 ClacServlet 클래스를 생성합니다.package sec02.ex01;import java.io.IOException;import java.io.PrintWriter;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;@WebServlet("/calc")public class CalcServlet extends HttpServle..
-
File 클래스File 클래스란?File 클래스는 파일이나 디렉터리에 대해, 겅로명, 크기, 타입, 수정 날짜 등의 속성 정보를 재공하고, 파일 삭제, 디렉터리 생성, 파일 이름 변경, 디렉터리 내의 파일 리스트 제공 등 다양한 파일 관리 작업을 지원합니다. File 클래스의 경로명은 java.io.File입니다. 이름과는 달리, File 클래스에는 파일 입출력 기능은 없습니다. File 객체 생성File f = new File("c:\\Temp\\test.txt");File f = new File("c:\\Temp", "test.txt"); // 디렉터리와 파일명을 나누어 전달 메소드설명File(File parent, String child)parent 디렉터리에 child 이름의 서브 디렉터리나 파일을 나타내는 ..
-
스레드 풀 알아보기비동기식 메서드들은 백그라운드에서 실행되고, 실행된 후에는 다시 메인 스레드의 콜백 함수나 프로미스의 then 부분이 실행됩니다. 이때 fs 메서드를 여러 번 실행해도 백그라운드에서 동시에 처리되는데, 바로 스레드풀이 있기 때문입니다.fs 외에도 내부적으로 스레드 풀을 사용하는 모듈로는 crypto, zlib, dns.lookup 등이 있습니다.threadpool.jsconst crypto = require("crypto");const pass = "pass";const salt = "salt";const start = Date.now();crypto.pbkdf2(pass, salt, 1000000, 128, "sha512", () => { console.log("1:", Date.now() - sta..