이번 게시물에서는 Script.aculo.us 를 이용한 ajax 어플리케이션이 넷빈 6.5 에서는 어떻게 또 만들어지는 지 보도록 하겠습니다. (자바스크립트, JPA , servlet, 등등 사용)
일단 작업환경은
------------------------------------------------------------
넷빈 6.5
JDK 는 version 6 이거나 version 5
글래스피시 v2 (UR2)
그리고 데이터베이스는 mysql 를 사용하도록 하겠습니다.
------------------------------------------------------------
그럼 프로젝트 만들기부터 시작해보도록 하겠습니다.
최종 프로젝트가 웹이니 만큼 웹 어플리케이션 선택
new project - java web - web application
next

프로젝트 이름은 Autocomplete
경로는 알아서
next

서버는 glassfish v2 로
나머지는 디폴트로
finish

그럼 일단 index.jsp 페이지가 보이는 데 그냥 두시고
Services 탭으로 가서 Databases 를 확장시킨 다음 mysql 에서 데이터베이스를 새로 만들도록 하겠습니다.
(이 작업에 있어 넷빈 6.5 설치 이전에 mysql 이 해당 컴퓨터에 설치되어 있다면 자동으로 잡힙니다. mysql 은 당연 따로 설치하는 거구요- 썬의 공급파일들중에는 mysql 포함버전도 있습니다만 대개는 포함되어 있지 않습니다. http://www.mysql.com 에 가셔서 다운받은후 설치한 다음 진행하시면 됩니다. 뭐 아니면 다른 데이터베이스를 선택하여 진행하셔도 됩니다. (예를 들어, JavaDB 나 oracle 등등)
MySQL Server ... 에서 오른쪽 마우스를 클릭하면 Create Database 메뉴가 나옵니다. 클릭

새로운 데이터베이스 이름을 states 로 줍니다.
ok

그러면 잠시후 해당 커넥션이 자동작업됩니다.
jdbc:mysql://localhost:3306/states ...
여기서 오른쪽 마우스를 클릭해서 connect 를 시킨 다음 메뉴 중의 execute command 를 클릭합니다.
그럼 SQL 편집기가 보여지는데 거기에 다음과 같이 쿼리를 적습니다.
--------------------------------------------------------------------
<PRE>CREATE TABLE STATES (
id INT,
abbrev VARCHAR(2),
name VARCHAR(50),
PRIMARY KEY (id)
);</PRE>
--------------------------------------------------------------------
그런 다음
. 아이콘을 눌러 쿼리를 수행합니다. (run query)

그런 다음 states 커넥션(jdbc:mysql://....states...) 을 확장시켜 Tables 노드를 누른다음 states 에서 다시 오른쪽 마우스를 클릭하여 Execute Command 메뉴를 누릅니다.
다시 SQL 편집창에서 다음을 붙여넣습니다.
--------------------------------------------------------------------------------------
<PRE>INSERT INTO STATES VALUES (1, "AL", "Alabama");
INSERT INTO STATES VALUES (2, "AK", "Alaska");
INSERT INTO STATES VALUES (3, "AZ", "Arizona");
INSERT INTO STATES VALUES (4, "AR", "Arkansas");
INSERT INTO STATES VALUES (5, "CA", "California");
INSERT INTO STATES VALUES (6, "CO", "Colorado");
INSERT INTO STATES VALUES (7, "CT", "Connecticut");
INSERT INTO STATES VALUES (8, "DE", "Delaware");
INSERT INTO STATES VALUES (9, "GL", "Florida");
INSERT INTO STATES VALUES (10, "GA", "Georgia");
INSERT INTO STATES VALUES (11, "HI", "Hawaii");
INSERT INTO STATES VALUES (12, "ID", "Idaho");
INSERT INTO STATES VALUES (13, "IL", "Illinois");
INSERT INTO STATES VALUES (14, "IN", "Indiana");
INSERT INTO STATES VALUES (15, "IA", "Iowa");
INSERT INTO STATES VALUES (16, "KS", "Kansas");
INSERT INTO STATES VALUES (17, "KY", "Kentucky");
INSERT INTO STATES VALUES (18, "LA", "Louisiana");
INSERT INTO STATES VALUES (19, "ME", "Maine");
INSERT INTO STATES VALUES (20, "MD", "Maryland");
INSERT INTO STATES VALUES (21, "MA", "Massachussetts");
INSERT INTO STATES VALUES (22, "MI", "Michigan");
INSERT INTO STATES VALUES (23, "MN", "Minnesota");
INSERT INTO STATES VALUES (24, "MS", "Mississippi");
INSERT INTO STATES VALUES (25, "MO", "Missouri");
INSERT INTO STATES VALUES (26, "MT", "Montana");
INSERT INTO STATES VALUES (27, "NE", "Nebraska");
INSERT INTO STATES VALUES (28, "NV", "Nevada");
INSERT INTO STATES VALUES (29, "NH", "New Hampshire");
INSERT INTO STATES VALUES (30, "NJ", "New Jersey");
INSERT INTO STATES VALUES (31, "NM", "New Mexico");
INSERT INTO STATES VALUES (32, "NY", "New York");
INSERT INTO STATES VALUES (33, "NC", "North Carolina");
INSERT INTO STATES VALUES (34, "ND", "North Dakota");
INSERT INTO STATES VALUES (35, "OH", "Ohio");
INSERT INTO STATES VALUES (36, "OK", "Oklahoma");
INSERT INTO STATES VALUES (37, "OR", "Orgeon");
INSERT INTO STATES VALUES (38, "PA", "Pennsylvania");
INSERT INTO STATES VALUES (39, "RI", "Rhode Island");
INSERT INTO STATES VALUES (40, "SC", "South Carolina");
INSERT INTO STATES VALUES (41, "SD", "South Dakota");
INSERT INTO STATES VALUES (42, "TN", "Tennessee");
INSERT INTO STATES VALUES (43, "TX", "Texas");
INSERT INTO STATES VALUES (44, "UT", "Utah");
INSERT INTO STATES VALUES (45, "VT", "Vermont");
INSERT INTO STATES VALUES (46, "VA", "Virginia");
INSERT INTO STATES VALUES (47, "WA", "Washington");
INSERT INTO STATES VALUES (48, "WV", "West Virignia");
INSERT INTO STATES VALUES (49, "WI", "Wisconsin");
INSERT INTO STATES VALUES (50, "WY", "Wyoming");</PRE>
--------------------------------------------------------------------------------------
역시 그런 다음 Run query 수행

작업을 마친다음 Tables 아래 states 에서 마우스 오른쪽을 클릭한 후 view data 메뉴를 클릭하면 테이블이 조회됩니다. (확인)

이제 데이터베이스 준비 작업이 완료되었습니다.
그럼 이 데이터베이스 자료들을 가지고 Entity classes 를 만들도록 하겠습니다.
다시 projects 탭으로 와서 프로젝트(autocomplete)에서 오른쪽 마우스 클릭
new - Entity Classes from Database... 클릭

그럼 Database Tables 창에서 데이터 소스 선택이 있는데
New Data Source... 클릭
나타난 create data source 팝업창에서 다음과 같이 입력합니다.
jndi name: jndi/states
커넥션은 드롭다운메뉴에서 states 커넥션을 선택합니다.
ok

그럼 available tables 에 states 테이블이 올라오는데 add 버튼을 눌러 선택쪽으로 옮겨줍니다.
next

해당 프로젝트에 persistence unit 이 없으므로 새로 생성합니다.
create persistence unit 버튼 클릭 - 디폴트 세팅대로 create 클릭

패키지 이름은 server 로 주겠습니다.
next

그럼 persistence.xml 파일이 그래픽으로 제시되는데 여기서 마우스 위치에 있는 Include All Entity Classes in "Autocomplete" Module 체크는 해제합니다.

그리고는 Add Class 버튼을 클릭하여 server.States 를 선택한후 ok
(만약, 자동 생성시의 EntityManagerFactory 와의 인식여부 관계 등에 대해 살펴보시기 바랍니다.)

아무튼~ 그렇게 해서 확인한 후
XML 탭을 누릅니다.

소스코드 편집기에서 원래 있던 <properties /> 대신
다음 사항을 작업합니다. 이때 각 value 는 각 mysql 등의 데이터베이스 접속시의 user 와 pass 를 말합니다. 아까 states 데이터베이스 생성시의 user/password. (게시물에서는 예를 들어 걍 duke 라고 표현했을 뿐입니다. 실제 내용은 다르죠 ^^;; 이 대목은 똑같이 따라하시지 마시기를..--;)
---------------------------------------------------------------------------
<PRE><properties>
<property name="toplink.jdbc.user" value="duke"/>
<property name="toplink.jdbc.password" value="duke"/>
</properties></PRE><PRE>
---------------------------------------------------------------------------
</PRE>

계속...