IT 전용글/JAVA 9

[보안] log4j 보안 취약점 발견 및 조치방안

[추가사항] 주요 내용 o Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2] * 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티 □ 영향을 받는 버전 o 2.0-beta9 ~ 2.14.1 모든버전 □ 해결방안[1] o 2.0-beta9 ~ 2.10.0 - JndLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class o 2.10 ~ 2.14.1 - log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정 o 제조사 홈페이지를 통해 최신..

IT 전용글/JAVA 2021.12.15

[JAVA] JAVA 의 List 를 JSON 으로 변환하는 방법(JSON-LIB)

1. 밑의 라이브러리를 설치해야한다. jakarta commons-lang 2.3 jakarta commons-beanutils 1.7.0 jakarta commons-collections 3.2 jakarta commons-logging 1.1 ezmorph 1.0.4 - 파일첨부 코딩 을 해보면 TestBean bean1 = new TestBean(); bean1.setId("1"); bean1.setText("test"); TestBean bean2 = new TestBean(); bean2.setId("1"); bean2.setText("test"); List testBeanList = new ArrayList(); testBeanList.add(bean1); testBeanList.add(bea..

IT 전용글/JAVA 2014.12.26

[ Java ] FileInputStream / FileOutputStream

[ Java ] FileInputStream / FileOutputStream 이번에는 File입출력 스트림인 FileInputStream / FileOutputStream의 복습! 사실 파일을 복사하려는 게 아니라면, FileInputStream / FileOutputStream을 쓸 일이 얼마나 있을까 싶기도 한데...(예제에서는 복사하는 것 밖에 안 나와 있으니 또다른 활용이 있을지 모르겠군요.) 저는 DataInputStream / DataOutputStream이 쓸만해보이는데 중간에 FileInputStream / FileOutputStream을 거쳐야 해서 이왕에 같이 공부하자는 의미에서... /* DataInput/OutputStream Java Programming/박용우 → http://..

IT 전용글/JAVA 2009.01.20

iBatis FrameWork 에 대한 개념 , 사용이유 , 사용방법

iBatis, Hibernate같은 프레임워크를 OR Maping프레임워크라고 합니다. ORM(Object Relational Mapping) 이라고 하는데 DB와 객체와의 관계를 맵핑시켜 퍼시스턴스 로직처리를 도와주는 프레임워크입니다. 말그대로 데이타 베이스의 테이블과 자바 객체를 맵핑(xml같은 파일에 맵핑정보를 기술)하여 데이타 베이스에 CRUD(생성,조회,수정,삭제)작업을 도와주는 역할을 합니다. 자바로 데이타 베이스에 접근하려면 JDBC를 이용해 쿼리문을 모두 입력해야 합니다. 예를 들어 insert하기위해 dao에서 쿼리문을 모두 세팅해 excute시켜야 합니다. Hibernate에서는 XXXX.save(dataTO) 이렇게 save라는 메소드를 이용하면 맵핑정보를 읽어 dataTO에 담겨있는..

IT 전용글/JAVA 2009.01.07

[이클립스][스트럿츠2 설치] 끝.

스트럿츠 다운 http://struts.apache.org/download.cgi#struts20112 에서 Full Distribution 선택 다운 받은 스트럿츠 압축파일을 풀면 lib 폴더에 jar 파일이 30개 이상 있다 그중 파일명에 -plugin- 붙은 것들과 파일명 앞에 tiles 파일이 붙은 것들을 제외하고 아래그림의 WEB-INF/lib 폴더에 복사한다. 본인의 경우는 D:\Source\struts2\WebContent\WEB-INF\lib 이다 워크스페이스\struts2\WebContent\WEB-INF\lib 그리고 첨부된 두개의 파일을 압축을 풀면 각각 jar 파일이 3개씩 존재한다. 각각의 jar파일들도 위의 빨간 경로에 복사한다. 이로서 jar파일 이동은 모두 완료 해당 프로젝트..

IT 전용글/JAVA 2009.01.07

response.setContentType("text/html;charset=euc-kr") 이 정상실행 안될때?

response.setContentType("text/xml; charset=UTF-8"); 위와 같이 한글 유니코드셋팅을 해줬는데도 불구하고 계속 물음표로만 나온다.. 그래서 별별짓거리 다해봤다...다 안된다... 처음 값을 받을때 request.setCharacterEncoding("UTF-8"); 이걸로는 제대로 셋팅이 된것을 System.out.println("getCharacterEncoding()==>>"+request.getCharacterEncoding()); getCharacterEncoding()==>>UTF-8 확인 해주고.. 다시 내보내줄때 System.out.println("getCharacterEncoding()==>>"+response.getCharacterEncoding())..

IT 전용글/JAVA 2008.12.28

[JAVA] GregorianCalendar 를 이용한 시간차 구하기

시간 간격을 구하는 알고리즘을 짜기란 무척 힘들 것이다. 하지만 GregorianCalendar 를 이용해... 시작 시간과 끝 시간 사이의 간격을 쉽게 구할 수 있다. public static void main(String[] args) { GregorianCalendar calendar = new GregorianCalendar(); // 시작시간. calendar.set(2008, 11, 01, 14, 35); long startDate = calendar.getTimeInMillis(); // 종료시간. calendar.set(2008, 11, 02, 14, 35); long endDate = calendar.getTimeInMillis(); long millis = endDate - startD..

IT 전용글/JAVA 2008.12.20