목록웹 개발 (19)
개발 기록이
1. 서버 IP 가져오기InetAddress.getLocalHost()import java.net.InetAddress;import java.net.UnknownHostException;public class ipTest { public static void main(String args[]) throws UnknownHostException { InetAddress ipnetAddr = InetAddress.getLocalHost(); System.err.println("현재 아이피 : " + ipnetAddr.getHostAddress()); System.err.println("현재 hostname : " + ipnetAddr.getHostName()); }}..
JPA(Java Persistence API)란?객체 지향 프로그래밍과 관계형 데이터베이스 간의 차이를 자동으로 연결해 주는 역할을 하며 다음과 같은 장점이 있다. 1. SQL 중심 -> 객체 중심 개발 JDBC API를 통해 직접 SQL 쿼리를 작성하는 경우, 프로젝트가 커지고 쿼리가 복잡해질수록 관리가 어려워질 수 있는데 JPA를 사용하면 SQL에 대한 의존도를 줄여주어, 복잡한 프로젝트에서도 객체 중심으로 효율적인 개발을 할 수 있다. 2. 생산성 증대CRUD를 간단한 메서드를 통해 사용할 수 있다.저장: jpa.persist(member)조회: Member member = jpa.find(memberId)수정: member.setName("변경할 이름")삭제: jpa.remove(member)JP..
필터는 1개 이상이 존재할 수 있으며 각각의 필터는 맡은 작업을 수행하고 작업이 다음 필터에서 수행될 수 있도록 제어권을 넘겨주면서 최종적으로 서블릿까지 도달한다. FilterChain은 요청이 여러 필터를 거쳐 최종적으로 서블릿에 도달하도록 하는 구조.각 필터는 doFilter 메서드 내에서 chain.doFilter(request, response)를 호출하여 다음 필터 또는 서블릿으로 요청 전달.필터 체인의 각 필터는 요청과 응답을 처리할 수 있으며, 필터 체인이 완료되면 서블릿이 요청을 처리.출처 : https://realrain.net/posts/spring-security-filterOpenAI ChatGPT (https://openai.com)
Java로 난수를 생성하는 방법이 여럿 있는데 대표적인 3가지 방식을 정리해보려고 한다. 1. Math.random() 메서드 0.0 이상 1.0 미만의 난수가 생성된다. 그러나 Math.random()은 고정된 시드를 설정할 수 없어, 동일한 난수 시퀀스를 재현하기 어렵다는 단점이 있다. import java.util.*;class Main { public static void main(String[] args) { double num1 = Math.random(); int num2 = (int)(Math.random()*100); // 0 ~ 100 사이의 난수 생성 System.out.println(num1); System.out..
개발자 도구로 내가 현재 접속한 웹사이트의 포트 번호를 알 수 있다. 1. 포트번호를 확인하고자 하는 사이트에 접속(예시: 티스토리) 2. 키보드 F12를 눌러 개발자도구 열기 - [Network] 탭 - [Headers] - Remote Address 확인 1) 211.249.221.185 : 현재 접속한 웹사이트(티스토리)의 IP 주소2) 443 : 웹사이트가 사용하고 있는 포트 번호 대부분의 상용 웹사이트는 사용자 편의, 보안, 호환성을 위해 표준 포트인 80(HTTP)과 443(HTTPS)을 사용하며 비표준 포트는 주로 개발자 포트, 관리 페이지, 특정 서비스 목적 등의 용도로 사용된다고 한다. ex) 개발자 포트: http://localhost:8080관리 페이지: http://IP주소:8080..
자바를 사용하여 원하는 URL로 이동할 수 있는 QR 코드 이미지를 다운로드하는 방법에 대해 알아보자.@RequestMapping("/qrDownload.do")public void qrDownload(HttpServletResponse response) throws WriterException { try { //QR코드 이미지 생성 QRCodeWriter qrCodeWriter = new QRCodeWriter(); Map hintMap = new HashMap(); hintMap.put(EncodeHintType.CHARACTER_SET, "UTF-8"); BitMatrix bitMatrix = qrCodeWriter.encode("..
프로젝트 내에 있는 특정 파일을 다운로드하는 url을 만들어보려고 한다.(다운로드할 파일의 경로 : http://localhost:8080/resources/file/sample.pdf)@RequestMapping("/downloadFile.do")public void downloadFile(HttpServletResponse response) { String fileUrl = "http://localhost:8080/resources/file/sample.pdf"; try { Path tempFilePath = Files.createTempFile("sample", ".pdf"); URL url = new URL(fileUrl); Files.c..
1. File 클래스File 클래스는 파일 및 디렉터리를 생성하고 존재 여부를 확인하는 기능을 제공한다.File file = new File("test.txt"); 대표적인 메서드를 살펴보자. 1) file.createNewFile() : 파일 생성2) file.mkdir() : 디렉터리 생성File dir = new File("testDir");if(dir.mkdir()) { System.out.println("디렉토리 생성");} 3) file.exists() : 파일 또는 디렉터리 존재 여부 확인4) file.getName() : 파일 이름5) file.getPath() : 파일 경로6) file.getAbsolutePath() : 파일 절대 경로7) file.length() : 파일 크기(b..
지난 포스팅에 이어서 업로드한 파일을 자바 서버단에서 처리하는 방법에 대해 알아보려고 한다.예전에는 주로 MultipartHttpServletRequest를 사용하여 멀티파트 요청을 처리했지만, Spring 3.1 이후부터는 MultipartFile이 도입되어 더 간편하고 효율적인 파일 업로드 처리를 할 수 있다고 한다. 각 방식을 통해 어떻게 파일을 저장하는지 알아보자! 📌 프론트단에서 파일 업로드하는 방법 확인하기 속성과 자바스크립트로 파일 정보 보내기" data-ke-align="alignCenter" data-og-description="파일 관련 기능 구현할 때 제대로 정리가 안 되는 것 같아서 클라이언트에서부터 서버에서 어떻게 file 값을 받고 처리하는지 정리를 해보려고 한다. 1. 속성..
Spring boot 프레임워크에서의 @Controller, @RestController과 URL 리다이렉트 하는 방법에 대해 알아보자. 1. @Controller 란?사용자가 특정한 URL로 요청을 보내면, 이 요청을 받아들이고 처리하는 역할을 하는 클래스가 필요하다. 이 클래스에는 해당 요청을 처리하는 메서드가 정의되어 있는데 이 메서드는 요청을 처리한 후 사용자에게 응답을 보내는 역할을 한다. @Controller 어노테이션이 붙은 클래스가 이러한 역할을 수행하는데 즉, @Controller 어노테이션이 붙은 클래스는 웹 애플리케이션에서 사용자의 요청을 받아들이고 처리하는 역할을 담당한다. 예를 들어, www.example.com/springtest로 접속하면 @Controller가 붙은 클래스는 ..