분류 전체보기
Java File클래스를 이용한 파일입출력 사용
123456789101112131415161718192021import java.io.File; File fileff = new File("파일경로"); boolean is_file = fileff.isFile(); // 파일인지 검사 boolean is_dir = fileff.isDirectory(); //디렉토리 인지 검사 boolean is_hiddenFile = fileff.isHidden(); // 숨김파일인지 검사 str = fileff.getAbsolutePath(); // 절대 경로 추출 strf = fileff.exists(); // 존재여부 str = fileff.getName(); //이름 출력 str = fileff.getParent(); // 처음부터 / 까지 리턴cs 요새는 NI..
Spring framework에서 html을 pdf만들어 다운로드 하기
업무적으로 html 코드를 이용하여 pdf 파일로 내보내기 위해서 자료수집을 많이했다. 하지만 결론부터 이야기하면 원하는대로 다 되지는 않았다. 밑에 이야기 하겠지만 html을 pdf로 만들어주는 라이브러리가 정확하게 html모든 태그를 파싱하지 못할뿐만 아니라, css적용도 정상적으로 되지 않았다. 그래도 다시해본 결과!!!!! ( 이 글 쓰고나서 더 조사해본 결과.. 포기하지 마시길 )=> html2pdf를 사용하면 거의 대부분의 css를 적용할 수있다. 1. pom.xml 설정 itextpdf -> pdf를 생성하기 위해 필요한 라이브러리 xmlworker -> xml 파싱을 위해 필요한 라이브러리 html2pdf -> itext의 7버전을 사용하기 위해 필요한 라이브러리 12345678910111..
Spring boot에서 Spring security를 사용하여 로그인 하기
스프링 부트를 공부하면서 스프링에서 제공하는 spring security를 통해 로그인 기능을 편리하게 구현할 수 있다는 것을 알았다. 기존에 회사에서는 interceptor 기능을 통해서 로그인 기능을 만들어서 사용했다. 둘다 좋은 방식이지만 spring security를 사용하면 csrf 공격도 막을 수 있어서 한번 사용해봐도 좋을 것 같다. 1. 라이브러리 pom.xml 1234 org.springframework.boot spring-boot-starter-securityColored by Color Scriptercs 2. SpringSecurityAdaptor -> 스프링 시큐리티에 필요한 내용을 정의하는 configuration을 생성해야한다. -> WebSecurityConfigurerAd..
spring boot에 https 접속 적용하기
구글에서 http에 대한 모든 접속을 보안 경고를 표시하게 되면서, 모든 접속에 https 접속이 필수가 되었다. 스프링 부트를 접해보면서 스프링에서는 조금 과정이 귀찮았던 https 접속을 적용하는게 얼마나 편해졌는지 알아보았다. 1. application.properties 설정 #ssl 설정 server.port=13443 server.ssl.key-store=classpath:keystore.jks server.ssl.key-store-password=test server.ssl.key-password=test 2. keystore 만들기 -> ssl을 적용하려면 자가 서명 키스토어가 필요하다. 만약 인증기관에서 인증서를 발급받은 경우 그냥 그 파일을 사용하면 된다. 위의 명령어를 사용하여 src..
Spring에서 url 요청하는 RestTemplate 설명
Spring 기반 프로젝트 진행 시 URL을 요청할 때가 있다. 이를 Apache의 HttpClient 라이브로리를 사용하여 할 수 있지만, 스프링 프로젝트에서는 SpringTemplate를 사용하여 쉽게 요청할 수 있다. (httpClient와 RestTemplate의 차이는 하단의 링크참조) 사용법은 아주 간단하다. 각 요청 Method 마다 하단의 메소드를 이용하여 호출하기만 하면된다. 1. Get 12345RestTemplate restTemplate = new RestTemplate();String fooResourceUrl = "http://localhost:8080/spring-rest/foos";ResponseEntity response = restTemplate.getForEntity(f..
spring boot에서 jsp사용하기
spring framework만 사용하다가 요근래 대다수에 회사에서 spring-boot를 사용하는 것을 확인하고 spring-boot에 대해 공부를 해보았다. 확실히 spring-boot를 사용하면 설정이 엄청 간단해서 개발자가 설정에 집중하는게 아니라 비즈니스 로직에만 딱 고민할 수 있도록 되어있어서 진짜 편한것 같다. 그래서 기존에 내가 하고 있는 wedulpos 프로젝트를 spring-boot로 마이그레이션 하는 작업을 거쳤는데 그 사이에 어려운 부분이 있었다. 스프링에서는 jsp를 사용하는 것이 어렵지 않았으나, 기본적으로 spring-boot에서는 jsp 사용이 기본이 아니다. 그래서 설정을 위해서는 몇가지 변경을 해주어야한다. 1. pom설정 - jstl 사용을 위한 라이브러리 추가 1234..
spring boot 재시작 없이 frontend(html, js..) 변경내용 사용하기
spring boot를 공부하면서 html요소가 자동으로 변경되지 않아서.. 계속 껏다켜야해서 너무 불편했다. 그래서 구글링 하던중 방법을 알게되어 적어본다. 1. pom.xml 추가 12345 org.springframework.boot spring-boot-devtools trueColored by Color Scriptercs 2. debug 모드로 실행 3. eclipse 설정 중 Build Automatically 설정 여부 확인 (기본으로 사용으로 설정되어 있음)
Tomcat에서 war 사이에 session 공유
회사 프로젝트에서 같은 톰캣 컨테이너를 사용하는 war 애플리케이션 사이에 session을 공유해야 하는 경우가 있었다. 한참을 구글링하던 도중에 사용방법에 대해 알게 되었고, 나중에 사용하기 위해서 정리해보았다. [설정방법] 1. context.xml 수정 -> 각 war에 위치한 context.xml에 crossContext와 rootPath를 적어준다. 1234 WEB-INF/web.xmlcs 2. tomcat의 server.xml의 Connector에 emptySessionPath 속성을 추가한다.1cs 3. 공유할 세션의 속성 지정12// wedulPos war의 세션 속성 설정request.getSession().getServletContext().setAttribute("id", userId..
Spring Interceptor와 Filter에서 POST 방식으로 전달된 JSON 데이터 처리하기
이번 회사 프로젝트에서 진행할 때 parameter값이 아니라 Josn 데이터가 필요할 때가 있었다. 이를 위해서는 HttpServletRequest에서 InputStream으로 데이터를 추출해야한다. 하지만 HttpServletRequest에서 InputStream을 한번 추출하게되면, Controller에서 parameter를 매핑하려고 데이터를 바인딩할 때 다음과 같은 오류가 발생한다. 이는 톰캣에서 막아놓았기 때문이다. [에러내용] 12java.lang.IllegalStateException: getReader() has already been called for this requestorg.springframework.http.converter.HttpMessageNotReadableExcept..
Java Json Library Jacson Annotation 소개
restFul API를 만들다 보면, 어떤 항목을 serialize 제외하거나 null인 항목은 제외하거나 하는 작업이 필요로 할 때가 있다. 이를 Jackson 라이브러리의 Annotation을 사용하여 하는 방법을 확인해보자. [Maven 셋팅] 1234567891011 2.9.2 com.fasterxml.jackson.core jackson-databind ${jackson.version} Colored by Color Scriptercs 예제로 사용될 Student Dto 클래스이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package com.wedul.common.dto; /** *..