'개발'에 해당되는 글 73건

  1. 2012.11.29 설정파일 호출
  2. 2012.11.23 슈퍼 개발자
  3. 2012.10.19 .net에서 XSD로 DB개발시 주의점
  4. 2012.04.05 실행오류
  5. 2012.03.28 로그인 상세 2
  6. 2012.03.27 로그인 상세 1
  7. 2012.03.20 템플릿 프로젝트 정비
  8. 2012.03.15 템플릿 로그인
  9. 2012.03.14 개발환경 구축 5
  10. 2012.03.13 전자정부 표준프레임워크

.net에서 Web.config나 app.config에 있는 설정을 로딩할때 아래와 같이 하면 된다.


ConnectionString conString =  ConfigurationManager.ConnectionStrings["OldMainConnection"].ConnectionString;;


하지만 현재 소스에서 적용이 안되서 고민중이었다.

이리저리고민하다 이유를 알고나니 허탈하다..


현재 프로젝트에서 DLL을 아래와 같이 분리했다.


DB DLL, Common DLL, Service DLL(WCF)


데이터베이스 연결이라 DB DLL에 있는 config에 설정을 넣고 실행하니 계속 찾지를 못한다.

가만 생각해보니 WCF서비스가 메인프로젝트이므로 거기 있는 config를 읽을거 같은거다..


그래서 DB DLL에서 로딩하면서 환경설정은 Service DLL(WCF)에 넣어놓으니 정상적으로 읽는다..


어떻게보면 당연한 얘기일수 있는데 .net이 익숙하지 않으니 여러모로 시간소비가 많다.



'개발 > 돌머리' 카테고리의 다른 글

.net에서 XSD로 DB개발시 주의점  (0) 2012.10.19
정규표현식  (0) 2012.03.11
자바 암복호화 모듈  (2) 2010.02.12
jsp 컴파일 오류  (0) 2009.01.23
Posted by 무혹
,

슈퍼 개발자

개발 2012. 11. 23. 08:34

http://techit.kr/13721


많이 생각하게 하는 글이다...

'개발' 카테고리의 다른 글

행복한 직장  (0) 2013.11.27
애자일 컨퍼런스  (0) 2013.11.10
용어설명  (0) 2008.06.30
방법론  (0) 2008.06.25
감리  (0) 2008.06.21
Posted by 무혹
,

*. update, delete, insert시 해당 row를 받고 싶다면...


- 우선 stored procedure 생성시 default로 생성되는 SET NOCOUNT ON; 옵션을

주석처리한다.


- DataSet.xsd내부 Adapter의 함수속성중 ExecuteMode를 NonQuery로 변경함



'개발 > 돌머리' 카테고리의 다른 글

설정파일 호출  (0) 2012.11.29
정규표현식  (0) 2012.03.11
자바 암복호화 모듈  (2) 2010.02.12
jsp 컴파일 오류  (0) 2009.01.23
Posted by 무혹
,

실행오류

개발/스프링 2012. 4. 5. 17:00

이클립스에서 톰캣연동하여 실행하다보면 가끔 어제까지 잘 되던 상황에서 오늘 아침에 켜니

개발하던 프로그램이 실행안되는 경우가 있다.

이 경우 가장 잦은 증상이 (이클립스 또는 톰캣 플러그인의 버그라고 생각되는데..)

console에 스프링 관련 내용이 display되지 않는다.

가장 빠른 해결책은 직접 파일을 넣는것..

\org.eclipse.wst.server.core\tmp0 아래에 프로젝트 폴더밑에 web.xml이 있는지 확인하고 없으면 넣는다.

WEB-INF/lib밑에 스프링 관련 library가 있는지 확인하고 없으면 넣는다.

그런후에 실행하면 정상동작....

'개발 > 스프링' 카테고리의 다른 글

스프링 MVC  (0) 2009.01.15
스프링 tutorial (8)  (0) 2008.07.28
스프링 tutorial (7)  (0) 2008.07.27
스프링 tutorial (6)  (0) 2008.07.26
스프링 tutorial (5)  (0) 2008.07.25
Posted by 무혹
,

가장 우선적으로 해결해야 될 버그상황은 다음과 같다.

*. 로그인 시도시 권한이 없는 경우는 에러로 처리할것.
 
하지만 현재는 범정부 프레임워크 기반으로 테이블이 구성되어 있어서
영 껄끄럽다. 로직을 고치면 나중에 테이블도 수정해야 할거고....
그래서 우선 테이블부터 우리 환경에 맞게 수정한다.

1. view 수정 - COMVNUSERMASTER
가장 먼저 로그인하면 사용자정보를 확인하는 view부터 수정한다.
현재는 업무사용자, 일반사용자, 기업사용자 테이블을 union all하게 되어 있는데 
일반회사에서 그릴 필요는 없겠다.
따라서 view안의 내용을 회사에 맞는 내용으로 수정함

2. 쿼리 수정 - resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Oracle.xml 

테이블은 수정했지만 로그인 체크 쿼리는 수정하지 않았으므로 위의 sqlmap에서

loginDAO.actionLogin에서 해당하는 쿼리를 수정.





 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 1  (0) 2012.03.27
템플릿 프로젝트 정비  (0) 2012.03.20
템플릿 로그인  (0) 2012.03.15
개발환경 구축  (5) 2012.03.14
전자정부 표준프레임워크  (0) 2012.03.13
Posted by 무혹
,
이전에 올렸던 템플릿 로그인을 보면 실제로 로그인이 되었는데 로그인 화면이 다시
나오고 메뉴들은 보이지 않는다. 그러면서도  로그인은 완료된것으로 나온다.

이 증상을 알아보기 위해 소스를 하나하나 뒤졌다.

그러려면 전자정부 프레임워크의 소스와 스프링의 소스를 받아두는것이 좋다.
뒤지려니까... 
스프링은 아래 링크에서 받으면 되고 전자정부 프레임워크는 사이트에 가서 찾으면 됨

스프링 : http://www.springsource.org/download/community


문제가 되는 부분을 파악한 결과는 다음과 같다.

1. 로그인 시도시 RequestMapping에 의해서 let/uat/uia/web/EgovLoginController.java의
ActionSecurityLogin을 호출한다.

2. 정상사용자이므로 118Line에서 session에 LoginVO를 담는다.

3. 그후에 j_spring_security_check를 호출한다.
해당 내용은 context-security.xml에서 찾을수 있는데 89Line의 jdbcUserService에서 유저명과 유저권한을 체크할때 리턴되는 값이 없다.
그렇기에 default-target-url이 아닌 authentication-failure-url이 실행된다.

4. login_error이므로 중앙화면에는 로그인 재시도 화면이 보이지만 
이미 session에 LoginVO를 담았기에 좌측화면를 보여주는 EgovIncLeftmenu에서는 
로그인이 된것으로 보여줄수밖에 없다. (하지만 권한이 없으므로 메뉴는 안 보임)

=====================================================

위에서 원인을 찾았으므로 조치가 필요하다.

우선적으로 생각할 수 있는것은 아래와 같다.

1. spring security를 사용하지 않고 자체적으로 구현

2. spring security를 사용하면서 에러를 잡아감

나는 2번째로 하련다.. 






 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 2  (0) 2012.03.28
템플릿 프로젝트 정비  (0) 2012.03.20
템플릿 로그인  (0) 2012.03.15
개발환경 구축  (5) 2012.03.14
전자정부 표준프레임워크  (0) 2012.03.13
Posted by 무혹
,
업무에 바쁘다 오래간만에 다시 전자정부 프레임워크를 보려고 하는데,
이전 포스팅
에서 로그인까지 모두 완료했는데 오늘 이클립스를 실행하니
아래의 화면이 다시 나온다.


메이븐과 이클립스가 꼬인것이라 다시 설정을 하면 문제가 없어지겠지만,
구태여 그럴 필요는 없다.
대형 프로젝트라면 관리자가 따로 있겠지만 나를 포함하여 이 글을 참조로 프로젝트를
설정한다면 쓸데없는 관리포인트를 없애는것도 방법임.
작은 인원이 개발하는 경우 그냥 library관리만 제대로 하면 될것이므로
나는 라이브러리를 모두 WEB-INF/ilb밑에 넣는 방법으로 한다.

Maven Dependencies밑에 lib를 모두 복사하여 넣거나 아래 파일을 다운받아서 압축해제하여 넣는다.


그렇게 하면 이상없이 이전과 같아진다...




 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 2  (0) 2012.03.28
로그인 상세 1  (0) 2012.03.27
템플릿 로그인  (0) 2012.03.15
개발환경 구축  (5) 2012.03.14
전자정부 표준프레임워크  (0) 2012.03.13
Posted by 무혹
,
로그인화면에서 로그인 시도를 위해서는 2개의 ID가 있다.
admin/1,        user1/1

해당정보가 어디 있는지 몰라서 소스를 뒤져서 테이블을 알아내고 직접 테이블에서 조회했다. 비밀번호는 MD5로 암호화되어있어서 몇가지를 테스트해서 알아냄.

하지만 로그인전에 사전작업이 필요하다.
우리가 보통 공통데이터라고 표현하는 데이터를 입력해야 한다.

이 데이터들은 아래 위치에 있으므로 해당 스키마를 실행한다.

/DATABASE/all_ebt_ddl_DB명.sql
/DATABASE/all_ebt_data_DB명.sql

해당하는 스키마들을 입력했으므로 로그인이 되야 할것 같은데 공통프레임워크에
있는 테이블도 사용한다.
따라서 추가로 아래에서 다운받아서 스키마를 실행한다.

관련 데이터베이스 구조및 스키마

여기까지 하면 로그인은 이상없이 된다...

아래가 로그인후에 화면


 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 2  (0) 2012.03.28
로그인 상세 1  (0) 2012.03.27
템플릿 프로젝트 정비  (0) 2012.03.20
개발환경 구축  (5) 2012.03.14
전자정부 표준프레임워크  (0) 2012.03.13
Posted by 무혹
,
전자정부 표준프레임워크를 사용하기 위해서 제공하는 이클립스를 설치한다.
 
위의 2개가 있는데 Light Version으로 설치함
설치는 원하는곳에 압축해제함으로 완료된다.

그후에 perspective를 eGovFrame을 선택하면 템플릿 프로젝트를 생성할 수 있다.
new Template Project를 선택하면 아래 화면이 보임


여기서 어떤걸 선택해도 상관없지만 Enterprise Business를 선택하여 생성한다.

생성한후에는 아래와 같은 에러가 보인다.


이 에러의 원인은 jsp관련된 라이브러리가 없어서이다.
해결책은 pom.xml에서 jsp라이브러리의 주석을 해제한다.


그후에 다시 확인하면 아래화면의 에러가 새로 생긴다.


이 에러의 원인은 project Facets와 java complier의 버전이 맞지 않아서 그렇다.
해결책은 2개의 버전을 맞춰주는것....



그렇게 하면 Error는 모두 사라진다.

기쁜 마음으로 서버를 start하면 아래와 같은 에러가 보인다.


이 에러의 원인은 실제로 maven repository에 있는  library 들을 찾지 못해서 발생한다.
해결책은 아래화면을 따라한다. WAS에서 알 수 있게 해준다고 생각하면 됨






여기까지 하고 다시 WAS를 재시작하면 제대로 될 줄 알았나? ㅎㅎㅎ
아래와 같이 긴 에러가 나온다.... 


이 에러의 원인은 뭘까? 바로 DB연결을 안했기때문에...
해결책은 globals.properties에서 환경에 맞는 DB를 설정해줌



아 이제 되었구나하고 다시 서버를 재시작하면 그것은 착각....
이번에는 아래의 에러가 나온다...


원인은 뭐 jdbc driver가 없는거지..
해결책은 WEB-INF/lib에 직접 driver를 넣는다.
메이븐에도 아래와 같이 driver표시가 있지만 가져오지는 못한다.
오라클에서 허용하지 않는다는듯..


결국 아래와 같이 직접 넣는다... 


이제 드디어라는 심정으로 서버를 재시작하면 아무 에러없이 클린하게 실행된다.


그렇다면 초기 페이지를 봐야지..
해당 주소를 아래와 같이 입력해본다..


또 에러가 난다.. 이 에러는 톰캣의 경우만 나는건지는 잘 모르겠다.
원인은 톰캣의 자체 라이브러리와 메이븐에서 가져온 라이브러리가 서로 충돌해서 그렇다.
POM에서 아래와 같이 scope옵션을 provided로 주면 서버에 배포하지 않아야하는데 배포된다.

       <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
            <version>2.5</version>
        </dependency>

해결책은 배포된 서버에 아래와 같이 찾아들어가서 jsp-api-2.1.jar, servlet-api-2.5.jar
2개 파일을 삭제한다. 톰캣것을 쓴다는 의미이지....


이제 더 에러나면 때려친다는 심정으로 주소를 치고 들어가면 아래와 같이 성공...!!!!!!!!!!!!


P.S.1. 역시 자바는 설정지옥이다.. 설정지옥 개발천국?
P.S.2. 이클립스와 메이븐, WAS에 대해서 이해하고 있다면 시간은 걸려도 해결가능함




 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 2  (0) 2012.03.28
로그인 상세 1  (0) 2012.03.27
템플릿 프로젝트 정비  (0) 2012.03.20
템플릿 로그인  (0) 2012.03.15
전자정부 표준프레임워크  (0) 2012.03.13
Posted by 무혹
,
전자정부 표준 프레임워크라는게 있다.
스프링을 기반으로 되어있는데 업무단에서 사용하기에는 UI쪽이 좀
약하긴 하지만 괜찮다.
개발자가 많지 않는 우리팀같은 경우 괜찮다고 생각되어 검토중이다.
1.0에서 2.0으로 되면서 모바일지원및 경량화가 추가되었는데
전체 구성이 영 헷갈리게 되어있어서 정리한다.

크게 개발환경, 실행환경, 관리환경, 운영환경, 공통 컴포넌트로 나눌수 있다.


- 전자정부 프레임워크 사이트(www.egovframe.go.kr)의 그림

1. 개발환경 
- 개발환경은 로컬개발환경과 서버개발환경으로 나뉜다.
a. 로컬개발환경은 IDE, Test, 빌드, 형상관리를 지원하며 템플릿 프로젝트가 있다.
b. 서버개발환경은 이슈, 테스트, CI지원을 한다.

2. 실행환경
- 화면처리, 데이터처리등을 위한 core모듈개념인데 개발환경 설치후 선택하여 설치할 수 있다.

3. 관리환경
- 정부부처에서만 사용하는것으로 배포되지 않음. 일반 기업에서는 별 필요도 없슴

4. 운영환경 
- 실제 운영시 각종 모니터링및 커뮤니케이션을 위한 기능

5. 공통컴포넌트
- 우리가 보통 프로젝트에서 공통으로 사용하는 기능들을 컴포넌트로 구성
예를 들어 로그인, 권한, 역할, 파일관리, 암호화등..


나의 선택은 로컬개발환경을 설치하고 서버개발환경은 subversion+trac으로 별도설치
실행환경은 로컬개발환경에서 필요한것만 설치, 운영환경, 공통컴포넌트는 필요시 설치로 결정함


 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 2  (0) 2012.03.28
로그인 상세 1  (0) 2012.03.27
템플릿 프로젝트 정비  (0) 2012.03.20
템플릿 로그인  (0) 2012.03.15
개발환경 구축  (5) 2012.03.14
Posted by 무혹
,