본문 바로가기

프로그램/Java64

properties 파일을 읽어 들이고 저장하기 java.util.Properties 클래스를 사용하면 쉽게 키와 값으로 이루어진 properties 파일을 읽어들이고 작성할 수 있다. 1. properties 파일 작성 Properties prop = new Properties(); prop.setProperty(“SERVER_IP”, “127.0.0.1″); prop.setProperty(“SERVER_PORT”, “5000″); try{ OutputStream stream = new FileOutputStream(“파일명”); prop.store(stream, “Server Info”); stream.close(); } catch(IOException ex){ ex.printStackTrace(); } 2. properties 파일 읽어들이기 P.. 2014. 2. 8.
Access restriction: The type Resource is not accessible due to restriction on required library jdk 1.5 를 사용해서 스프링의 애노테이션을 사용하다가 jdk 1.6을 사용하면서 에러가 발생했다. import javax.annotation.Resource; 위 부분이 1.6에서는 “Access restriction: The type Resource is not accessible due to restriction on required library” 에러가 발생한다. 이 에러를 제거하는 방법은 다음과 같다. Window>Preferences>Java>Compiler>Errors/Warnings 을 선택한 후에, 우측 “Deprecated and restricted API 를 선택해서 열린 하위메뉴에서 “Forbidden reference(access rules) 를 “Error” 에서 “Warn.. 2014. 2. 7.
equals()메소드 사용시 NullPointerException 이 발생하는 경우 인수로 전달된 문자열을 equals()메소드를 이용해서 비교하는 경우에 다음과 같은 코드는 NullPointerException 을 유발할 수 있다. … public boolean chkValue(String tmp){ if(tmp.equals(“값”)){ return true; }else{ return false; } } … 위와 같은 코드는 함수를 호출할때, 전달된 값이 null인 경우 NullPointerException이 발생하게 된다. 붉은색 부분의 코드를 다음과 같이 바구면 null 값이 전달된다 해도 NullPointerException이 발생할 염려가 없다. if(“값”.equals(tmp)){ 2014. 2. 4.
String 클래스를 사용해야 하는 시점은? String객체를 생성하는 방식은 new 연산자를 이용하는 방법과 문자열 상수 방법이 있다. 후자를 이용하는 방법은 런타임 시에 처리되는 것이 아니라 컴파일 시에 처리된다. 따라서, 단순 문자열을 결합하는 경우는 StringBuffer 보다 String을 이용하는 것이 더 나을 수 있다. … String sql = “SELECT * FROM TEST ” + ” WHERE NUM = 1″; … 위와 같이 컴파일러가 예측할 수 있는 문자열 결합은 컴파일 후에 하나의 문자열로 생성이 되기 때문에 StringBuffer를 사용하는 것 보다는 String을 이용하는 것이 메모리 관리측면에서 더 나을 수 있다. 변수가 포함된 문자열 결합은 String 을 사용한다해도 컴파일 시에 StringBuffer를 이용한 형.. 2014. 2. 3.
request.getContextPath request.getContextPath() 는 프로젝트의 패스(path)를 반환한다. http://localhost:8080/TMS/board/list.jsp 의 경우, request.getContextPath() 를 수행하면 “/TMS” 를 반환한다. * request.getRequestURI() 는 파일명까지 포함한 경로명을 반환한다. http://localhost:8080/TMS/board/list.jsp 의 경우 “/TMS/board/list.jsp” 를 반환한다. 2014. 2. 2.
request.getRequestDispatcher(); getRequestDispatcher()가 실행되는 순간 지정된 페이지를 읽어들여서 리다이렉트 시킨다. 서버단에서 모든 작업이 이루어진다. getRequestDispatcher() 이후 코드는 실행되지 않고 무시된다. request, response 를 리다이렉트 시키는 페이지에 전달해서 사용할 수 있다. Example request.getRequestDispatcher(“/test/test.jsp”).forward(request, response); 2014. 2. 1.
response.sendRedirect() 전송되는 페이지의 http 헤더에 redirect 정보를 담아서 보내면 브라우저가 헤더 정보를 분석해서 해당 URL로 리다이렉트 시킨다. 코드 상에서 sendRedirect() 를 사요한 경우, 그 이후에 나오는 코드에서는 헤더정보, 쿠키, 세션을 조작할 수 없다. Cannot create a session after the response has been committed 에러 발생 Example response.sendRedirect(“/test/test.jsp”); … 2014. 1. 31.