OS : Ubuntu
Language : Java

Ubuntu 환경에서 SVN을 설치하고 이클립스에 Subclipse를 설치한 후에 SVN을 연동하려고 하는데
[JavaHL] 관련 문제가 발생한다.

NOTE: as per the error message I am using Sun Java on my system.

해결방법 : 

Install libsvn-java

The Debian/Ubuntu package libsvn-java has the libsvnjavahl-1.so file that is required by JavaHL subversion interface. Install libsvn-java by typing the following into a command line:

sudo  apt-get install libsvn-java


svn 관련 library를 설치하고 나니 정상적으로 실행된다.

지난 TDD 강의 시간에 미처 못풀었던 소수구하기 문제를 풀어본다. 뭐, 이러면서 자바에 대한 감을 살려가는거 아니겠어?? +_+)


-- 실행결과 : 5 에서 10000 사이의 소수 구하기

확실히... 숫자를 키울수록 연산 속도는 오래 걸리는구나. +_+)

기능을 구현하는 방법은 참 여러가지다. 이것이 옳고 저것이 옳다라고 말하기는 어렵다.

뭐 그렇다. ㅎㅎ.

이 소스를 TDD로 적용하면 어떻게 될까나? ^^; 어떤 테스트 시나리오조건을 만들어서 만들어야 할까나?

하위페이지

 

이 글은 스프링노트에서 작성되었습니다.

'Java > Language' 카테고리의 다른 글

2010, 한국 자바 개발자 페스티벌  (0) 2010.06.22
리팩토링(Refactoring) 고려사항  (0) 2010.06.19
Java Decomplier  (0) 2010.02.26
실행가능한 .jar 실행하기  (0) 2010.02.20
JDBC 설치 및 적용하기  (0) 2010.01.23
현재 자바모델링(http://javamodeling.com)에서 스터디에 참가하고 있다.

Struts2를 학습하던 중에 이 글의 제목과 관련된 내용을 만나볼 수가 있다.
위와 같은 문제가 발생을 하는 경우를 접하게 되었다. 가만히 읽어보면, result success 가 정의되지 않았다는 이야기를 내보내고 있다.

이 증상과 관련된 소스는 struts2.xml 과 LoginAction_KJH.java 와 관련이 되어 있다.
정확하게는 스트럿츠에서 사용하는 interface com.opensymphony.xwork2.Action 에 정의된 SUCCESS와 관련이 되어 있다.


struts2.xml
       
<action name="login" class="com.javamodeling.struts2.login.LoginAction_KJH">
       <result name="success">success.jsp</result><!-- return SUCCESS 인데, 찾는건 소문자로 찾네? -->
       <result name="error">failure.jsp</result>
</action>

LoginAction_KJH.java
        public String execute() {
           
            if (this.userid.equals(this.password)) {
                return SUCCESS;
            } else {
                return ERROR;
            }
        }

interface com.opensymphony.xwork2.Action 에서 정의한 SUCCESS를 확인해보자.
항목에서 SUCCESS = "success"로 선언되어있는 것이핵심이다. ^^;

LoginAction_KJH.java 소스에서는 return SUCCESS 를 보면 "SUCCESS"가 리턴될 것 같은 것이 일반 사람들의 마음이다(나만 그럴까?)

strtus.xml 을 보면 <action></action> 태그 사이에 <result name="success">success.jsp<result/>로 적어놓은 것이 보일 것이다. 물론 이렇게 되어 있으면 정상적으로 작동한다. 혹시, <result name="SUCCESS">success.jsp<result/>로 작성되어 있지 않은지 확인해보자.

"SUCCESS"로 되어 있다면 "success"로 수정을 하자. 그런 후에 실행해보자.
정상적으로 실행이 되는 것을 확인해볼 수 있을 것이다.

이런 원인은 JUnit TestCode를 작성하여 확인해볼 수 있었다. excute()에서 리턴되는 값 때문에 생긴문제라는 확신을 하게 되었다.
요즘 TDD(Test Driven Development)에 대해서 공부를 하고 있는데, 이렇게 활용할 수 있다는 발견에 공부한 보람을 느끼며 더 열심히 해야겠다.

"SUCCESS"를 "success"로 변경하면,
정상적으로 실행된 것을 확인해볼 수 있다. 이를 통해서, LoginAction_KJH.java의 execute()에서 return SUCCESSreturn ERROR의 반환값을 확인해볼 수 있다.

이런 인식의 오해를 해결하는 방법이라면

return "SUCCESS" 나 return "success"와 같이 반환되는 값을 정확하게 정의를 해주고 나서
struts.xml 에서 <result name=""></result>에서 name을 정의해주는 것이 아닐까?

Class 파일로 컴파일된 자바 클래스파일을 다시 소스 파일로 만들어주는 프로그램.

원본 소스와 똑같이 만들어주지는 못하지만, 같은 기능을 구현하는 소스로 구성을 해준다.

 

관련링크 : http://en.wikipedia.org/wiki/JAD(JAva_Decompiler)

관련링크 : http://www.varaneckas.com/jad

Jad 다운로드

관련링크 : http://jadclipse.sourceforge.net/wiki/index.php/Main_Page

JadClipse for Eclipse plugin

관련링크 : http://blog.bagesoft.com/954

Java Decomplier JAD와 JadEclipse 설치 및 활용하기

 

괜찮다~ >ㅅ<)

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts