728x90

JAVA/코딩 11

[JAVA] List Set 비교

1. List List는 원소들의 순서를 저장하기 때문에 index로 특정 원소에 접근할 수 있으며, 중복이 허용됨. [장점] - 순서가 보장되어, 특정 위치의 원소 접근에 용이 [단점] - 탐색할 데이터가 뒤쪽에 위치할 경우, 성능의 문제 List nameArray = new ArrayList(); nameArray.add("철수"); nameArray.add("영희"); nameArray.add("철수"); nameArray.add("짱구"); System.out.println("nameArray.get(0) : "+nameArray.get(0)); System.out.println("nameArray.get(2) : "+nameArray.get(2)); 결과 nameArray.get(0) : 철수 ..

JAVA/코딩 2022.07.25

[JAVA] HttpURLConnection 사용하기

URL url; HttpURLConnection conn = null; BufferedReader reader = null; try { url = new URL("url 입력"); // 호출할 url 입력 conn = (HttpURLConnection) url.openConnection(); // 커넥션 오픈 if (conn != null) { // GET, POST 등 conn.setRequestMethod("POST"); // application/x-www-form-urlencoded, application/json 등 conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 응답받을 데이터가 있는 경우 true..

JAVA/코딩 2021.08.27

[JAVA] StringUtils의 isBlank와 isEmpty 차이

자바에서 문자열 체크시 Apache common에서 제공해주는 StringUtils 클래스를 많이 사용하는데, 여기서 isBlank와 isEmpty의 차이점을 알아보려고 한다 isBlank와 isEmpty의 차이점은 공백처리다. 공백이 있는경우 isBlank는 비어있는 값으로 처리하는 반면 isEmpty는 비어있지 않은 값으로 처리한다. - StringUtils.isBlank() // isBlank 확인 System.out.println(StringUtils.isBlank("")); System.out.println(StringUtils.isBlank(null)); System.out.println(StringUtils.isBlank(" ")); 결과값 - StringUtils.isEmpty() // i..

JAVA/코딩 2021.04.01

[JAVA] Base64 인코딩시 개행문자 들어가는 현상

org.apache.commons.codec.binary.Base64 클래스의 encodeBase64String() 메서드를 이용하여 인코딩을 하는경우 특정 길이가 넘어가면 "+" 개행문자가 붙게 된다. 이를 해결하기 위해 여러가지 방법이 있겠지만 두가지 방법을 통해 해결했다. 1. + 문자 %2B로 치환 String str = "http://localhost:8080/test.do?param=apple+banana"; str = StringUtils.replace(str, "+", "%2B"); // 받는 입장에서는 반대로 치환을 해줘야한다 // StringUtils.replace(str, "%2B", "+"); System.out.println(str); - 결과값 : http://localhost:..

JAVA/코딩 2021.03.30

[JAVA] mkdir mkdirs 차이

java.io.File의 mkdir, mkdirs 차이점을 알아보자. mkdir은 상위 디렉터리가 없는 경우 생성하지 못하지만 mkdirs는 상위 디렉터리가 없으면 생성한다. 예를 들어 디렉터리가 없는 상황에서 /test/123을 File 생성자에 입력하고, mkdir를 이용하면 상위 디렉터리(test)가 있기때문에 생성하지 못한다. 하지만 mkdirs를 이용하는 경우 상위 디렉터리(test)와 하위 디렉터리(123) 모두 생성된다. ex) File file = new File("D:\\테스트\\1\\2\\3"); if(file.mkdir()){ System.out.println("디렉터리 생성 성공"); } else{ System.out.println("디렉터리 생성 실패"); } 결과값 : 디렉터리 ..

JAVA/코딩 2021.03.23

[JAVA] 날짜 계산하기(더하기, 빼기 등)

자바에서 java.util의 Calendar와 Date를 이용하여 날짜 계산하는 법을 알아보자 1. 현재 시간에 날짜 더하기, 빼기 Calendar cal1 = Calendar.getInstance(); cal1.add(Calendar.DATE, 6); // 일 계산 cal1.add(Calendar.MONTH, 4); // 월 연산 cal1.add(Calendar.DATE, -3); // 빼고 싶다면 음수 입력 Date date = new Date(cal1.getTimeInMillis()); System.out.println("현재시간 : " + new Date()); System.out.println("연산시간 : " + date); 결과 2. 특정 시간에 연산 String date_str = "202..

JAVA/코딩 2021.03.22

Spring @PostMapping @GetMapping @PatchMapping @PutMapping @DeleteMapping

Spring 4.3 버전 이후로 MVC 컨트롤러 메서드를 위한 어노테이션이 추가되었습니다. @PostMapping @GetMapping @PatchMapping @PutMapping @DeleteMapping 기존에 아래와 같이 어노테이션을 선언하는 방법과 달리 @RequestMapping(value="/test.do", method=RequestMethod.POST) public void test(){} 다음과 같이 간편하게 사용할 수 있습니다. @PostMapping("/test.do") public void test(){} 참고 : github.com/spring-projects/spring-framework/issues/18022#issue-398183908

JAVA/코딩 2021.02.25

[JAVA]try catch(예외처리) 사용하기

1. 예외란 ? 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 Exception 종류 발생 원인 ArithmeticException 정수를 0으로 나눌경우 발생 ArrayIndexOutOfBoundsExcetion 배열의 범위를 벗어난 index를 접근할 시 발생 ClassCastExcetion 변환할 수 없는 타입으로 객체를 반환 시 발생 NullPointException 존재하지 않는 레퍼런스를 참조할때 발생 IllegalArgumentException 잘못된 인자를 전달 할 때 발생 IOException 입출력 동작 실패 또는 인터럽트 시 발생 OutOfMemoryException 메모리가 부족한 경우 발생 NumberFormatException 문자열이 나..

JAVA/코딩 2021.02.18

Tiles 란?

웹 페이지 상단, 하단, 메뉴와 같은 반복적으로 사용되는 부분들에 대한 정보를 모아 둔 프레임워크. 레이아웃을 위한 단순하면서 편리한 기능 제공 배우기 쉽고, 이용하기 쉬움. 공통된 레이아웃을 유지하므로 수정이 용이. ※ JSP include와의 차이 ? JSP include는 페이지 내에 동일한 레이아웃 정보가 들어가 있어 전체적인 레이아웃을 변경할 경우 모든 페이지를 수정해야 함. ex) 50개의 페이지에 상단 메뉴가 include 되어있을 경우, 페이지 명이 바뀌면 50개 파일을 전부 수정해야 함. Tiles는 설정파일만 변경해주면 됨. Tiles 구성 1. Template 1) 페이지 레이아웃을 의미 2) 페이지의 기본 골격을 구성 3) 다른 템플릿을 이용하여 계층화 가능 2. Attribute ..

JAVA/코딩 2021.02.18
728x90