자바스크립트 메시지와 스프링 메시지 일치 시키기.
Spring2010. 4. 1. 09:22
스프링에 있는 메시지들(*.properties)로 자바스크립트 메시지와 일치 시키고 싶다.
어떻게 해야할까..
간단하게 생각해보면..
index 파일 열때 스프링쪽에다가 getJson해서 스프링에서 메세지들을 다 읽어서, 이것을 json으로 만들어서 리턴해주는 방법??
그럼 스프링에서 메세지들을 다 읽어 올 수 있는가??
기본적으로 key, value로 key로 읽어 오는데...
메세지소스액세서에 키들 다 가지고 오는 방법이 있을려나???
자바에서 지원하는 ResourceBundle이 getKeys()가 있으니깐 요놈으로 해서 사용하면 될 것 같다.
어떻게 해야할까..
간단하게 생각해보면..
index 파일 열때 스프링쪽에다가 getJson해서 스프링에서 메세지들을 다 읽어서, 이것을 json으로 만들어서 리턴해주는 방법??
그럼 스프링에서 메세지들을 다 읽어 올 수 있는가??
기본적으로 key, value로 key로 읽어 오는데...
메세지소스액세서에 키들 다 가지고 오는 방법이 있을려나???
자바에서 지원하는 ResourceBundle이 getKeys()가 있으니깐 요놈으로 해서 사용하면 될 것 같다.
스프링에서 테스트 안될때..
Spring2010. 3. 31. 12:41
음..
아마 스프링 버전을 3.0.0 에서 3.0.1 로 올리면서 나는 오류였던것 같기도 하고...
아무튼 테스트 케이스를 돌리면 무슨 클래스 없다고 하면서 테스트가 안되는 경우가 있다.
뭔지는 까먹... -,.-;;
아무튼.. junit 버전이 4.7이어서 그랬다.
pom.xml에 junit 버전을 4.8.1로 올려줘서 해결..
헉. 완전 불친절한 포스팅인데 -,.-;;;
아마 스프링 버전을 3.0.0 에서 3.0.1 로 올리면서 나는 오류였던것 같기도 하고...
아무튼 테스트 케이스를 돌리면 무슨 클래스 없다고 하면서 테스트가 안되는 경우가 있다.
뭔지는 까먹... -,.-;;
아무튼.. junit 버전이 4.7이어서 그랬다.
pom.xml에 junit 버전을 4.8.1로 올려줘서 해결..
헉. 완전 불친절한 포스팅인데 -,.-;;;
UrlLogging 화면
Java/Spring2010. 3. 30. 13:05
지금 만들고 있는 UrlLogging 화면, 달력은 jQuery UI Datepicker로 했고
그래프는 jquery Float chart 플러그인으로 사용.
UI 조금 더 수정 하고, 그래프 검색 결과도 수정하면 좀더 볼만 해 질듯.
그래프는 jquery Float chart 플러그인으로 사용.
UI 조금 더 수정 하고, 그래프 검색 결과도 수정하면 좀더 볼만 해 질듯.
MySql 쿼리 참고
DataBase2010. 3. 25. 21:38
Spring MVC의 RequestMapping 정보 가져오기.
Java/Spring2010. 3. 25. 09:05
간단한 Url Logger를 작성 하기 위해서, 해당 url에 대한 @RequestMapping에 url값이 필요했다.
구글링을 해서 찾아봤었는데.. http://lizdouglass.wordpress.com/2009/12/16/adding-a-spring-aspect/
여튼..
@Before aspect로 할 경우 Joinpoint에서 getClass 한 후
여기서 getMethods[] 한다. 메서드 들 중에서 방금 호출한 메서드를 가져오고
가져온 메서드와 호출한 메서드 정보가 일치 하면 그 메서드에서 어노테이션 정보를 가져오고
어노테이션 정보에서(대부분 url을 첫번째 값이니) 첫번째 값을 가져온다.
@Before(value="execution(* net.study.spring.controller.WelcomeController.index())")
public void doBeforeProfiling( JoinPoint jp) throws SQLException
{
UrlLogger urlLogger = new UrlLogger();
Method[] methods = jp.getTarget().getClass().getMethods();
for ( Method method : methods) {
if ( method.getName().equals( jp.getSignature().getName()))
{
String[] values = method.getAnnotation( RequestMapping.class).value();
urlLogger.setTargetUrl( values[0]);
}
}
urlLoggerDAO.insert( urlLogger);
}
public void doBeforeProfiling( JoinPoint jp) throws SQLException
{
UrlLogger urlLogger = new UrlLogger();
Method[] methods = jp.getTarget().getClass().getMethods();
for ( Method method : methods) {
if ( method.getName().equals( jp.getSignature().getName()))
{
String[] values = method.getAnnotation( RequestMapping.class).value();
urlLogger.setTargetUrl( values[0]);
}
}
urlLoggerDAO.insert( urlLogger);
}
더 낳은 방법도 있을 것 같은데..
토비님 책 나오면 다시한번 집중하고 봐야겠다.
추가로..
aspect표현식을 수정 하면. 아래 한줄임!! ..;
@Before(value="execution(* net.study.spring.bbs.controller.*.*(..)) && @annotation(org.springframework.web.bind.annotation.RequestMapping)")
이렇게 된다. controller클래스에 있는 모든 메서드에 걸긴 거는데 거기서 @annotation이 RequestMapping인 것만!!
왜냐.. url로깅이기 때문에 @_@
만약 dao관련 로깅을 하고 싶다면..@Transactional을 하면 되겠죵!!
4월의 목표
My side/잡다한 이야기2010. 3. 22. 22:12
공부하면서 정리중인 스프링 샘플 프로젝트 마무리해서 배포 할 것.
꼭꼭꼭!!!
기존에 샀던 책들 다시보면서 내용들 복기 하자.
디자인 패턴 및 리팩토링, 구현 패턴이나 기타 책 등등등.
공부하자!!!!!!
내용 정리 잘 해서 올려 놓자!!
모듈로 쪼게서 잘 분류하자!!
화이팅
꼭꼭꼭!!!
기존에 샀던 책들 다시보면서 내용들 복기 하자.
디자인 패턴 및 리팩토링, 구현 패턴이나 기타 책 등등등.
공부하자!!!!!!
내용 정리 잘 해서 올려 놓자!!
모듈로 쪼게서 잘 분류하자!!
화이팅
이번에 산 책.
My side/잡다한 이야기2010. 3. 18. 11:23
- 클린 코드
- 뷰티풀 아키텍쳐
- Git, 분산 버전 관리 시스템
- 시작하세요 안드로이드 프로그래밍
한달 반만에 책을 샀당. 으히히.
저번달 말부터 멍때리고 있는 경우가 많았는데 다시 공부를 시작해야 겠다.
개인적으로 프로그래밍 방법론에 관한 책을 좋아한다.
XP라던지, 기본적인 개발 방법론이라던지 TDD라던지..
아직 스크럼이나 XP를 제외한 기타 애자일 관련 책은 읽어보지 않았다.
하지만 뭐. 다 비슷하지 않을까 ㅎㅎ
개인적으로 관리자에게 추천 하고 싶은 책은
Extream Programming과 HARD CODE이다.
둘 다 방법론 책인데, 재미있고 아주 좋은 내용으로 가득 차 있다.
개발 방법론에 대해서는 클린 코드, 코드 컴플릿, 구현의 패턴등이 괜찮았다. 소프트웨어 유지보수에 들어가는 비용이 나날이 증가 하는 상황에서, 이 유지보수비용을 줄이기 위해서는 설계 및 기타 다른 내용도 중요하지만 개발자 자신이 깔끔한 코드를 작성 하는 것이 가장 중요 하다고 생각한다. 나 역시 클린 코드를 작성하기 위해서 노력 중이며, 스스를 설명할 수 있는 코드(주석이 필요없는), 그런 코드를 작성할려고 노력중이다.
정신없이 생각하며 코딩 하지 말고, 간단한 밑 그림을 그리고 코딩에 임하도록 하자.
전체적인 프로세스를 생각하고, 어떤 부분이 어떻게 변경되고 인터페이스를 최대한 활용할 수 있도록 하자.
Clean Code Thats works, 켄트백 아저씨의 TDD책에 나왔던 내용인데, 내 프로그래밍의 목표이다.
뭐.. 기술적인 노력도 끊임없이 해야 겠지만 ^^
자바 메일 메이븐 주소
Java/Spring2010. 3. 17. 17:12
http://mvnrepository.com/artifact/javax.mail/mail
버전 클릭 해 보면 밑에 depend lib(activation)도 확인 할 수 있다.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mail.html
이메일 보낼려면 필요한 lib.
버전 클릭 해 보면 밑에 depend lib(activation)도 확인 할 수 있다.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mail.html
이메일 보낼려면 필요한 lib.
Spring 3.0에서 Json view...
Java/Spring2010. 3. 11. 14:41
스프링 3.0에서 JSON view를 보여주고 싶다!!!!
왜!!
간단한 체크 요청에만 응답 해 줄려고.
참고한 URL : http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/
스프링 팀 블로그에는 좋은 글이 많은 듯 하다.
문서 삭제 하는데 문서가 잠겼는지 안잠겼는지 체크 한 후 삭제를 해야 했다.
잠겼으면 잠겼다고 리턴해 주어야 하는데
jsp뷰 리턴하면 기존 모델 객체의 값들이 필요 하므로..
form.jsp에서 삭제 하는데, return "form" 하게 되면 form.jsp를 다시 읽어서 하게 된다.
그러므로 form.jsp에서 필요로 하는 jstlView 속성들이 없기 때문에 오류가 난다.
간단하게 json으로 오류코드만 리턴해주고,
성공 했을 때는 이동할 페이지를 리턴해 주도록 하였다.
@ResponseBody만 붙여주면 일단 그냥 String으로 찍는다..
json형태로 응답을 받고 싶으면
스프링 aJax
위의 예제처럼..
jQuery에서 json형식으로 콜을 해주면 된다.
왜!!
간단한 체크 요청에만 응답 해 줄려고.
참고한 URL : http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/
스프링 팀 블로그에는 좋은 글이 많은 듯 하다.
문서 삭제 하는데 문서가 잠겼는지 안잠겼는지 체크 한 후 삭제를 해야 했다.
잠겼으면 잠겼다고 리턴해 주어야 하는데
jsp뷰 리턴하면 기존 모델 객체의 값들이 필요 하므로..
form.jsp에서 삭제 하는데, return "form" 하게 되면 form.jsp를 다시 읽어서 하게 된다.
그러므로 form.jsp에서 필요로 하는 jstlView 속성들이 없기 때문에 오류가 난다.
간단하게 json으로 오류코드만 리턴해주고,
성공 했을 때는 이동할 페이지를 리턴해 주도록 하였다.
@RequestMapping( value="/bbs/delete.do", method=RequestMethod.GET)
public @ResponseBody String delete( @RequestParam( "bbsID") String id, @RequestParam( "start") String start, HttpServletResponse response) throws Exception {
if ( bbsService.isRocked( id)) {
response.setStatus( HttpServletResponse.SC_BAD_REQUEST);
return "false";
} else {
bbsService.deleteBbs( id);
return "bbs/bbsList.do?start=" + start;
}
}
public @ResponseBody String delete( @RequestParam( "bbsID") String id, @RequestParam( "start") String start, HttpServletResponse response) throws Exception {
if ( bbsService.isRocked( id)) {
response.setStatus( HttpServletResponse.SC_BAD_REQUEST);
return "false";
} else {
bbsService.deleteBbs( id);
return "bbs/bbsList.do?start=" + start;
}
}
@ResponseBody만 붙여주면 일단 그냥 String으로 찍는다..
json형태로 응답을 받고 싶으면
스프링 aJax
위의 예제처럼..
jQuery에서 json형식으로 콜을 해주면 된다.