Maven 웹 프로젝트 서블릿 3.1로 업그레이드 하기

앞에서 작성한 "Eclipse에서 Maven 웹 프로젝트 만들기"는 기본 Maven 템플릿을 사용하는데 JDK 1.5와 서블릿 2.3으로 작성이 됩니다. 이것을 JDK 1.8에 서블릿 3.1 로 올려 봅니다. 1. JDK를 1.8로 변경합니다. 기존의 JDK 1.5를 제거하고 JDK 1.8을 추가합니다. JDK의 추가는 Preferences의 Installed JREs에서 추가해 두면 됩니다. 여러 버전의 JDK를 설치해 둘 수 있습니다. 컴파일러 설정을 1.8로 변경합니다. 프로젝트의 Preferences의 Java Compiler에서 "Enable project specific settings" 를 체크하고 "Use compliance from execution environment 'JavaSE-1..

프로그래밍/스프링프레임워크 | 2019. 3. 10. 23:20

Eclipse에서 Maven 웹 프로젝트 만들기

Eclipse에서 Maven 템플릿을 이용해서 웹 프로젝트를 만드는 방법을 알아 봅니다. 만들어보면 스프링프레임웍을 사용하는 STS 나 전자정부프레임웍의 프로젝트 구조가 Maven 웹 프로젝트 구조와 유사하다는 것을 알 수 있을 것입니다. 1. 메뉴의 File -> New -> Project... 에서 Maven Project를 선택합니다. 2. 프로젝트의 저장위치는 기본값을 사용합니다.- Use default Workspace location 을 체크합니다. 3. 메이븐 템플릿중에서 maven-archetype-webapp을 선택합니다. 4. Maven 기본정보를 입력합니다.자신에게 맞는 정보를 입력하면 됩니다. 보통 Group Id는 도메인을 사용하고, Artifact Id는 프로젝트명을 사용합니다...

프로그래밍/스프링프레임워크 | 2019. 3. 6. 00:30

이클립스가 자꾸 멈춘다. AppXray와 "populate auto detected configs"

AppXray 검사 와 "populate auto detected configs" 도중에 이클립스가 멈춰 버리는 현상이 자주 발생합니다. 이 기능을 사용하지 않도록 설정하는 방법을 알아봅니다. 1. 이클립스가 AppXray 검사에서 자꾸 멈춰버립니다. AppXray는 OEPE(Oracle Enterprise Pack for Eclipse)에서 제공하는 웹 애플리케이션에서 jsp 파일, java 소스, 리소스번들 파일, 웹 설정 파일들을 분석하는 기술입니다. 이러한 분석 정보를 이용해서 웹 애플리케이션의 많은 레이어들에 걸쳐 파일들의 Validation, 일관성 검증 기능을 제공합니다. AppXray를 사용하지 않도록 설정하는 방법입니다. - Windows -> Preferences 창을 엽니다.- Ora..

프로그래밍/개발도구, 프로그램 | 2019. 2. 28. 23:41

엑셀 오늘날짜 가져오기 TODAY() 함수

엑셀에서 TODAY() 함수를 사용하여 오늘 날짜를 가져올 수 있습니다. TODAY() 함수가 반환하는 값은 엑셀에서 날짜를 계산 하는데 사용되는 일련번호로 1900년 1월 1일이 일련번호 1이 되고, 매일 1씩 증가하는 값입니다. 이 값을 가진셀이 날짜서식이 되면 날짜 형식으로 표시됩니다. 사용법은 엑셀의 수식입력방법인 = 로 시작하는 식을 작성하면 됩니다. 1. 오늘날짜 가져오기 =TODAY() 결과)2019-02-26 2. 날짜를 더하거나 뺄 수 있습니다. =TODAY() + 5 결과)2019-03-3 3. 년도만 가져오기 =YEAR(TODAY()) 4. 월 만 가져오기 =MONTH(TODAY()) 5. 일자 만 가져오기 =DAY(TODAY()) 6. 문자열로 주어진 특정 날짜와의 차이 일수 구하기..

프로그래밍/개발도구, 프로그램 | 2019. 2. 26. 23:01

Jsoup을 사용한 화이트 리스트 방식의 XSS(Cross-Site Script)공격 방어

웹 페이지에서 CKEditor 와 같은 HTML에디터를 이용해서 데이터를 입력받아 보여줄때 고려해야 할것으로 XSS(Cross-Site Script)공격이 있습니다. 글을 작성하는 사용자가 HTML을 사용할 수 있도록 허용하게 되면 자바스크립트도 사용할 수 있게 되므로 XSS공격을 쉽게 할 수 있는 환경이 됩니다. HTML코드에서 자바스크립트를 실행할 수 있는 방법은 수도 없이 많으므로 "+ ""; String safeDoc = Jsoup.clean(htmlDoc, Whitelist.basic()); System.out.println(safeDoc); 결과)TEST 화이트 리스트의 basic() 메소드에서는 다음 태그와 속성을 허용합니다. public static Whitelist basic() { re..

프로그래밍/자바 | 2019. 2. 26. 00:17

CKEditor 이미지 업로드시 JSON 응답, jQuery UI Dialog와 같이 사용시 콤보박스 안열리는 현상 해결

이전글 "CKEditor 4 설치와 PHP 연동 하기"에서 CKEditor의 사용법을 알아 보았습니다. CKEditor에서 이미지 업로드 후에 에디터에 이미지를 표시하기 위해서 반환되는 값은 다음과 같은 자바스크립트 입니다. 최근 새 버전을 설치하고 테스트해본 결과 이 반환값이 JSON 값으로 변경된것 같습니다. 1. 이미지 업로드 성공시 반환값 { "uploaded": 1, "fileName": "foo.jpg", "url": "/files/foo.jpg"} - uploaded : 1 로 설정합니다.- fileName : 업로드 된 파일의 이름입니다.- url : 업로드 된 파일의 URL (URL 인코딩 됨)입니다. 이 값을 이용해서 에디터 내부에 업로드된 이미지를 표시합니다. 2. 업로드 성공하였지만..

프로그래밍/자바스크립트 | 2019. 1. 23. 00:46

Java에서 JSON 문자열 생성 및 JSON 문자열을 자바 객체로 변환하기

스프링 프레임웍을 사용하면 클라이언트와 JSON 형식의 데이터를 주고 받을 때, Java 객체를 JSON 문자열로 변환하거나, JSON 문자열을 Java 객체로 변환하는 작업은 보통 자동으로 처리되므로 신경쓸 일이 없습니다. 가끔은 이러한 변환 작업을 직접 해야 할 경우가 있습니다. 직접 하는 방법을 알아 봅니다. 1. Jackson 라이브러리를 사용하는 방법 Jackson 라이브러리는 JSON 뿐만 아니라 XML도 변환 해주는 많이 사용되고 있는 라이브러리 입니다. 다음 의존성을 추가해서 사용할 수 있습니다. com.fasterxml.jackson.core jackson-databind 2.8.8 jackson-databind가 jackson-core와 jackson-annotations에 대한 의존성..

프로그래밍/자바 | 2019. 1. 18. 00:30

엑셀 드롭다운 리스트에서 선택해서 값 입력하기(데이터 유효성 검사, 이름 지정)

엑셀의 셀에 값을 입력할때 오류를 방지하기 위해서 지정된 값들 중에서 선택해서 입력할 수 있도록 드롭다운 리스트를 제공하는 방법을 알아 봅니다. 드롭다운 리스트를 만들 셀을 선택한 다음 "데이터 도구 그룹"에서 "데이터 유효성 검사"를 선택합니다. 데이터 유효성 창에서 다음과 같이 입력합니다. - 제한대상 : 목록을 선택합니다.- 공백무시 : 체크하면 공백을 입력할 수 있습니다.- 드롭다운 표시 : 드롭다운 리스트를 만들기 위해서 체크합니다.- 원본 : 선택할 수 있는 데이터를 콤마로 분리해서 입력합니다. 선택된 셀에 데이터를 선택할 수 있도록 드롭다운 리스트가 만들어 졌습니다. 데이터 원본을 콤마로 분리해서 입력하는 것이 아니라 시트내의 일부 데이터를 지정해서 만들수도 있습니다. 이럴 경우 지정된 영역..

프로그래밍/개발도구, 프로그램 | 2019. 1. 16. 01:22

이클립스 Java, JSP, HTML 소스에서 공백 제거하기

1. Java 소스에서 라인 뒤에 붙는 공백 제거하기 - 메뉴에서 "Window -> Preferences" 를 선택합니다.- "Java -> Editor -> Save Actions" 를 선택합니다.- "Perform the selected actions on save" 를 체크합니다.- "Additional actions" 를 체크합니다.- "Configure..." 를 클릭합니다. - "Remove trailing whitespace" 를 체크합니다. 소스를 수정후 저장할때 공백이 제거 됩니다. 2. JSP, HTML 빈라인 제거하기 - CTRL + F 키를 눌러 "Find/Replace" 창을 엽니다.- 정규식을 사용하므로 "Regular expressions" 를 체크합니다.- Find: 에 ^..

프로그래밍/개발도구, 프로그램 | 2019. 1. 15. 01:12

Java에서 HashMap 복사하기 와 모든 키, 값을 리스트 하기

Java에서 HashMap을 복사하는 방법을 알아봅니다. 다음 원본을 복사해 봅니다.HashMap origMap = new HashMap();origMap.put("TITLE", "제목");origMap.put("CONTENT", "내용");origMap.put("WRITER", "홍길동");System.out.println(origMap.toString()); 1. 생성자를 이용해 복사합니다.HashMap copyMap = new HashMap(origMap);System.out.println(copyMap.toString()); 2. clone() 을 이용해서 복사합니다.HashMap cloneMap = (HashMap)origMap.clone();System.out.println(cloneMap.t..

프로그래밍/자바 | 2019. 1. 15. 00:41

이클립스 패키지를 폴더 형식으로 보기

이클립스에서 기본적으로 패키지 보기 형식은 파일을 포함한 패키지 명 전체가 폴더 처럼 보이는 것입니다. 패키지가 많아질수록 점점 파일 찾기가 어려워지는 단점이 있습니다. 패키지 보기 형식을 패키지 단계를 폴더 처럼 보여지도록 뷰를 지정할 수 있습니다. 좌측 프로젝트 트리쪽의 "View Menu" 버튼(아래쪽을 가리키는 삼각형 모양의 아이콘) 을 누르거나 CTRL + F10 키를 눌러 메뉴를 엽니다. "Package Presentation -> Hierarchical" 을 선택합니다. 패키지 표시형식이 계층형으로 변경되었습니다.

프로그래밍/개발도구, 프로그램 | 2019. 1. 15. 00:09