• [Java]특정 날짜가 특정 기간 사이에 있는지 체크하기

    서론 달력이 들어가는 페이지를 개발하다보면 오늘 혹은 사용자가 선택한 날짜가 어느 기간 안에 들어가는지 체크해야할 때가 있다. 예를 들면 오늘 날짜인 ‘2019-03-20’이 ‘2019-03-01’ ~ ‘2019-03-21’ 사이에 포함되는지 체크해야하는데 이것을 위해 Java8부터 추가된 java.time 을 이용해서 기능을 구현해보았다. 본론 /** * date가 startDate와 EndDate 사이에 있는지 반환 * * @param date...


  • [Spring]Apache POI를 이용한 Excel Download

    서론 이전에는 특정 페이지를 엑셀로 다운로드 받으려면 JSP를 이용하곤 했다. <% String fileName = "Excel File_"+DateTime.getDateTimeMinSec()+".xls"; response.setHeader("Content-Disposition", "attachment; filename="+new String(fileName.getBytes("utf-8"),"8859_1")); response.setHeader("Content-Description","JSP Generated Data"); %> 위와 같이 JSP 상단에 적어주면 html 코드들이 엑셀로 저장이 된다. 간편하긴 하지만 <table>을 이용하여 표를 다 그려줘야하고 제일 치명적인 단점이 엑셀 97~2003버전(xls)으로만 저장이 된다는 것이다. 그래서...


  • [Spring]HTMLTagFilter

    HTMLTagFilter? 크로스 사이트 스크립팅(Cross-Site Scripting, XSS)은 쉽게 설명하자면 악의적인 스크립트 코드를 서버로 전송시켜 실행하여 사용자의 쿠키나 세션을 탈취하거나 이상한 페이지로 이동시키는 등의 행위를 하는 것이다. 이러한 XSS 공격은 어떤 프로젝트를 하든지 취약점 점검에 꼭 하나씩은 필터링 되곤 한다. 이러한 XSS 공격을 막기 위해서 보통은 사용자에서 입력받은 값을 서버로 넘길 때,...


  • [MySQL]A테이블 검색 시 B테이블의 특정 컬럼 값 이용하기

    내용 전자정부+MySQL 기반의 웹 프로젝트를 개발하던 중에 하나의 기능이 필요하게 되었다. A라는 테이블의 리스트를 뽑아오는 화면인데 또다른 B라는 테이블의 특정 컬럼에 있는 특정 값을 검색 조건으로 달아줘야 했다. 대략적으로 테이블 구조를 그려보자면, Table A USER_ID USER_NM 1 이름_1 2 이름_2 3 이름_3 Table B PKID ADMIN_ID 1 1,3 2 1...


  • [Spring]다중 DataSource 설정하기

    전자정부 프레임워크 3.7 버전을 사용 중이기 때문에 이 프레임워크를 기준으로 설명함. Spring 4 기반으로 만들어졌기 때문에 크게 다른 부분은 없으리라 생각됨. 1. 기본 설정 1. MSSQL JDBC 드라이버 추가 & pom.xml 설정 <!-- 보통 commons-dbcp는 기본적으로 추가되어 있기 때문에 이미 있다면 추가 X --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!--...