netbean 6.8에서 JSTL -(glassfish v3, tomcat 6)

0

Written on 오후 6:44 by 강여사(J.Y.Kang)

JSTL 1.2 와 데이터베이스를 연동하는 예제입니다.

DB는 JavaDB(Derby의 sample)을 사용
WAS 로는 glassfish v3 preview를
WS 로는 tomcat 6.0.20 을 사용합니다.

EE버전은 모두 5이고, JSTL 1.2 (1.1사용) 입니다.

우선 웹 프로젝트를 만듭니다.
new project

JavaWeb 에 Web application 선택 , 다음 클릭
프로젝트의 이름은 JSTL를 끝에다 붙였습니다(적당히), 다음 클릭
서버는 일단 glassfish v3 preview에서 먼저 작업하고 나중에 tomcat 으로 변경할 예정입니다.
따라서 기본설정된대로 glassfish v3 도메인 선택, 마침 클릭
기본작업이 된 index.jsp 파일에서 오른쪽 파레트의 databases를 확장한 후 DB Report를 Hello World 아래 끌어다 놓습니다.

그럼 데이터에 대한 설정이 나오는데 여기 Data Source 에는 jdbc/sample 을 쿼리문에는 select * from customer 를 입력합니다. (derby의 sample 데이터베이스의 customer 조회이며, glassfish에 jdbc/sample 이라는 이름으로 데이터소스 처리되어 있습니다.)
그런 다음 web.xml (본인 프로젝트)에서 resource 작업을 합니다. resource 뷰를 선택합니다.
resource ref 에서 add 버튼을 누르고 resource name을 jdbc/sample 로 기타는 기본 설정으로 OK 합니다. (만약 이 대목이 작업되지 않으면 jar 가 해당위치에 있어도 no suitable driver 에러가 납니다).
실행(run)
정상 수행결과입니다.

이번에는 서버를 톰캣으로 변경해보겠습니다. 톰캣에는 glassfish 와는 달리 여러가지가 작업이 안되어 있으므로 추가 설정해야 할 게 많습니다. 일단 해당 프로젝트에서 서버 변경부터 시작하겠습니다.
프로젝트에서 오른쪽 마우스 클릭 - properties 선택
RUN 에서 서버를 Apache Tomcat 6.0.20 으로 변경합니다.
확인 클릭
톰캣으로 변경하면 프로젝트에 자동으로 context.xml 작업이 되는데 META-INF 안에 있습니다.
해당 파일을 연 후, 마지막에 /> 이 부분을 > 으로 바꾸고, 그 안에 다음 내용을 작업해 넣습니다.
===================================================================
<Context antiJARLocking="true" path="/WebApplicationJSTL">
<Resource name="jdbc/sample" auth="Container" type="javax.sql.DataSource"
maxActive="100 maxIdle="30" maxWait="10000"
username="app" password="app" driverClassName="org.apache.derby.jdbc.ClientDriver"
url="jdbc:derby://localhost:1527/sample"/>
</Context>
===================================================================

그런 다음 derby의 드라이버를 tomcat_home/lib 안에 복사해 넣습니다. (derby.jar, derbyclient.jar, derbynet.jar 3개)
그리고 JSTL 관련파일을 프로젝트의 라이브러리에 추가합니다.
프로젝트의 library 에서 오른쪽 마우스 클릭 - 라이브러리 추가 를 선택합니다

라이브러리에서 JSTL 1.1 을 선택하여 아래 추가 버튼을 누릅니다.
그런 다음 deploy 를 합니다(이때 base에 context.xml 이 반영됩니다)
이제 run (실행) 합니다
톰캣에서도 정상적으로 수행됩니다

If you enjoyed this post Subscribe to our feed


No Comment

댓글 쓰기