Framework/Ibatis2012. 9. 15. 20:33

ibatis란 (Object Relational Mapping)

JAVA에서 SQL를 따로 관리할수 있는 프레임워크

자바에서 DB연결시 받아올수 있을 데이터의 코드를 엄청~ 줄여주는 프레임워크


ibatis를 사용하지 않았을 때의 불편함

1. connection , PreparedStatement, ResultSet를 이용해서 써야 하므로

   코드가 길어지고, 예외처리 부분도 복잡합니다.

2. 데이터베이스에서 가져온 값을 하나하나 수작업으로 넣어야 합니다.

3. Query Language 를 자바코드 안에 들어가므로 수정이 용이하지 않습니다.

ibatis를 사용했을 때의 편안함

1. connection, preparedStatement 등 예외처리가 복잡한점 단 몇줄로 코드로 간결하게 할수 있음

2.  QueryForList, QueryForObject로 한번에 다 받아와서 뿌려줄수 있음

3. xml파일을 지정해서 안에 쿼리만 넣도록 만듬 

'Framework > Ibatis' 카테고리의 다른 글

struts2에서의 ibatis  (0) 2012.09.15
Spring에서 ibatis의 활용  (0) 2012.09.15
Posted by NeverTry
Framework/Struts22012. 9. 15. 12:25



이미지 출처 [http://agapeuni.tistory.com/313]


Structs 동작원리



1. Client로부터 request가 들어오면 struts의 생명주기가 시작된다. (즉 Struts가 시작된다.)

Servlet Container는 이 request를 표준 filter chain으로 전달합니다.


2  FilterDispatcher라는 Filter가 호출됩니다. 이 Filter는 ActionMapper를 참조해서 

Action을 호출할지 안할지 결정합니다.


3 만약 ActionMapper가 호출해야할 Action을 찾으면 FilterDispatcher는 ActionProxy에게

통제권을 넘겨줍니다.


4 ActionProxy는 'Struts.xml'과 같은 설정 ( Configuration ) file을 읽어서 ActionInvocation class를 생성한 후

통제권을 넘겨줍니다.


5 ActionInvocation은 필요할 경우 Interceptor 를 하나씩 호출한 후, 처음에 호출하기로 

결정한 Action을 호출합니다.

(Interceptor는 Logging, Validateion, File Upload, Double-submit guard 등 struts2 에서 제공하는 특정 역할을 수행합니다.)


6 이 Action의 결과값이 반환되면 ActionInvocation은 struts.xml에 정의된 결과 Page를 찾는다.

(Page는 결국 response가 된다.)


7 Action 호출전에 호출되었던 Interceptor를 역순으로 다시 하나씩 호출한후, response를

Filter(대부분 FilterDispatcher) 넘겨준다.

이후 결과가 servlet Container에 넘겨지고 결국 Client에게 보여진다.

'Framework > Struts2' 카테고리의 다른 글

Struts2 validation 예제  (0) 2011.11.03
Struts2 Validation  (0) 2011.11.03
Posted by NeverTry
Web/MVC패턴 게시판2012. 9. 15. 11:52

환경  :   WINDOWS7,  ECLIPSE JUNO,  JDK7,  ,TOMCAT7.0


만드실 파일 : Controller.java, Impl.java, Lislmpl.java, web.xml, start.jsp, test.jsp, test.param

    ↓ 완성파일

Test.zip


전체 설명 )

start.jsp를 실행시킨다.

실행을 하면 제일 먼저 web.xml에서 설정한대로 Servlet클래스로 먼저간다.

Controller.java 클래스를 실행하고 Servlet 생명주기대로 init() method가 먼저 실행한다.

init() method가 하는 역할은 list.test라는 게 들어오면  MVC패키지 밑의 ListImpl클래스로 가게 한다.

init() method에서 test.param에 있는 내용

  /받아오는 문자열 = 실행시킬클래스   

list.test가 오면 MVC패키지 안에 ListImpl클래스를 실행시키도록 설정을 하고 Map에 담고 있다.

이렇게 설정을 하고

start.jsp 실행시킨다.

start.jsp에서는 버튼 한개 뿐이다.

버튼을 클릭하면 방식은 post방식으로 그리고 주소는 list.test로 이동한다.

Controller.java에서 

@Override 되어있는 부분중 doPost() method를 실행시킨다.

그 안에는 excute() method가 있다.

excute() method에서는 list.test가 들어오면 ListImpl로 이동시킨다.

ListImpl Class에서는 test.jsp로 리턴하는 내용뿐이다.

다시 excute() method로 돌아와서 test.jsp로 이동해라고 명령을 내린다.

그러면 test.jsp가 보여지게 된다.


결과 화면)

 -> 



 




'Web > MVC패턴 게시판' 카테고리의 다른 글

web.xml  (0) 2012.09.15
View  (0) 2012.09.15
Model  (0) 2012.09.15
Control  (0) 2012.09.15
(Model View Control) Pattern  (0) 2012.09.15
Posted by NeverTry