JSP/서블릿

java.util.zip.ZipException: invalid LOC header (bad signature)

java.util.zip.ZipException: invalid LOC header (bad signature) SEVERE: Unable to process Jar entry [com/coremedia/iso/boxes/MovieHeaderBox.class] from Jar [jar:file:/home/dspace/apache/apache-tomcat-7.0.42/webapps/ROOT/WEB-INF/lib/isoparser-1.0-RC-1.jar!/] for annotations Apache Tomcat 실행 시 이런 오류가 났다. 해당 jar 파일을 다시 받아서 올렸다.

톰캣 윈도우 심볼릭 링크 접근

톰캣 윈도우 심볼릭 링크 접근 이틀 날려먹었다. 상황은 이렇다. A서버에서 톰캣이 돌고, B서버에 있는 파일을 접근해야 한다.(방화벽은 서로 열려있음.) OS는 둘다 Windows Server 2008. B 서버의 폴더를 접근하기 위해서 B에서 해당 폴더를 공유하도록 만들었다. 권한은 읽기 권한만 부여. A 서버에 돌아와서 B 서버의 공유폴더를 가져오도록 네트워크 드라이버를 등록함. 그러고 어플리케이션을 돌렸는데 자꾸 FileNotFoundException을 뿜어댐. 경로를 Continue reading 톰캣 윈도우 심볼릭 링크 접근

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”); 으로 처리

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…..

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 가 마구 찍혀있었다.

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 도메인에 대해 허가 하겠다는 의미! 아직 테스트는 안해봤다.

Not an ISO 8859-1 character:

요청이 들어오면 결과값을 JSON으로 보내주어야 하는 API를 만들고 있다. ServletOutputStream os = response.getOutputStream(); os.print(json); 위와 같이 했으나, Not an ISO 8859-1 character: 정 이런 오류가 발생했다. response.setContentType(“text/plain; charset=UTF-8”); response.setCharacterEncoding(“UTF-8”); 을 추가해줘도 여전했다. response.setContentType(“text/plain; charset=UTF-8”); response.setCharacterEncoding(“UTF-8”); PrintWriter out = response.getWriter(); out.write(json); 로 수정했다.