[java/spring] try - catch - finally 보기좋게 작성하는 예제 또는 좋은 질문과 답변들
2022. 7. 10. 20:32
몰아 넣기
스텍오버플로우에서 발견한 예제이다. Java io ugly try-finally block Is there a not so ugly way of treat the close() exception to close both streams then: InputStream in = new FileInputStream(inputFileName); OutputStream out = new FileOutputStream(outputFil... stackoverflow.com 아래와 같이 질문자는 이 구조를 이쁘게 바꾸고 싶었던 것이다. InputStream in = new FileInputStream(inputFileName); OutputStream out = new FileOutputStream(outputFil..
[java/spring] 이미지url를 업로드하는 예제 (window/Linux)등 os 체크 예제까지
2022. 7. 10. 20:16
몰아 넣기
구글에서 이런 예제를 본적이 있다. 이미지 url를 저장하는 방법이다. 나는 아래 코드를 이용하여 코드를 구성하였다. 자바 URL주소로 이미지 저장 //이미지 주소 String imagePath = "http://www.seowon.ac.kr/html/themes/kor/img/about/2_1_1960.gif"; //버퍼이미지 변수 정의 BufferedImage image = null; try { //버퍼이미지에 경로에 이미지를 읽어서 넣음.. develop88.tistory.com void test() { String imagePath = "http://www.seowon.ac.kr/html/themes/kor/img/about/2_1_1960.gif"; BufferedImage image = nul..
[java/spring] 엑셀 다운로드 예제(Excel download)
2022. 7. 10. 20:03
몰아 넣기
기본 @RequestMapping(value="/goodsExcelExport.do") public void goodsExcelExport(HttpServletResponse response , @RequestParam Map dateMap) throws Exception { SimpleDateFormat fileSdf = new SimpleDateFormat("yyyy_MM_dd_hh_mm"); SimpleDateFormat dateSdf = new SimpleDateFormat("yyyy-MM-dd"); String makeFileTime = fileSdf.format(new Date()); String makeFileName = makeFileTime + "_goodsList.xls"; // 워크북..
[java/spring]엑셀 업로드 예제(Excel upload)
2022. 7. 10. 20:02
몰아 넣기
들어가는 글 지인들과 게임을 하나 조금하게 게임을 개발하게 되었다 나는 서버쪽을 맡게되었고 그 중에 데이터베이스에 하드코딩(?) 으로 insert해야하는데 데이터가 있는데 시간이 너무 많이 소모될 예정이었다. 전 프로젝트중 엑셀 업로드 기능을 누가 구현해놓은 기억이 있었지만 자동화가 아닌 각 양식에 맞는 업로드 기능을 하드로 코딩되어있던 로직이였다 문제점 row 랑 cell을 정해놓고 for문을 돌릴 때 for문이 끝나는 지점을 하드코딩으로 적었다. 데이터 타입에 이미 알고 있기에 하드코딩으로 변환을 시켰다. controller @PostMapping("/fileUpload") public String uploadFile(MultipartHttpServletRequest request) { Multipa..
[java/spring] jwt 예제 (JWT example)
2022. 7. 10. 20:01
몰아 넣기
글을 쓴 이유 이번에 지인들과 게임을 만들기로 했다 나는 서버를 맡았다. 로그인 정보를 넘겨주면 DB와 확인 후 토큰을 발급해주고 토큰을 확인해주는 서비스를 만들어야했기에 이번에 기회에 세션만 사용했지만 jwt를 알아보게되었다. dependensy gradle클릭 com.auth0 java-jwt 3.18.3 io.jsonwebtoken jjwt 0.9.1 controller package com.spring.boot.api.controller; import com.spring.boot.api.service.MemberService; import org.slf4j.*; import org.springframework.beans.factory.annotation.Autowired; import org.sp..
[자바/spring] 이미지 업로드 예제
2022. 7. 10. 20:00
몰아 넣기
클라이언트 html input type = "file" 로 파일을 받는다 { accept="image/png" } javaScript $("#image").change(function () { var ext = $(this).val().split('.').pop().toLowerCase(); ext != "png" var fileImg = this.files[0]; fileUpload(fileImg); }) ext 는 파일의 확장자이다. ext != "png" 로 비교 가능 선택한 파일은 files[0] 데이터를 가공시킨다. ajax function fileUpload(file) { var form_data = new FormData(); form_data.append('file', file); form..
[java/spring] UUID를 사용해서 파일이름 랜덤으로 만들기 또는 이미지 확장자 체크하기
2022. 7. 10. 19:54
몰아 넣기
UUID 란? 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약이며 범용고유식별자 UUID (Universally Unique IDentifier) 이라고 한다. UUID는 128비트의 숫자이며, 32자리의 16진수로 표현된다. 여기에 8-4-4-4-12 글자마다 하이픈을 집어넣어 5개의 그룹으로 구분한다. 550e8400-e29b-41d4-a716-446655440000 UUID를 사용해서 파일이름 랜덤으로 만들기 예제 총 세가지 유형이다. 1) MultipartFile일 때 2) File 일 때 3) 고유하기 파일이름 만들기 .png는 예시 다른걸 붙힐 수도 안붙힐 수도 있음 /* MultipartFile 데이터 타입 파일이름 재설정 */ public String makeFileName..
[java/spring/api] 스프링부트 구글 로그인 인가코드 또는 엑세스토큰을 이용하여 구현하기
2022. 7. 3. 21:55
몰아 넣기
들어가는 글 항상 백앤드와 프론트가 한 서버에 존재하는 개발만 해보았고 구글로그인도 그 때 해봤지만 이 번에 하는 프로젝트는 프론트와 백앤드의 서버가 각자 존재한다. 이렇게 프론트와 백앤드서버가 따로 존재할 때는 구글로그인을 프론트에서 다 해주거나 프론트에서 인가코드를 받고 그 코드를 백앤드에 넘겨 이어서 진행하는 방법으로 해야한다. 소셜로그인 흐름 리액트에서 유저가 구글로그인을 시도하여 인가코드를 요청한다. 구글에서 응답으로 구글 로그인을 시도한 유저의 인가코드를 같이 준다. 리액트에서는 받은 인가코드를 서버에 엑세스토큰과 리플레쉬토큰을 응답받기위해 요청헤더에 담아 보낸다. 인가코드를 받은 서버에서는 구글에게 구글플랫폼에 등록한 redirectUrl, clientId, clientSecret, 인가코드..