struts1.3에서 커넥션풀을 이용한 db접속 struts1.2까지는 스트럿츠 독자적인 데이터소스가 제공되고 있었다. 스트러츠 1.3부터는 그 기능이 지원되지 않고 커넥션풀 라이브러리를 이용하는것으로 대체되었다. 커넥션풀이란 시간이 걸리는 데이터베이스와의 접속을 미리 해두고 생성된 커넥션 객체를 다수의 클라이언트로부터 이용되어지는 기능을 말한다. 이런 기능으로 하여금 데이터베이스 접속에 소요되는 시간과 자원을 절약하는것이 가능하게 된다. 그리고 접속정보의 관리란, 데이터베이스의 접속에 필요한 jdbc드라이브명, jdbc접속url, 유저명, 패스워드과 같은 정보를 일괄관리 하는기능이다. java.sql.Connection을 필요할때마다 이용하는것이 아니라, javax.sql.DataSource를 이용것으로 간단하게 데이터베이스를 활용하는것이 가능하게 ..
썸네일 [스트럿츠1.3] JNDI설정을 통한 DB접속 회사에 내준 교육자료가 스트럿츠1을 기반으로 한 개발이였다. 선조들이 쓰던 스트럿츠를 일본에서는 아직 주류로 하고 있는것같아 조금 놀랐다. 몇년전에 학원에서 잠깐 맛보기로 한적이 있어서 작동개념에 대해서는 대충 아는데, DB접속을 스트럿츠에서는 당최 어떻게 하는지 몰라서 구글링 해서 겨우 찾았다. getsource가 사라진 스트럿츠1.3 구글링해서 찾아보면 대부분 action클래스에서 부모클래스의 메소드인 getSource메소드를 호출하여 커넥션을 가져왔다. 그러나 1.3부터는 getSource메소드가 사라졌다. 처음에 나는 그것도 모르고 열심히 찾았다. 왜 없는걸까 하고 api도 뒤졌지만 찾을수 없었다. (삽질). 없어진 이유는 요즘 워낙 서버에서 db풀기능을 잘 지원해서 따로 지원할 이유가 없어졌다고..
썸네일 특정 패키지의 모든 클래스에 대한 메타데이터 읽어들이기 스프링 프레임 워크에서는 편리하게도 특정 패키지나 클래스, 또는 패턴을 지정하면 해당하는 클래스에 대해서 빈으로 등록해주는 편리한 기능을 가지고 있습니다. 저는 이게 단순히 리플렉션에 의한것이라고 추측했는데 그게 아니더라구요. 일단 소스를 한번 보면 대략 이렇습니다. 만약에 이런 패키지가 존재한다고 가정하면은 다음과 같이 지정하면 위의 클래스에 대한 메타정보를 다 읽어들이게 할 수 있다는거지요. com/test/mpapp/*.class 역시 스프링에서는 이렇게 읽어들이는것을 리플렉션으로 하지는 않습니다. asm이라는 라이브러리에 포함된 기능을 이용한다고 하네요. 구체적으로 확인하면 다음과 같습니다. PathMatchingResourcePatternResolver resolver = new PathMatc..