프레임워크 어떻게 돌아가는가?
기본적으로 개발을 위해서는 전자정부프레임워크의 안에서 java, xml ,jsp가 서로 어떻게 연결되어 돌아가는 지에 대해서 알아야한다. 이번 포스팅에서 하나하나씩 예를 들면서 값을 어떻게 넘기는지 확인해 나가보도록 하자.
첫번째 전자정부프레임워크가 설치되어 웹 브라우저에서 확인 가능한지 보자.
localhost:7070/sample/egovSampleList.do
이런 화면이 떴는가? 그렇다면 성공이다. 안됐다면 다시 설치파일을 다시 다운 후 설치가 하길 바란다.
혹시 다른 사람의 프로젝트 파일을 받았다면
error가 있을 것이다. maven설정이 잘 안되어서 그렇다고 하는데 해당 프로젝트에 마우스 우클릭하면
업데이트 프로젝트를 실행 후 Run as 에서 빌드를 해준다.
빌드 후에 빨간 표시가 없어진다면 성공이다. 이제 천천히 어떻게 돌아가는지를 확인 해보자.
생성된 egovFrame web Poject에서는 다음과 같은 폴더를 볼 수 있을 것이다. 처음에는 Controller.java의 파일을 찾아보자
src/main/java에서 보면 sample패키지에 web패키지를 들어가면 EgovSampleController.java라는 파일이 있는 것을 알 수 있다.
sampleService.selectSampleList(searchVO) 에서 searchVO를 가지고 sampleService에 있는 selectSampleList가 실행된다는 것을 알 수 있다.
그렇다면 sampleService에서 selectSampleList를 찾아보자.
impl에서 보면 EgovSampleServiceImpl.java가 있을 것이다.
아까 우리가 찾고 있던 selectSampleList가 여기 있다.!그런데 return 값에서 보면 sampleDAO에 selectSampleList를 보내는것을 볼 수 있다. 그렇다면 sampleDAO를 확인해 어떻게 가는지 다시한번 확인 해보자.
sampleDAO에서도 selectSampleList를 찾아보면 list형태로 반환해주는데 저기 이름이 list("sampleDAO.selectSampleList")라는 이름은 xml에서 쓰이는 이름과 같다.
sql과 관련된 파일은 resource에 다 있으니 sql관련한 파일을 찾을 때는 이곳을 확인해 봐야한다.
지금 보이는 EgovSample_Sample_SQL.xml
여기서 searchVO를 받아 sql문이 돌아가게 되고 그 값을 egovMap이 받아 다시 Controller.java에게 돌려주게 된다.
여기서 sql문에서 저장된 값 egovMap값이 sampleList에 저장하게 되고 model를 통해서 값을 출력할 수 있는 jsp로 resultList란 이름으로 보내지게 되는것이다.
resultLIst를 jsp를 통해 값을 출력하게 된다.
이상으로 프레임워크가 어떻게 돌아가는지를 확인해 보았다. 간단하게 요약하지면
0. 웹브라우저 ->/eGovSampleList.do
1. Controller.java
->sampleService.selectSampleList(searchVO);
2.impl 패키지의 EgovSampleServiceImpl.java
->selectSampleList(SampleDefaultVO searchVO)
3.DAO 패키지의 dao 자바파일 실행(SampleDAO.java)
public List<?> selectSampleList(SampleDefaultVO searchVO) throws Exception {
return list("sampleDAO.selectSampleList", searchVO); //xml의 아이디 값
}
4.xml 파일(sql)
5.Controller.java
List<?> sampleList = sampleService.selectSampleList(searchVO);
model.addAttribute("resultList", sampleList); //model만이 jsp로 넘어갈 수 있다. jsp에는 resultList가 있어야한다.resultList로 값을 넘김
return "sample/egovSampleList"; //jsp 확장자 생략
6. 출력 -> egovSampleList.jsp
sql과 관련된 소스는 resource에 다 들어 있음
라고 볼 수 있다. 그리고 환경설정과 관련된 파일은 pom.xml인데 이곳에서
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
와 같이 오라클 버전 추가 등의 작업이 필요하며
context-datesource.xml를 통해 실제 datebase에 들어가게 할 수 있도록 oracle 또는 mysql로 설정을 바꿔주고
현재 출력되는 table생성 및 insert한 데이터는 위에 db폴더에 sampledb.sql파일에 있으며
CREATE MEMORY TABLE SAMPLE(ID VARCHAR(16) NOT NULL PRIMARY KEY,NAME VARCHAR(50),DESCRIPTION VARCHAR(100),USE_YN CHAR(1),REG_USER VARCHAR(10))
중 메모리만 빼고 나머지를 입력하여 테이블 생성 및 데이터를 넣으면 된다.
이상으로 프레임워크가 어떻게 돌아가는에 대해 알아보았다.
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'개발 > jsp' 카테고리의 다른 글
jsp framework1(boardList1.jsp) (0) | 2015.11.18 |
---|---|
JSTL 라이브러리 태그 (0) | 2015.10.29 |
JSP개발에 디버깅에 필요한 로그확인/쿼리까지 확인가능(log4j)v3e0e4e5a (0) | 2015.10.22 |
jsp (0) | 2015.10.16 |
ibatis (0) | 2015.10.15 |
댓글