ideasound

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

#java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 Environment OS : Windows Server 2012 R2 WAS : Apache Tomcat 7 Request URL : http://www.xxx.com/param=가 해결 String param = “가”; URLEncoder.encoding(param, “UTF-8”); 으로 처리

Oracle JDBC 문제?

Oracle JDBC 문제? 상황은 이렇다. 어플리케이션에서 A 계정의 A 테이블의 컬럼 정보를 가지고 쿼리를 만들어내는데, 자꾸 B 계정의 컬럼과 A 계정의 A 테이블의 컬럼(테이블명 동일)을 합집합해서 가져오는 것이다. 그래서 만든 쿼리를 가지고 DB에 업데이트를 치니 특정컬럼이 없다고 나오는 상황…. 이클립스 상의 프로젝트 문제인지, Tomcat 문제인지, JDBC 문제인지, 오라클 문제인지…모르겠어서 다해봤다. 프로젝트를 새로 만들어보기도 하고 Eclipse Continue reading Oracle JDBC 문제?

Apache POI, jakarta poi…..

Apache POI, jakarta poi… Apache POI를 사용해서 xls 파일을 읽어들이는데 java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.hasPOIFSHeader(Ljava/io/InputStream;) 이놈의 에러가 계속 뜬다. 도대체뭘까….분명히 Apache poi에는 위 클래스가 해당 위치에 잘 존재하고, 메소드 또한 떡하니 잘 들어있었다. 디버깅을 하기로 하고 도대체 어떤놈을 부르려고 하는지 봤더니… Build path에 jakarta-poi라는 놈이 있었고. 패키지명, 클래스명 모두 동일한놈을 부르고 있었는데, 거긴 hasPOIFSHeader()가 없었다.. 매우 짜증난 상태에서 Continue reading Apache POI, jakarta poi…..

AJAX type(method)실수.

AJAX type(method)실수. AJAX 를 post로 통신하려고 $.ajax({    url: ”,    method: ‘post’    //…. )}; 로 했는데. 자꾸 통신을 못하고 200에러만 뿜어댄다. 디버깅해보니 아예 서블릿에서 doGET()에서 요청을 잡는 것이다. method 대신 type으로 바꾸니까 해결됐다. 구글링 해보니 1.9 버전 이하에서는 type을 사용한다고 나온다.  

DSpace 5.x Solr 검색 가중치

DSpace 5.x Solr 검색 가중치 특정 검색어로 검색 시 검색 결과가 Title이 아닌 초록, 키워드 등에 들어간 결과 값이 화면에 노출되다 보니 이용자 입장에서 검색결과가 이상하다는 요청이 왔다. DSpace는 검색엔진으로 Apache Solr 를 사용하고 있는데 이를 수정할 필요가 생겼다. 그런데 난 Solr는 아는게 거의 없어서(그냥 없다고봐도 무방) 도움이 필요했다. 일단 발생한 문제에 대해서는 가중치에 대한 것이라고 Continue reading DSpace 5.x Solr 검색 가중치

JAVA Cookie

간만에 쿠키를 쓸일이 생겨서 쓰다가 쿠키삭제에서 삽을 많이 펐다. 쿠키 생성 시 아래처럼 path를 지정해주면, cookie.setPath(“/path”); 삭제시에도 path를 동일하게 지정해주어야 삭제가 된다. 아무리 같은 이름의 쿠키를 찾아서 maxAge를 0으로 세팅해도 삭제가 안된다.ㅠㅠ 생성 시. Cookie cookie = new Cookie(COOKIE_NAME, “value”); cookie.setMaxAge(60*60*24*30); cookie.setPath(“/path”); response.addCookie(cookie); 삭제 시. Cookie[] cookies = request.getCookies(); if(cookies != null) { for(Cookie cookie Continue reading JAVA Cookie

갑자기 사이트가 미친듯이 느려졌다.

서버 용량도 확인했고 톰캣도 재시작했는데 여전히 느렸다. 아파치 웹서버에서 문제가 있었던 것 같다. 재시작하니까 잘됐다.(참고로 mod_jk를 사용중) 파일을 css/js 등 정적파일을 넘기는데 문제가 있었던것 같다. 로그를 보니 jk_handler:mod_jk.c(2781): Aborting connection for worker=tomcat1 ajp_process_callback::jk_ajp_common.c (1944): Writing to client aobrted or client network problems 가 마구 찍혀있었다.

[DSpace 5.x]OAI-PMH indexes metadata of non-public Items

해당 글은 읽기 권한이 제한된 Item이 OAI-PMH 상으로 노출되는 버그에 대한 내용이다. 5.0 버전 으로 업그레이드 되면서 픽스되었다. https://jira.duraspace.org/browse/DS-1856 의 내용을 한글로 옮겨본다.(이해를 돕기 위해 일부 의역, 첨언한다.) 버그를 재현하는 방법 : 1) DEFAULT_READ 권한이 익명 그룹에게(또는 어떤 그룹에만 권한이 주어진) 제한된 컬렉션을 만든다. 2) 그 컬렉션에 ITEM을 제출한다. 3) “$ ./dspace oai import”를 실행한다. Continue reading [DSpace 5.x]OAI-PMH indexes metadata of non-public Items

NodeJS, Gulp, Mocha, Bower 설치.

내일 Angular JS, Node JS를 이용한 웹서비스 개발하기 교육을 들으러 간다. 모임 전 몇가지 설치해오라는 메일이 있어서 정말 간단하게 내용없이 설치과정을 남겨두려고 한다. 설치해야 되는 목록. * Node.js – 클라이언트 사이드 언어인 자바스크립트를 사용해 서버를 개발할 수 있도록 해주는 플랫폼. * Gulp – 개발, 배포, 테스팅 도구(프론트엔드 Task 관리도구 라고 한다.) * Mocha – Node.js Continue reading NodeJS, Gulp, Mocha, Bower 설치.

SOP(Same-origin Policy)

A 도메인에서 B 도메인으로 AJAX 호출 시 오류가 발생한다. 이는 JAVASCRIPT 의 보안 정책 때문이라고 한다. 위 정책의 이름은 SOP(Same-origin Policy). 다른 도메인에 대해 허가를 하는 경우 Servlet(또는 컨트롤러)에 아래와 같은 코드를 추가한다. response.setHeader(“Access-Control-Allow-Origin”, “A 도메인”); response.setHeader(“Access-Control-Allow-Headers”, “X-Requested-With”); A 도메인에 대해 허가 하겠다는 의미! 아직 테스트는 안해봤다.