목록웹 개발 (24)
개발 기록이

자바를 사용하여 원하는 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"); 경로값으로는 상대경로/절대경로를 입력해 주면 된다.// 상대경로File relativePath = new File("test.png");// 절대경로Path absolutePath1 = Paths.get("D:\\test\\test.png"); // WindowsPath absolutePath2 = Paths.get("/home/user/test.png"); // Linux 대표적인 메서드를 살펴보자. 1) file.createNewFile() : 새로운 파일 생성- 이미 해당 경로에 파일이 존재하는 경우 false를 반환한다.File fi..

지난 포스팅에 이어서 업로드한 파일을 자바 서버단에서 처리하는 방법에 대해 알아보려고 한다.예전에는 주로 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가 붙은 클래스는 그 요청을 받..

파일 관련 기능 구현할 때 제대로 정리가 안 되는 것 같아서 프론트단에서부터 서버에서 어떻게 file 값을 받고 처리하는지 정리를 해보려고 한다. 1. 속성 은 웹에서 사용자의 로컬 파일을 입력받을 수 있는 기능을 하는데 관련 속성에 대해 알아보자.1) accept업로드를 허용하고 싶은 확장자를 지정할 수 있다.그러나 파일 확장자를 지정해 줄 뿐 실제 내가 지정한 확장자 외에 다른 확장자의 파일을 못 올리게 하는 속성은 아니다. (특정 파일의 확장자만 입력받도록 하려면 별도의 코드 작업이 필요하다.)1-1) 확장자명을 직접 입력(콤마로 구분) 1-2) MIME 타입 지정 2) capture모바일에서 이미지를 업로드할 때 사용되는 속성. 전/후면 카메라를 작동시킬 수 있다. 3) files사용자가 파일..

자바 스트림이란?java8에서 사용할 수 있는 스트림은 람다를 활용한 기술 중 하나이다.배열 또는 컬렉션에 여러 개의 함수를 조합하여 원하는 결과를 가공할 수 있다. 자바스트림 중 map, filter, sort을 사용하여 list 값을 가공해 보자. 1. map요소들을 특정 조건에 해당하는 값으로 변환해 준다.ArrayList list = new ArrayList("aaa", "bbbb", "c", "d");System.out.println(list.stream().map(el-> el.toUpperCase()).collect(Collectors.toList()));// List의 요소들을 대문자로 변경해줌// [AAA, BBBB, C, D]System.out.println(list.stream().m..
JSP에 Controller 단에서 넘어온 리스트(myList)가 빈 값으로 넘어왔을 때, "등록된 값이 없습니다."라는 텍스트를 표출하려고 한다. ❌ 잘못된 방법 등록된 값이 없습니다. 다음과 같이 ${ myList eq null } 으로 작성하니 빈 값을 체크하지 못하고 있었다.실제 빈 값을 가지는 ${ myList } 값을 JSP에서 찍어보니 [](빈 배열) 형태를 가지고 있는데 이런 경우 null로 비교하는 것이 아니라 empty 또는 넘어온 리스트의 size()를 비교하여 빈 값 체크를 해주어야 한다. 1. empty 사용 등록된 값이 없습니다. 2. list.size() 사용 등록된 값이 없습니다.

HTTP/HTTPS 프로토콜의 기본포트에 대해 알아보자. 1. HTTP 프로토콜 http://www.tistory.com http://www.tistory.com:80 - 접속 잘 됨( http://www.tistory.com로 접속한 것과 동일하게 접속이 잘 됨) http://www.tistory.com:81 - 접속이 안 됨(목적이 다른 포트임으로 접속이 안 됨) 2. HTTPS 프로토콜 https://www.tistory.com https://www.tistory.com:443 - 접속 잘 됨 ( https://www.tistory.com로 접속한 것과 동일하게 접속이 잘 됨) https://www.tistory.com:444 - 접속이 안 됨(목적이 다른 포트임으로 접속이 안 됨) - HTTP 기..
JSP에서 EL을 사용해서 "시작일 ~ 종료일" 형태로 나타나게 하려는데 ex) 2023-01-01 ~ 2023-12-01 ${ useYn == 'Y' ? '' : startDate + ' ~ ' + endDate } 이렇게 +를 사용하여 문자열을 연결할 경우 적용이 안 된다. + 가 아니라 += 를 사용해주면 정상적으로 연결이 된다! ${ useYn == 'Y' ? '' : startDate += ' ~ ' += endDate } 출처: https://congsong.tistory.com/40