본문 바로가기

Java

에러 콘트롤러를 만들어 로그를 찍어보자 web.xml에 다음 코드를 추가하면 간단히 에러 페이지로 이동할 수 있다. 404 /error/error.html 500 /error/error.html 그런데 나는 error.html을 컨트롤러로 구현하여 로그를 찍어보고 싶었다. 에러코드, URI, 에러 메시지등.가능해보여서 찾다가보니 쉽게 나오지 않는다. 일반적인 방식이 아닌모양이다. 순수 자바로 구현한 예제를 찾았다.그렇게 해서 구현한 것이 다음과 같다.Throwable throwable = (Throwable)req.getAttribute("javax.servlet.error.exception");Integer statusCode = (Integer)req.getAttribute("javax.servlet.error.status_code");S.. 더보기
Spring + Maven 프로젝트 만들기 간만에 새 프로젝트를 만들려고 하니 잘 생각이 안나는 것이.. 하는 김에 플로깅해본다. STS + MAVEN은 전에 남겼으니 이 두가지가 설치됬다는 가정하에 진행하겠다. 메뉴 [File] -> [New]에 보면 Spring Project가 있다. 선택하자. 보통은 바로 보이지만 안보일 경우에 [Other]를 선택하고 상단에 spring이라고 치면 관련 목차가 나온다. Next를 누르면 아래와 같은 화면이 나오는데 Spring MVC Project를 선택하면된다. 이제 페키지를 입력해야하는데 적어도 3단계는 넣어줘야 완료할 수 있다. 여기까지 하면 기본적인 HomeController가 생성된다. 더보기
hadoop - 하둡(Hadoop)이란 무엇인가? 원문: http://kwangshin.pe.kr/blog/2012/06/15/%ED%95%98%EB%91%A1hadoop%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/ 요즘 가장 이슈가 되는 프레임웍 중에 하나가 하둡(Hadoop)이 아닐까 싶다. 하둡이 무엇이고, 왜 탄생하게 되었는지 알아보도록 하자. 아무래도 이런 확실한 정보들을 얻기에는 공식 홈페이지가 가장 큰 도움이 된다. 여기에서 언급하는 대부분의 정보도 하둡 공식 홈페이지인 Apache™ Hadoop™에 있는 정보들을 기반으로 하고 있다.아차피 하둡( Apache™ Hadoop™)이란 무엇인가?아파치(Apache)에서 진행하고 있는 아파치 하둡 프로젝트는 안정적이이서 신뢰할 수 있고(rel.. 더보기
자바 7 보안 패치 자바 7에 심각한 보안 문제가 발견되 오라클에서 분기마다 업데이트를 발표하는걸 깨고 보안 패치를 발표했다.해커들이 이를 이용해 웹상에서 강제로 파일을 다운로드시켜서 감염시킬 수 있다. 그런데... 7을 사용하는 사람이 별로 없어 피해가 크진 않을 것같다. 하지만 맥OS까지 감염시킨다니 주의할 필요가 있다. 최신버젼은 또다른 버그를 불러올 수 있어 불안하지만 최신버젼을 사용해야 알려진 버그를 잡을 수 있다. 기사http://www.zdnet.co.kr/news/news_view.asp?artice_id=20120831091650 보안 패치 다운로드http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 더보기
dwr 오류 tomcat에서 아래의 오류로그가 나오고 있다. 허나.... 로컬에서는 에러가 없다. 삽질을 엄청나게 하며 찾고 있다.2012-08-01 12:03:26,706 ERROR [org.springframework.web.context.ContextLoader] - org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 11 in XML document from ServletContext resource [/WEB-INF/ajax-layer.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wi.. 더보기
자바 제로데이 취약점 공격 자바 제로데이 취약점 공격이 늘었다고 한다. jdk 버젼업을 반드시 해두자. 이미 패치된 버젼이면 업그레이드할 필요가 없겠다. 아래 표에서 확인. Java SEPatch Availability JDK and JRE 7 Update 4 and earlierJava SEJDK and JRE 6 Update 32 and earlierJava SEJDK and JRE 5.0 Update 35 and earlierJava SESDK and JRE 1.4.2_37 and earlierJava SEJavaFX 2.1 and earlierJavaFX 기사http://www.zdnet.co.kr/news/news_view.asp?artice_id=20120727092220 오라클 확인http://www.oracle.co.. 더보기
스프링 버젼 확인하기 스프링 버젼을 확인할 필요가 있어서 찾아보았다.System.out.println( org.springframework.core.SpringVersion.getVersion() ); 더보기
form으로 파일 전송 파일을 전송하기 위해선 다들 아시겠지만 form을 사용하면 된다. 화면//--- submit(); --- //다들 사용하는 방법이라 딱히 설명할게 없다. submit은 자바스크립트로 어디서든 가능하니 뺐다. 본인은 다른 곳에서 submit한다. 자바에서 처리하는 방법은 여러가지 있다. 방법 1.MultipartFile mf = (MultipartFile) ((MultipartHttpServletRequest) req).getFileMap().get("xml_file");InputStream is = mf.getInputStream();이건 문제가 좀 있다. xml_file에 데이터가 없으면 오류가 발생한다. 예외처리를 하면 되지만 왠지 부족해보인다. 하지만 가장 간단하다. 사용자가 딴짓을 할게 이유가 없.. 더보기
spring + freemarker 테스트를 위해 로컬에 환경을 구현해보았다. freemarker 라이브러리 다운 페이지http://freemarker.sourceforge.net/freemarkerdownload.html 1. web.xmlSample_Spring3.0 /html/test.html springorg.springframework.web.servlet.DispatcherServlet1spring*.free encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8 encodingFilter * 오랜만에 하니 헷갈리는 부분이 있었다. servlet에서 url-pattern을 *로 설정하는 실수를 했더니 모든게 서블릿으로 동작하고 view와 .. 더보기
ehcache 와 Serializable ehcache를 사용하다가 삽질을 조금했다. // 넣기cache.put(new Element(key, entity));//꺼내기Cache.get(key).getValue();캐시에 데이터를 넣고서 다시 꺼내쓰려고 하니 꺼내지지 않는다.디버깅을 해보니 캐시는 있다. 값도 있다. 허나 getValue()로 데이터를 꺼낼 수 없다.이상하다 싶어 설정부터 쭉 다시 봤다. 그래도 모르겠다. 그러다 결국 찾은건 직렬화였다.Serializable을 implements해주지 않으면 안된다. api를 보지않고 작업하니 이런 문제도 발생한다.예제만 보지말고 api도 확인을 해야겠다. 더보기