위와 같은 오류가 발생했을 때 긴 문장으로 인해 정확히 어디서 발생했는지 확인이 어려운 경우가 있다.

이 경우 제일 끝 부분을 확인해서 오류 위치를 파악하는게 중요하다.

 

스크롤을 오른쪽으로 이동하여 끝 부분을 확인하면 위와 같은 오류가 발생하고 있다는 것을 알 수 있다.

오류를 해석해보자면 printLogging 메소드를 bean log에서 정확한 위치를 찾을 수 없다는 내용이다.

unable : a.할 수 없는
locate : v.의 정확한 위치를 찾아내다.

 

위의사진을 보면 알 수 있다시피log의 위치에서 printLogging이라는 메소드가 없다.

그렇기 때문에 해당 오류가 발생하는 것이며, xml 파일에서 method를 정확히 지정해주면 해당 코드는 정상적으로 작동하게 된다.

 

위의 사진을 보면 BoardServiceClient의 BoardService boardService = (BoardService) container.getBean("boardService");에서 boardService를 호출하고있다.

 

boardService는 applicationContext.xml에 있으며, 아래 사진에서 해당 코드의 내용을 확인할 수 있다.

 

그런데 특이한 점은 사진 어디에서도 boardService를 찾을 수 없다는 것이다.

그렇다면 어떻게 실행이 되는 것일까?

 

해당 부분의 해답은 아래 두 사진에서 확인할 수 있다.

실행되는 순서는 아래와 같다.

 

1. BoardServiceClient를 실행하면

2. applicationContext.xml에서

3. context:component-scan에서 scan이 진행된다.

4. 스캔을 하면서 @(어노테이션)Service("boardService")로 동일한 이름의 컴포넌트를 찾는다.

5. 그렇기 때문에 applicationContext.xml에 boardService가 없어도 스캔으로 컴포넌트된 클래스를 찾아서 BoardServiceClient에서 호출할 수 있게되는 것이다. 

부속쿼리는 아래와 같이 해당 테이블의 쿼리를 거쳐서 원하는 공통된 값을 찾을 수 있다.

조인과 유사하며, 사용방법은 아래와 같다.

 

<부속쿼리 SQL문>

select 제목 from 영화 where 영화코드번호=(select 영화_영화코드번호 from 감독_has_영화 where 감독_등록번호=(select 등록번호 from 감독 where 이름='명감독'));

 

join은 아래와 같이 사용가능하며, 아래 예제를 참고하자

 

<join SQL문>

-- 문제3. 황수찬 교수에게 수업받고 있는 학생의 이름을 출력하시오. --
select sname
from student s join enrol e on s.sno = e.sno
join COURSE c on c.cno=e.cno
where e.cno='C123';

 

join의 경우 위와 같이 서로 같은 칼럼값을 이용하여 찾을 수 있으며, 아래 표를 조인 종류별 표이니 참고하도록하자

 

'[DB]' 카테고리의 다른 글

[DB개념] 식별, 비식별관계  (0) 2019.12.07
[오라클] 복합키에 관하여(pk 2개)  (0) 2019.12.06
[오라클] 오라클 익스포트 기능  (0) 2019.11.04
[오라클] 오라클 자료형  (0) 2019.10.22
[MySQL] 자료형  (0) 2019.10.14

mvc 패턴에서 리스트 출력을 할 경우 list 메소드의 return 값은 list이다.

해당 List는 D1111PsdVo이며, PsdVo는 아래와 같다.

위의 사진에서 보면 puploadname을 이용하여 사진을 불러오고 있다.

그러므로 li로 반환되는 값을 불러올 경우 PsdVo bean파일의 변수를 이용하여 불러와야한다.

 

 

위의 코드를 실행시 아래와 같은 오류가 발생했다.

해당 오류가 발생했다면 우선 커넥션 풀의 connection 부분을 살펴봐야 한다.

보면 jdbc/basicjsp에 연결을 시도하려고한다.

그러나 내가 실수한게 상기 데이터는 오라클에 연결해야한다.

그러므로 연결을 잘못했으므로 해당 문제가 발생한 것이다.

 

위는 연결을 해야 하는 오라클 데이터베이스 및 데이트블이다.

그러므로 server.xml에서 연결하려고하는 커넥션 풀의 이름을 확인 후 수정을 진행하도록하자

아래를 참고하여 수정을 진행하면 될 것 같다.

 

수정 후 정상 입력되는 것을 확인할 수 있다.

+ Recent posts