개발/JAVA 20

텍스트 파일 읽어오기 - (JAVA)

텍스트 파일에 아래와 같은 내용이 들어있다.코드명과 값이 세미콜론으로 구분되어있는 상황. code.txt CODE001;firstCODE002;secondCODE003;third 이 파일을 읽어오고 출력해볼 것이다. 1) 텍스트 파일 저장 파일 저장 위치는 src/main/resources 밑에 저장한다. 나는 src/main/resources/test/code.txt위의 경로에 저장했다. 2) 파일 읽어오기 인풋스트림으로 파일을 읽어와서 세미콜론(;)으로 잘라서 출력한다. public void readFile() throws IOException { InputStream is = getClass().getClassLoader().getResourceAsStream("test/code.txt"); Buf..

개발/JAVA 2014.01.11

C++ 의 virtual 함수. 가상화. JAVA랑 C++의 차이점

가상화에 대해서 검색해보다가 사소하게 생각하며 지나친 부분에대해 새로이 알게됐다.C++에 있는 virtual 키워드의 용도, 그리고 JAVA와의 차이점을 알게 되었다. 1. C++에서의 상속 class Parent { public : Parent(){}; ~Parent() {}; void foo() { std::cout > parent!!! Parent* p = new Child(); 이 것을 통해 불려진 foo함수에서, child의 foo가 아닌 parent의 foo가 호출되는 것을 볼 수 있다.이유는, 컴파일러가 포인터의 타입을 보고 타입에 맞는 메소드를 찾아주기 때문이다. 그러나, 부모의 foo 메소드 앞에 virtual 이라는 키워드를 붙인다면???부모가 아닌 child의 foo 메소드가 호출된다..

개발/JAVA 2013.07.26

listener를 사용한 servlet 객체 공유하는 법

초기화 파라미터로 쓸 수 있는것은 String 밖에 없기 때문에, 객체를 초기화 파라미터로 사용하기 위해서는 Listener를 써야한다. 여러 서블릿간에 특정 객체를 공유할 때 다음과 같이한다. (서블릿마다 객체를 각각 생성하지 않는) 1. web.xml 에서 Servlet과 Listener 설정 First FirstServlet Second SecondServlet ContextListener 2. 리스너 (ContextListener.java) 웹 어플리케이션이 생성될 때 발생하는 이벤트를 처리하는 리스너 : ServletContextListener public class ContextListener implements ServletContextListener { public void contextI..

개발/JAVA 2013.06.11

Java HttpClient 호출시 파라미터 있을 경우

HttpClient는 브라우저가 어떤 URL에 요청하면 서버를 통해 웹페이지를 뿌려주듯이 내가 브라우저의 역할을 하고, URL을 보내면 서버가 나를 브라우저라 생각하고 결과를 날려준다. 예제는 인터넷에 많이 있으니 파라미터가 있을 경우의 요점만 정리하겠음 일단 GET인지 POST인지 method 종류를 알려주어야한다. 1. GET 일 경우 String url = "http://marobiana.tistory.com"; HttpClient client = new HttpClient(); GetMethod method = new GetMethod(url); client.executeMethod(method); 만약 id=marobiana, password=1234 라는 파라미터를 더 붙여야할 경우, meth..

개발/JAVA 2013.04.09

톰캣 실행시 OutOfMemory : permgen space, 톰캣 안켜짐

2주 전쯤, 급하게 개발할것이 있었는데 ㅠㅠ (급할 때마다 꼭 이클립스는 말을 안듣지...)로컬에서 톰캣 실행하는데 mapper 로그까지 뜨다가 중간에 멈추더니 안켜짐.. 분명 잘되는 A프로젝트에선 켜져서 잘 했었는데, 다른 프로젝트(B,C)에서 안켜지기 시작.잘되던 A프로젝트 톰캣을 켜보니 여기도 안켜지기 시작... 이것은 메모리 문제일 것이라는 촉이 왔음. 기존에 잘 되고있었기 때문에, 굳이 eclipse.ini 파일의 메모리 설정을 바꾸고 싶지는 않았다. 톰캣을 delete 하고 B,C 프로젝트를 다시 새로 세팅해서 해봤음.그래도 똑같음. 퇴근하라는 계시인듯해서 그냥 집에 감. 다음날 아침, mapper 로그까지 뜨더니 멈춘 뒤로, 20분동안 그냥 냅둬봤음.전날 저녁엔 별짓을 해도 안되더니 아침에 ..

개발/JAVA 2013.03.07

도메인 객체에 Serializable 을 implements 하는 이유

내가 왕신입때 물어봤었던 질문이다.(지금도 쪼렙이지만...)왜 도메인객체에(혹은 DTO?) Serializable을 implements 하는지. public class User implements Serializable { private String name; private int age; private String info; // ... getter, setter} 사용하는 이유는 remote 서버에 전송을 할 때 사용한다. 클래스에 있는 필드 정보를 직렬화하여, 사용할 수 있게 하는 것이다.(직렬화 할 때 메소드는 포함하지 않는다고 한다.즉, 필드들만 직렬화 한다.) implements는 했지만 별다른 메소드를 구현할 필요는 없다. 실제 사용하는 예 중에는 memcached를 쓸 때였다.도메인 객체에..

개발/JAVA 2013.02.07

밀리세컨드 시분초로 변환하기, 소수점 밑에 버림

* 밀리세컨드 시분초로 변환하기 시 hours = (millis/(1000*60*60)) % 24 분 minutes = (millis/(1000*60)) % 60 초 seconds = (millis/1000) % 60 * 소수점 밑에 다 버리기 ${소수 - (소수 % 1)} * JSTL로 소수점 버림한 시분초 구하기 위에 두개를 응용해서 구할 것이다 ....${((millis/1000) % 60) - ((millis/1000) % 60) % 1} seconds에 밀리세컨드를 초로 변환한 것을 저장. 만약 53초라면, seconds에 53.0 형식으로 들어있다. .0을 날려버리기 위해, fmt:formatNumber를 사용한다.(어차피 set부분에서 소수점 밑에를 버림 해줬기때문에 의미없는 .0을 제거하는..

개발/JAVA 2012.12.18

String to Date. 스트링을 Date 타입으로 변환

XML API에서 날짜가 넘어왔는데 String으로 받고 보니까 이렇게 생겼다. "Thu Jan 19 10:00:00 KST 2012" 내 목적은 2012.01.19 형식으로 변환하는것. 일단 DATE로 변환시키고 2012.01.19 형태로 스트링으로 저장할 것임. DateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH); SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd", Locale.KOREA); String beforeDate = "Thu Jan 19 10:00:00 KST 2012"; Date date = dateFormat.parse(bef..

개발/JAVA 2012.09.25

XStream으로 XML , Object 변환하기

XML을 파싱할 일이 생겼다. 뭐를 쓸까 하다가 튜토리얼이 간단해보이는 XStream 선택.용도에 맞게 써야된다고 하는데 .. 아무튼 ㅋㅋ JAR 를 라이브러리에 추가한 후 사용한다. 오브젝트를 XML로 생성.XML을 오브젝트로 생성. 하는 예제.. ㄱㄱ 출력하고 싶은 XML의 형태 1 사자 16 2 고양이 26 굵은글씨 부분은 (루트부터 ~ 맨 안쪽에있는 element 바로 윗단계)element마다 클래스를 각각 생성한다. 각각 생성된 클래스 안에는 바로 아래 자식 element 필드를 넣는다. 이것이 규칙이자 핵심임. - Object Root Element Object ()@Data // getter, setter public class PersonList { private List personLis..

개발/JAVA 2012.09.20

날짜 구하기

날짜는 계산해야될 때 마다 매번 또찾아보고 또찾아보고 귀차늠자주 갖다 쓰는것만 정리함 - 요다타임 조다타임 joda 타임 으로 오늘날짜 구하기 String date = new DateTime().toString(DateTimeFormat.forPattern("yyyyMMddHHmmss"); - Calendar로 오늘 날짜 구하기 요다타임은 내가 잘 못찾는건지.. 잘 모르겠고, 대부분 이게 많이 나와서 이게 익숙하다. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");Calendar c = Calendar.getInstance(); // 오늘날짜String date = sdf.format(calendar.getTime()); // sdf가 Str..

개발/JAVA 2012.08.09