반응형

Back-End/Java 8

Java, Apache PDFBox를 이용하여 PDF 다루기

Java, Apache PDFBox를 이용하여 PDF 다루기Apache PDFBox 라이브러리를 이용하여 Java로 PDF 파일을 수정, 병합, 생성하는 API 가이드 포스팅을 시작 하겠습니다. 먼저 Maven 또는 Gradle 의존성을 추가 해 줍니다. 필자가 사용한 버전은 2.0.31 입니다. 3.x 버전의 경우, 2.x버전 때의 사용법이 다르게 변경되어 다른 부분이 많습니다. 이점 참고 부탁드리겠습니다! Maven org.apache.pdfbox pdfbox 2.0.31 Gradleimplementation group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.31'  설정이 완료되었다면, 먼저 PDF 생성부터 알아보도록 하겠습니다...

Back-End/Java 2024.05.14

Java Excel(엑셀) 데이터 처리하기(Apache POI), Excel(엑셀) 다운로드, Excel 생성

Java Excel(엑셀) 데이터 처리하기(Apache POI), Excel(엑셀) 다운로드, Excel 생성 Apache POI 라이브러리를 이용하여 간단하게 Excel 파일을 생성 하거나 수정 할 수 있습니다.간단하게 적용하는 방법을 포스팅 했습니다.    Java 또는 Spring 중 적용하고 싶은 라이브러리 택1 하여, 적용한다.Java의 jar는 1-1, jar 다운로드, spring의 의존성 추가의 경우 1-2 1-1. Java jar 추가하기공식 홈페이지 src 예제 코드 및 jar파일을 다운로드 할 수 있다.https://poi.apache.org/download.html 라이브러리 다운로드 (일반 poi-bin-x.x.x-날짜.zip)https://archive.apache.org/dis..

Back-End/Java 2024.05.14

Java, HTML 코드 DOM 분석 시스템 만들기, Jsoup lib 및 URL Class 이용(웹 사이트 이미지 일괄 다운로드, Jsoup HTML DOM 분석)

Java, HTML 코드 분석기 만들기 간단하게 HTML 코드 분석기 프로그램을 만들어 보고자 합니다.여러가지 기능 중 이미지 다운로드 정도로 하여 진행 해 보도록 하겠습니다. 링크을 통해 jar파일을 다운로드 합니다. https://jsoup.org/ jsoup: Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safetyjsoup: Java HTML Parser jsoup is a Java library that simplifies working with real-world HTML and XML. It offers an easy-to-use API for URL fetching, data parsing, extraction..

Back-End/Java 2024.05.14

Java SingleTon pattern(자바 싱글톤 패턴) 구현 및 설명

Java SingleTon pattern(자바 싱글톤 패턴) 구현 및 설명  먼저 싱글톤 패턴( SingleTon pattern )의 특징은싱글톤 패턴은 특정 클래스가 단 한번 인스턴스를 생성하여 사용하는 패턴 입니다.생성자를 여러번 호출 하더라도 하나의 인스턴스만 존재 해야 합니다.사용한 해당 Application에서는 동일한 인스턴스를 통하여 처리되게 됩니다.  사용하는 이유해당 서비스에서 인스턴스가 불필요하게 많이 사용되게 된다면, 많은 리소스 소모로 인해시스템이 느려지거나, 여러 예외 상황이 발생할 수 있습니다.대표적인 사용 방식의 예시로 커넥션 풀(Connection pool)이 있습니다.  장점을 알아보면유일한 인스턴스로 시스템의 자원 소모 관련으로 사용 자원을 절약하고, 생성 시간에 대한 비..

Back-End/Java 2024.05.14

Java Xstream xml API 사용 중, ClassCastException 오류(Xstream, Classloader, Thread, Reflection, JVM)

어느날 업무를 보다가 Xstream xml로 처리되는 API 중, 데이터를 파싱하는 과정에서 ClassCastException이 발생하였다. 분명 동일한 DTO class와 같은 데이터 형태로 request를 받았는데 ex) DTO(data="abc", data2="cba") 익셉션이 발생되었다. Xstream class lib을 직접 확인 해 보니, Reflection으로 동작하는 것을 확인 할 수 있었다. Reflection의 경우 간단하게 말하자면, runtime에서 동적으로 특정 Class정보를 추출한다.이렇게 쓰라고 만든 것 처럼 동적 바인딩을 제공 하는데,왜 해당 오류가 발생한 DTO는 바인딩 되지 못했을까 생각 해 보았다. 일단 정리하면, runtime에 동적으로 클래스를 로딩 한다는건 JV..

Back-End/Java 2024.05.14

Spring, Java 웹 사이트 세션(Session) 관리하기(웹 사이트 로그인 기능, 웹 사이트 session, 웹 로그인 처리)

Spring, Java 웹 사이트 세션(Session) 관리하기(웹 사이트 로그인 기능, 웹 사이트 session, 웹 로그인 처리)Spring, Java를 활용하여 웹 사이트의 Session을 관리하는 class를 작성하여 로그인 기능을 구현하는 방법에 대해 포스팅 하겠습니다. spring에서의 Session은?session은 클라이언트(브라우저)와 서버(웹 애플리케이션)의 소통으로 세션을 통해 서버는 여러 HTTP 요청에 걸쳐 특정 사용자에 대한 데이터를 유지할 수 있습니다.웹 애플리케이션에서 session은 주로 HTTP session을 통해 관리됩니다. 사용자가 Spring 기반 웹 애플리케이션에 액세스하면 해당 사용자에 대한 고유한 session 개체가 생성됩니다. 이 session 개체는 일반..

Back-End/Java 2024.05.14

Java 단방향 암호화(SHA-256) 데이터 만들기(로그인, 비밀번호 설정, 웹 사이트 로그인, 웹 서비스 로그인, 암호화)

Java 단방향 암호화(SHA-256) 데이터 만들기(로그인, 비밀번호 설정)Java 단방향 암호화 SHA-256을 이용하여 암호화 데이터를 만드는 방법에 대해 포스팅 작성 해 보겠습니다. 먼저 간략하게 SHA-256이 어떤 것인지와 속성 관련으로 설명하면 다음과 같습니다. SHA-256은 어떠한 것인가 ? SHA-256(Secure Hash Algorithm 256비트)은 SHA-2(Secure Hash Algorithm 2) 암호화 해시 함수 중 하나입니다. 임의 크기의 입력 데이터에서 일반적으로 16진수 문자열로 표시되는 고정 크기 256비트(32바이트) 해시 값을 생성합니다. ..

Back-End/Java 2024.05.14

Java 웹사이트 페이징 처리 방법(게시판 만들기, 게시판 페이징 처리)

Java 웹사이트 페이징 처리 방법(게시판 만들기, 게시판 페이징 처리)Java를 활용하여 웹 사이트 페이징 처리 방법을 포스팅 하겠습니다. 웹 사이트에서 페이징 처리하는 이유? 성능 이슈 : 페이징을 사용하면 웹사이트에서 대규모 데이터 세트를 더 작고 관리 가능한 단위로 표시할 수 있습니다. 모든 데이터를 한 번에 로드하고 표시하면 서버 리소스에 부담을 주고 사용자 환경이 느려질 수 있습니다. 데이터를 페이지로 나누면 웹 사이트에서 콘텐츠를 보다 효율적으로 로드하고 표시할 수 있어 페이지 로드 시간이 단축되고 성능이 향상됩니다. 검색 크롤링 : Googlebot과 같은 검색 엔진 크롤러는 리소스가 제한되어 있으므로 한 번의 방문으로..

Back-End/Java 2024.05.14
반응형