블로그 이미지
신세계 SSG.COM / IT개발 1팀 / 상품, 제휴 / 김지영 FreeEnd

카테고리

전체 (82)
끄적끄적 (14)
News (1)
Movie (11)
Security (1)
Design Patterns (2)
Operating System (4)
Database (8)
Framework (4)
Solution (7)
Language (1)
Web (4)
Lib (3)
TEST_Tools (4)
ETC... (7)
Software Factory (0)
Total256,479
Today7
Yesterday13


달력

« » 2021.6
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

공지사항

글 보관함


환경

WAS : tomcat 7.0
환경 : JDK 1.6, SPRING 3.0


문제발생!!
 
 아. 아직도 오장 육부가 뒤집힌다. 얼마전부터 서프라이즈 하게 혼자 뭣좀 해보려구 개발 환경 하나 잡고 있다. 벌써 오래전부터 준비해온 일이지만, 매번 이 시동거는게 힘들어 매번 빈둥거리다가 드디어 몸좀 움직였다.

 이클립스 다운받구, JDK받아 환경 잡구, 프로젝트 만들어 spring 3.0 라이브러리 넣고.. 작업준비를 끝내고.. web.xml 설정에 들어갔다. 뭐 내가 익숙한하게 ContextConfig환경 잡고.. 컨트롤러는 멀티액션 컨트롤러로....
자자. 환경 설정도 끝났다. 그리고 테스트 Controller 만들어서 호출하는 순간!!! 에러발생. 분명 파라메터로 method 잘 날려줬구.. 설정도 이상이 없었는데... 문제는 하나도 없었다. 설정문제는 아닌듯한데.. 일단 에러는 다음과 같다.
 

2011. 11. 10 오후 4:15:17 org.springframework.web.servlet.mvc.multiaction.MultiActionController handleNoSuchRequestHandlingMethod
경고: No request handling method with name 'form' in class [com.freeend.web.test.TestController]


  어라. 다시보니 에러도 아니고 경고.. 우라질. 메소드를 못찾는데 경고냐. 에러지. 썅.
여튼 문제 계속 찾아봤다.
 


원인탐색

 우선 에러 메시지는 이런 의미이다. MultiActionController가 파라메터로 받은 method 값을 이용해 해당 요청이 원하는 Controller의 메소드를 찾았지만 해당 메소드를 찾을수 없다는 에러이다. 

난 완벽하지만 혹시나.  자. 설정을 다시 확인했다.

 
web.xml 

<context-param>     
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>


spring-servlet.xml

<bean id="methodNameResolver"
        class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
    <property name="paramName">
        <value>method</value>
    </property>
    <property name="defaultMethodName">
        <value>form</value>
    </property>
</bean>

<bean id="actionBean" abstract="true">
    <property name="methodNameResolver" ref="methodNameResolver" />
</bean>

<bean name="/test/test1.do" parent="actionBean"  class="com.freeend.web.test.TestController">  
</bean>


 역시나 아무리 생각해봐도 문제는 없다. 역시 난 빈틈 없음. 틀리지 않아.
 그럼 뭐가 문제인가!!
 역시 구글신께 물어봤다. 네이버 버려. 구굴이 甲이여.

 역시. 조선人 보단 양키가 낫다. ㅋㅋ 

Nick's Blog (http://tcob.com/c/tech)

That’s a terrible blog post title, I know. Nevertheless, I just burned 90 minutes trying to figure out why a simple Spring MultiActionController setup left me with an error: “No request handling method with name ‘list’ in class.” Google was little help, so I resorted to Bing.

Eventually, I found a buried forum response with my exact problem, I had referenced the wrong package’s type! If you’re running in to this, make sure you do this:

import org.springframework.web.servlet.ModelAndView;

and not this:

import org.springframework.web.portlet.ModelAndView;

This will teach me to be more mindful of what Eclipse decides to add for me automatically


란다. 오호홋 감사.

 문제는 ModelAndView의 import가 잘못되어 Resolver가 파라메터로 받은 값과 똑같은 메소드를 찾지 못한거다. 왜냐!! 리턴값이 다르기 때문이지.

 
해결

이런. 어쨌든. 이 문제의 잘못은 이클립스의 자동완성기능에 있었다. 누구나 코딩을 할때.. 아래와 같이 할껄.


저러고 걍 엔터 누르겠지.
 마지막에 port... 뭐시기인지 그 밑에 serv... 뭐시기인지 확인도 않하고 걍 엔터 눌렀겠지...
이게 문제였다. 이 바부. 이런 바보가 양키도 있다. ㅋㅋㅋ 조선人만의 문제가 아니라 글로벌적인 문제였던 것이다.

어쨌든 이클립스가 지멋대로 

import org.springframework.web.portlet.ModelAndView;

이렇게 추천해줘서 내가 선택한 import를 

import org.springframework.web.servtle.ModelAndView;
이렇게 수정해서 해결하였다.

 아. 고마워 양키. 너의 올해 3월의 실수가 날 도왔어. ^___________^. 이상 지영옹.
Posted by 지영옹 FreeEnd
TAG spring

댓글을 달아 주세요

  1. 2011.11.30 14:34 gucci bag  댓글주소  수정/삭제  댓글쓰기

    우라질. 메소드를

환경
WAS : Resin 3.1, Resin 4.0
개발언어 : Java, JSP
JDK : 1.6



문제발생!!

 새로운 시스템을 개발중이다. Spring으로 개발중인데 아직 개발환경 세팅이 모두 명확히 정해지지 않았다. WAS는 Resin 3.1으로 정해졌는데, 이게 해당 개발사에서 Eclipse 플러그인 지원을 중단하였다. 해서 다른 배포사에 있는 플러그인으로 작업중인데.. 외부 어플리케이션으로 등록해 사용하기때문에 디버그가 잘 되지 않는다. 그래서 환경이 크게 차이 없는 Resin 4.1 환경을 따로 구성해서 4.1에서 개발, 디버그 작업을 하고 3.1에서 개발 된 내용을 테스트 하는 방법으로 개발을 하고 있다.

 허나!! 3.1에서 확인후 4.1로 돌아오면 가끔 에러가 나질 않는가!!! 이런 얼어죽을 형과 아우를 번갈아가며 농락하는 어처구니없는 환경에서 에러는 예상했지만 도통 원인을 찾을수 없었다. 에러는 다음과 같다.


 [11-10-31 17:11:38.692] {http://*:80-1} java.lang.NoSuchMethodError:com.caucho.make.ClassDependency.<init>(Ljava/lang/Class;J)V
     at _jsp._include._home_0layout__jsp.init(_home_0layout__jsp.java:165)
     at com.caucho.jsp.JspManager.preload(JspManager.java:354)
     at com.caucho.jsp.JspManager.compile(JspManager.java:234)
     at com.caucho.jsp.JspManager.createPage(JspManager.java:187)
     at com.caucho.jsp.JspManager.createPage(JspManager.java:168)
     at com.caucho.jsp.PageManager.getPage(PageManager.java:339)
     at com.caucho.jsp.PageManager.getPage(PageManager.java:269)
     at com.caucho.jsp.PageManager.getPage(PageManager.java:252)
     at com.caucho.jsp.QServlet.getSubPage(QServlet.java:294)
... 중략...



  원인탐색

 왜 자기 빌더에서 자기 라이브러리를 참조하지 못할까. 한참을 WAS 설정에서 클래스 패스가 빠진곳이 있나만 확인해보다가... 에잇. 천재 키다리 아저씨 구글한테 물어보기로 했다.

 역시나 양키놈들 대단하다. 그이름도 아름다운 알렉스라는 양키놈이 대답해주길..

ALEX
This particular error caused by classes compiled against older version of resin. Can you remove the WEB-INF/work directory? Resin puts all generated .java code there by default unless it's redefined in <work-dir> or @work-dir under the web-app tag.

http://forum.caucho.com/showthread.php?t=25555


라신단다. 

문제는 이거다. JSP 파일을 java로 변환할때 RESIN 3.1이하셧고 이걸 빌드는 4.1이 할라해서 3.1 라이브러리를 참조하는 부분을 4.1컴파일러가 빌드를 못해 일어나는 문제였던 거이였다. 


  해결

 오나전 감사한 ALEX에게 감사의 박수만 보내면서 우리 ALEX가 가르쳐준대로 /WEB-INF/work 디렉토리를 걍 지워버렸다.
 아. 깔끔해. 헌데 문제가 하나 더생겼네. 이거 4.1이 컴파일한 놈을 3.1이 또 못읽을꺼 아녀!! 
 요건 다음에 해결하자. ^^; 지영옹.




 


Posted by 지영옹 FreeEnd
TAG resin

댓글을 달아 주세요

  1. 2011.11.30 14:33 gucci bag  댓글주소  수정/삭제  댓글쓰기

    수 있습니다.

  2. 2013.04.30 11:37 ugg baratas  댓글주소  수정/삭제  댓글쓰기

    희미한 달빛이 샘물 위에 떠있으면, http://rtff.scarpehoganlt.com/ scarpe hogan,나는 너를 생각한다.


 작업일 : 2011년 10월 22일쯤?
 작업도구 : 철사 옷걸이 2개, 니퍼, 인두, 납, 동선, 절연테이프. 벽지조금
 작업시간 : 총 30분정도.

 내가 총각때 내 방에서 안방의 유선 방송 케이블을 몰래 끌어다 내 TV겸용 모니터에 꼽아 텔레비를 도둑 시청하곤 했다.

뭐 지금은 결혼해서는 우리 사랑스런 마누느님께서 가장 사랑하시는 현빈님이 광고하는 열라큰 3D티비 (과연 티비를 사랑할까 현빈을 사랑할까) 를 사오시고 IPTV를 신청해주셔서 거실에서 감사히 누워 시청하고 있지만, 서재에서 주로 작업 및 공부..... 에잇. 주로 게임하는 나로써는 게임과 티비를 동시화면으로 보고 싶어 HDTV안테나를 찾아보았다..





헉. 2만 3천원. 따른것도 찾아보니 2~3만원대다.

 2만 3천원이면 점심이 5끼며, 친구랑 둘이서 7천원짜리 압구정곱창볶음 2인분에 소주 3병을 먹고 2천원이 남는다. 이런 큰돈을 어떻게... 내 용돈을 이런곳에 허투루 쓸수 없음.

 그래서 혼자 스스로 내 힘으로 한번 만들어 보기로 했다. 아자아자!!!







HDTV란!!

 자. 우선 HDTV에 대해서 알아보자. 
 HDTV란  High-definition television의 약자로 과거 아날로그 방식의 방송과 달리 전파에 디지털 신호를 실어 고화질의 선명한 영상과 소리를 전송하는 방식을 사용한 방송을 수신하는 TV를 말한다. 방식이 조금 다르긴 하지만 기존 방송 주파수인 UHF 채널로 방송을 송신하고 있다. 하지만 기존의 아날로그 안테나로 바로 HDTV를 수신하기는 조금 무리가 있다.

 기존 아날로그 TV안테나는 일반적은 공중파 방송인 1~13번 사이의 주파수에 맞게 설치되어 있어 14~60번 사이의 HDTV채널을 수신하는데에는 문제가 있다. 이때문에 HDTV는 기존에 설치된 아날로그TV 안테나를 통해서는 HDTV 주파수를 수신하기 힘들며, HDTV가 주파수를 가장 적합하게 수신할 수 있게 위치를 조정하거나 추가로 안테나가 필요하다. 게다가 HDTV의 송신소는 아날로그 방송의 송신소보다 적다. 때문에 많은 사항을 고려해서 제작, 설치 해야 한다.

 이제 일반 UHF안테나를 이용해도 상관 없다는 사실을 알았으니 우리집에서 수신가능한 송신소와 주파수 대역을 찾아보자.








주파수 대역 확인!!!

다음 주소를 따라가면 자신의 지역에 맞는 송신소를 찾을 수 있으며 해당 송신소에서 발송하는 HDTV 채널을 확인 할 수 있다.

http://dtvguide.kbs.co.kr/DTVLineUpService/info1_1.htm
 
  
 우리집은 은평구에 소재하고 있으며 우리집은 불광 송신소의 주파수가 가장 적합하다고 나온다.
 






이제 우리집은 KBS는 48과 51, MBC 는 59, SBS는 58이 가장 잘 수신된다는 것을 알았다.
이제 해당 채널이 실린 주파수를 알아내면 된다. 해당 주파수는 아래 주소를 들어가면 확인 할 수 있다.

http://blog.naver.com/creeras/37046736


송신소 채널에 따른 주파수를 찾은 결과는 아래와 같다.

방송 / 채널 / 주파수
KBS1 / 48 / 677
KBS2 / 51 / 695
MBC / 59  / 743
SBS  / 58  / 737

주파수 확인결과

평균 주파수는 713이다. 이제 이 주파수가 우리집에서 정상적으로 수신 가능한지 알아보자.







주파수 수신 계산!!!

주파수 수신 가능여부를 계산하기 위해 HDTV 수신문의를 위한 전파예측모델을 이용했으며 이는 아래 블로그의 정보를 기준으로 계산 되었다.

http://digiex.tistory.com/19


위 블로그에 근거 가장 해당 주파수를 잘 적용할 수 있는 Walfisch-Ikegami 모델을 이용했으며 해당 정리로 계산 하였다.

 



 해당 손실을 추가하고 계산하면..




음.. 뭔소리냐...



 L이 뭐고 W가 뭐라고?




이런 ㅅㅂ....




안해 때려쳐

 


-_- 나 고급 개발자야. 이런 계산~ 못해~










 


ㅅㅂ 사버려










아 ㅅㅂ 배송비까지 28천원이잔하!!!!!! 못사 못사.

자자 정신차리고.

계산은 무리다. 구글링 ㄱㄱ

득템!! 이분께서는 공학쟁이시군요! ^_____________^
http://cafe.naver.com/momshouse.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=19262&

다행이 똑똑한 분이 계산 해 주셨다.
이분을 따라하자! 그래. 음.. 뭐 우리집도 남산 송신소에서 발송하는 전파 수신 감도는 양호니깐..  일단 똑같이 진행하자!!

네 변의 길이는 15cm. 뭐 안대면 10cm 제작하지머.
15cm고고 씽!!









 역시 무늬는 지브라. 난 얼룩말이 좋아.
주파수를 싣고 달려달려.
이제 껍대기를 뱃기고 철사를 꺼내 15cm짜리 사각형을 만든다. 참고로 밑에는 전선과 연결할 부분까지 제작하여야 함.








자. 15cm짜리 사각형 파리채 완성. 이제 가운데 양파망만끼면 바로 물고기 그믈로. 팽팽하게 해서 파리채로 으흐흐.
용도는 다양하겠구마.

 이제 제일 중요한 커넥터를 제작해야 한다. 이 작업이 제일 중요하다.
마누느님께서 주무실때 몰래 작업해야 한다. 일반적으로 건너방에는 테레비가 없다. 게다가 서재에는 티비가 없을 뿐더러 책상때문에 보통 벽에있는 TV커넥터가 보이지 않아 제격이다.

 우리는 용돈을 아끼는 유부남 부대. 과감히 벽에 붙은 TV커넥터를 뽑는다. 단. 마누느님에게 걸리지 않게. 



 (여러분. 오늘의 재료중에 벽지조금으로 살짝 붙여두세요. 이 작업 놓치시면 밥도 못얻어먹음다. ㅠㅠ)






아썅 이작업이 제일힘들었음. 저 똥그란거 빼낼라고 니빠로 여기저기 쑤셨던거 생각하면... ㅠㅠ
 자 여튼 우린 특템했으니 성공한거야.

 이제 안테나의 성능을 높히기 위해 철사 위에 동선을 감는다.
동선을 감기 전후로 성능 향상은 약 20%가 차이 난단다.

 축동선 바르니 철사 옷걸이 안테나가 "+1 철사 옷걸이 안테나"로 !!!





자 다 감았으면.. 센스 있게 사진대로 동선 꼬다리 좀 만들어 두었지?
아까 그 동선 꼬다리를 동그란 커넥터에 칭칭 감고 납질을 한다.
난 이과출신. 공대출신 공돌이. 납땜하난 자신있어~
국민학교때 라디오도 만들었다규.

자. 이제 다 만들었으면 일단 안테나 역할을 하는 부분은 다 만들었음. 이제 테스트를 하면 대.
TV에 과감히 꼽아꼽아!!!! 쑥!









아.. ㅠㅠ
실패. ㅅㅂ 다 갔다 버려.


























아.. 곱창2인분에 소주 3병...
포기할수 없다!!!!!

아. 역시 과학적인 증명에 의해 남산 송신소에서 송신하는 10번대의 HDTV채널은 수신 불가능한것 으로 밝혀짐.

자. 이제 아까 그 블로그놈의 계산식에서 내 주파수를 대입해서 나온 값이 10cm로 고고.
그냥 10cm는 아쉬우니 2cm씩 들쭉날쭉해서 8cm대역대도 소화해버리자.

마누라님 일어나시기전에 빨리 작업!!
덕분에 사진도 못찍음.. ㅠㅠ







바로 테스트!!!







옴매. 마누라님. 저 3만원 굳었어요 ^______________________________________^






















뭐라고? 이번달 용돈 27만원이라고?????????????????????????????????????????????????????
이봐. 안테나 산게 아니잖아!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



이상. 지영옹. ㅠㅠ

Posted by 지영옹 FreeEnd

댓글을 달아 주세요

  1. 2011.11.01 11:43 신용훈  댓글주소  수정/삭제  댓글쓰기

    이.. 잉여ㅡㅡ...

    사진까지 찍으며.. ㅎㅎㅎ
    형~ 대박~~!!

    재미있게 보구감~~ㅎ

  2. 2011.11.07 09:34 eddie  댓글주소  수정/삭제  댓글쓰기

    안테나 사러 인터넷 들왔다가 잘 보고 가용~ ㅋㅋㅋ 따라해보고 싶어도 납땜기랑 추가비용과, 기회비용 생각하면 비슷할듯;; 사야겠다 ;;

  3. 2011.11.07 20:01 Ladder  댓글주소  수정/삭제  댓글쓰기

    의지의 한국인!!^^

  4. 2011.11.29 20:56 ㅋㅋㅋㅋ  댓글주소  수정/삭제  댓글쓰기

    대단하십니다.. ㅋㅋㅋ.. 잘 보고 갑니다..

  5. 2011.11.30 14:31 gucci bag  댓글주소  수정/삭제  댓글쓰기

    가용~ ㅋㅋㅋ 따라해보고 싶어도

  6. 2011.12.02 13:31 김정규  댓글주소  수정/삭제  댓글쓰기

    저도 힘내서 제가 가지고 있는 도구들로 만들엇어요,,,,준비물...1.스쿠터 메타선 속선(앏은 철사가 촘촘히 말려 있어서 제격일듯...원가3000원정도).....2...절연테이프(땜질 할려니 납이 없어서 걍 2선을 말고 테잎으로 총총 감아버림)....3..안테나선(버려진 케이블 방송선 수급) 연결해 보니 kbs1만 잡히드라구요,,혹시나 하고 스텐레스 빨래 건조대에 걸쳐노으니..다른채널도 .아주 잘 나오네요...지역 특성상 sbs는 안잡히구요...울산 서부동 현대 패밀리 서부 아파트입니다....마눌이 아주 좋아 하네요...ㅋㅋㅋ

  7. 2011.12.03 10:18 conti  댓글주소  수정/삭제  댓글쓰기

    완전 좋은 정보네요.^^ 저도 어제 만들어놓고 오늘 아침에야 성능 테스트 해봤는데요. 처음에 15cm만 만들었는데 역시 안잡히더군요. 그래서 들쭉날쭉 안테나도 만들어서 똑같이 해보니 sbs가 조금 끊기는거 빼고는 나머지 채널들은 완전 깨끗하게 수신됩니다.^^ 저는 예전에 집에 광케이블 인터넷 쓸때 있던 동축케이블 잘라서 인두가 없어서 바로 연결했구요. 한가닥짜리 구리선도 없어서 전선 피복 다 갈라내고 안에 여러가닥짜리 선 꼬아서 둘러줬습니다.지역은 전북 익산시 부송동 삼성아파트입니다.^^ 감사합니다.~!

  8. 2011.12.03 21:55 내감자  댓글주소  수정/삭제  댓글쓰기

    덕분에 안테나 달았습니다. 좋은정보 잘보고갑니다.

  9. 2012.05.03 21:51 신의아들  댓글주소  수정/삭제  댓글쓰기

    재밌게봤습니다 ㅎㅎ 고맙습니다 유용한 정보 ^^

  10. 2012.07.14 15:08 23dl  댓글주소  수정/삭제  댓글쓰기

    재밌게 보구가요 화이팅~!

  11. 2013.02.08 10:08 신고 엔돌슨  댓글주소  수정/삭제  댓글쓰기

    저도 하나 만들어주셍~~
    집가까우면 찾아갈테니 팔아요 ㅋㅋㅋ 정말임

  12. 2013.02.08 10:10 신고 엔돌슨  댓글주소  수정/삭제  댓글쓰기

    질문 드립니다. 동축 케이블을 분해 하지 않고 안테나 달기가 가능할까요? 납땜없이 사용해보고 싶은데요.
    첫번째 방법 처럼요.

    • 2013.02.13 15:01 신고 지영옹 FreeEnd  댓글주소  수정/삭제

      사진에서 보시면 아시겠지만 동축케이블을 자르지는 않았습니다. 그리고 전파 수신부의 역활을 하는 네모난 안테나와 동축케이블하고 연결하도록 하려면 별수 없이 납땜을 해야 하나, 납땜이 싫으시다면 동축 케이블의 피복을 벗기고 나서 안테나 수신부에 잘 감싸시면 될 듯합니다~
      참고로 어떤분은 동축 케이블 한쪽 피복을 벗겨서 베란다 철제 난간에 이었더니 잘 나오더라~ 하시던 분도 계셨어여 ㅋ