Đồ án tốt nghiệp đại học: " Nghiên cứu công nghệ JSP & Java, xây dựng Website bán hàng cho công ty cổ phần chế biến gỗ Việt Đức Kha " - Pdf 19

TRƯỜNG………………………
KHOA…………………… ĐỒ ÁN TỐT NGHIỆP:
Đồ án tốt nghiệp đại học: " Nghiên cứu công
nghệ JSP & Java, xây dựng Website bán hàng
cho công ty cổ phần chế biến gỗ Việt Đức Kha "

Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần

cũng như thế giới. Do thời gian hạn chế, việc
tìm hiểu và xây dựng một ứng dụng trên
công nghệ Java (một công nghệ mới) đối với
em rất khó khăn. Dù vậy, ứng dụng cũng đã
triển khai được phần lớn các yêu cầu chính
mà một ứng dụng thương mại điện tử cần
đáp ứng.
Em xin chân thành cảm ơn thầy Nguyễn
Đức Thuần đã tận tình hướng dẫn, giúp em
hồn thành tốt đồ án tốt nghiệp này.
Em xin chân thành cảm ơn !

Nha Trang, tháng 08 năm 2003.
SVTH : Nguyễn Văn Ty
Lớp : 40
TH

MSSV: 8D15075 Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 3
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 4



Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 5

 Về phía khách hàng
 Các khách hàng có thể đăng kí mua hàng, cũng như việc xem và lựa
chọn những sản phẩm qua mạng nếu họ đồng ý với những sản phẩm đó.
 Khách hàng có thể dễ dàng xem hàng, hoặc đăng ký mua hàng bất cứ
lúc nào thông qua mạng máy tính khi mà máy chủ đã khởi động.
 Các khách hàng có thể dễ dàng tìm thấy sản phẩm mà mình cần, việc
đăng kí mua hàng chỉ thông qua thao tác nhấn chuột trên sản phẩm mà mình lựa chọn.
 Các khách hàng còn có thể theo dõi được những sản phẩm mới mà công
ty chuẩn bị bán ra trong một thời gian sắp tới.
 Khi cần thiết thì khách hàng có thể hỏi đáp thông qua công ty, hoặc
thông qua diễn đàn nhằm góp ý cũng như việc thắc mắc với công ty. Diễn đàn sẽ giúp
cho khách hàng giải quyết các vấn đề mà mình không giải quyết được.
 Về phía người quản lý
 Người quản lý có thể theo dõi thành viên, đơn hàng của các khách hàng
đang tham gia mua hàng của công ty mình (như số lượng mặt hàng, số tiền, của khách
hàng …) và nắm các thông tin của khách hàng như email, địa chỉ để liên lạc khi cần.
 Người quản lý có thể thêm sản phẩm, xố sản phẩm, thêm người quản lý,
người sử dụng thông qua chương trình đã được xây dựng.

2. Về mặt kỹ thuật
Bài tốn đòi hỏi hệ thống phải có những khả năng về kỹ thuật như sau:
Ứng dụng triển khai trên môi trường JSP.
Hỗ trợ nhiều hệ điều hành (cho phía client).
Hỗ trợ nhiều trình duyệt (như IE, Netscape )
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 7
Hỗ trợ nhiều người dùng.
Số lượng người tham gia đăng ký mua hàng không giới hạn.
Số lượng các sản phẩm, người đăng ký sử dụng thêm vào không giới hạn.
3. Một số yêu cầu khác

Java được thiết kế cho mục đích đa nền (không phụ thuộc vào bất kỳ hệ điều
hành nào) nên chương trình Java sau khi biên dịch cho ra một file nhị phân khác với
các file nhị phân thực thi của Windows như .exe hay .com. java biên dịch ra mã nhị
phân gọi là byte-code có đuôi mở rộng là .class và được triệu gọi thực thi trong máy ảo
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 8
Java (Java Virtual Machine – JVM). Máy ảo Java thực sự là một trình thông dịch bình
thường có khả năng thực thi các mã byte-code tương tự như bộ xử lý của máy tính
thực thi các mã nhị phân là các chỉ thị mã máy. Nói đúng hơn máy ảo Java là một kiến
trúc của bộ xử lý nhưng thực thi bằng cơ chế phần mềm thay vì phần cứng. Chính vì lý
do đó mà ta chỉ cần viết máy ảo Java cho từng hệ điều hành thì chương trình Java
(.class) có thể chạy như nhau trong mọi hệ điều hành dưới nền một kiến trúc máy ảo.
Cha đẻ của Java là hãng Sun Microsystem chịu trách nhiệm xây dựng các máy ảo Java
cho những hệ điều hành khác nhau. Nhiệm vụ của lập trình viên là chỉ viết chương
trình mã nguồn Java sau đó biên dịch chương trình ra dạng file thực thi byte-code để
chạy trên máy ảo.
Java có thể dùng để viết chương trình ứng dụng tương tự như mọi ngôn ngữ lập
trình khác. Java thiên về lập trình cho các ứng dụng mạng và Internet. Ngồi ra ta có thể
dùng Java để viết các Applet hoặc Servlet hay trang JSP là những thành phần ứng
dụng dành cho trình duyệt Internet (browser) và trình chủ (Web server).
Java là một ngôn ngữ đơn giản, hướng đối tượng, phân tán, thông dịch mạnh
mẽ, bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả cao và linh động (the Java TM
Language an Overview – sun Microsystems). Đó là những đặc điểm quan trọng mà
không phải bất cứ một ngôn ngữ lập trình nào cũng có được.
Applet là những mẫu chương trình nhỏ được nhúng và chạy ngay trong trình
duyệt. Applet giúp bạn thực hiện được rất nhiều tương tác bên trong trình duyệt. Có
thể nói Java ra đời và nổi tiếng chính là nhờ khả năng viết Applet của nó. Mặc dù vậy,
ngày nay các Applet không còn được sử dụng nhiều trên các trình duyệt. Chúng được
thay thế bằng ngôn ngữ kịch bản JavaScript. Tuy nhiên vẫn còn nhiều điều mà Applet
có khả năng lập trình mạnh mẽ hơn JavaScript như giao tiếp với Web server, thực hiên

Applet Java:
Applet như đã nói là những mẫu chương trình nhỏ chạy ngay trong trình duyệt
và tương tác với trình duyệt. Vì applet đã nói là những mẫu chương trình nhỏ chạy
ngay trong trình duyệt và tương tác với trình duyệt. Vì vậy applet phải tuân thủ theo
một cấu trúc nhất định để có thể chạy được trên các trình duyệt khác nhau.

1. Tạo một applet:
Khuôn mẫu của một applet thể hiện ở bốn phương thức sau: Error! Trong đó :
appletName: tên của applet.
Init: để khởi tạo một applet khi một applet được nap (loaded) hay được nạp lại
(reloaded).
Start: bắt đầu hoạt động của applet khi applet được nạp hay khi người dùng
thăm lại trang chứa applet.
Stop: chấm dứt hoạt động của applet khi người dùng rời khỏi trang chứa applet
hay đóng trình duyệt.
pubilc class appletName extendes
Applet
{
public void init() {…}
public void start() {…}
public void stop() {…}

2. JavaBeans.
JavaBeans do Sun Microsystem phát triển dựa trên nền tản của Java. JavaBeans
là những giao tiếp lập trình được dùng để tạo ra những khối mã xây dựng sẵn và có thể
dùng lại được. Những thành phần JavaBeans có thể được nhúng vào trong một ứng
dụng, liên kết với các thành phần JavaBeans khác hay được dùng để kết nối với các
ứng dụng. Bằng cách dùng các thành phần JavaBeans các nhà phát triển ứng dụng có
thể giảm các khối lượng mã mà họ phải viết. Họ có thể tự tạo ra các thành phần
JavaBeans riêng biệt hoặc mua lại chúng từ các nhà phát triển thứ ba khác.
Trong thời gian qua, môi trường Internet đã trở thành động lực chính cho hướng
tiếp cận thành phần (component) dựa trên Java. Nó đang trở nên ngày càng phổ biến
với các ứng dụng phân tán (distributed application) trên mạng. Theo mô hình này một
thành phần của ứng dụng sẽ chạy trên máy khách (client), một phần chạy trên lớp
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 11
trung gian, phần còn lại sẽ chạy trên máy chủ (server) với tác vụ xử lý cơ sở dữ liệu
hay tính tốn phức tạp. Các ứng dụng Java xây dựng bằng các thành phần JavaBeans có
thể đáp ứng cho cả hai phía client và server.
Không có một bí ẩn nào trong việc tạo ra một lớp đối tượng JavaBeans. Ta xây
dựng lớp đối tượng JavaBeans bằng cách cài đặt giao diện (interface)
java.io.Serializable. Tiếp đến ta thiết lập và xây dựng các phương thức mang tên get,
set để trình bày cách gọi những thuộc tính của Beans trong trang JSP.
Cấu trúc của một đối tượng Beans như sau:
Error!


//Khai báo phương thức trả về giá trị cho thuộc tính myvalue
public int get_myvalue()
{
return the_value;
}
}
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 12
Cơ chế cài đặt một thuộc tính có thể thông báo cho các thành phần JavaBeans
khác biết khi nó thay đổi như sau: cài đặt hai phương thức dùng để đăng ký và loại bỏ
một đối tượng listener.
Error! Mỗi thành phần JavaBeans khác phải tự cài đặt một đối tượng listener từ giao
diện PropertyChangeListtener có nhiệm vụ phản ứng lại những thay đổi này, sau đó
đăng ký lại với thành phần JavaBeans A nhờ vào các phương thức trên.
Phương thức cần cài đặt cho giao diện PropertyChangeListtener là:
Error! Các thủ tục trên đây chỉ thực hiện nhiệm vụ đăng ký và tạo đối tượng listener
mà thôi. Để các đối tượng listener có thể nhận biết sự thay đổi của thuộc tính, ta phải
gọi phương thức firePropertyChange của đối tượng PropertyChangeSupport từ thành
phần JavaBeans A như sau:
Error!



Mỗi thành phần JavaBeans khác phải tự cài đặt một đối tượng listener từ giao
diện VetoableChangeListener có nhiệm vụ phản ứng lại những thay đổi này (cho phép
hay không cho phép thuộc tính thay đổi), sau đó đăng ký với thành phần JavaBeans
nhờ vào các phương thức trên (add dùng để đăng ký còn remove dùng để loại bỏ đối
tượng listener).
Phương thức cần cài đặt cho giao diện VetoableChangeListener là:
Error! Nếu đối tượng listener không đồng ý thay đổi thuộc tính nó sẽ ném ra ngoại lệ
PropertyVetoException, thành phần JavaBeans sẽ bắt lấy và huỷ bỏ quá trình thay đổi
trị cho thuộc tính.
Cũng như thuộc tính dạng bound, khi thuộc tính constraint có dự định thay đổi
giá trị trong phương thức setter nó cần thông báo cho các đối tượng listener đã đăng ký
với nó bằng phương thức fireVetoableChange của đối tượng VetoableChangeSupport
từ thành phần JavaBeans như sau:
Error! Phương thức này sẽ thông báo đến mọi đối tượng listener (bằng cách gọi
phương thức vetoableChange của listener) đã đăng ký với thành phần JavaBeans.
* Xử lý tình huống của thành phần JavaBeans:
Đối tượng nào sản sinh ra tình huống được gọi là nơi phát sinh tình huống
(event source), đối tượng nào dùng để tiếp nhận và xử lý các tình huống phát sinh từ
đối tượng khác được gọi là đối tượng listener. Các tình huống nội tại (event state):
Một thành phần JavaBeans ngồi việc gởi tình huống đến những đối tượng khác

Listener nhận biết tình huống một cửa sổ bị đóng lại,
mở ra, thu nhỏ thành biểu tượng…
ActionListener
Listener nhận biết tình huống mà đối tượng sẽ phải
thực thi một tác vụ nào đó.
AdjustmentListener
Listener nhận biết tình huống mà đối tượng thay đổi
giá trị (như vị trí thanh trượt của thành phần scrollbar
chẳng hạn).
ItemListener
Listener nhận biết tình huống mà một phần tử thay đổi
trạng thái (như trong các thành phần checkbox,
choice…).
Có hai cách để tạo đối tượng listener giúp thành phần JavaBeans tiếp nhận tình
huống mà hệ thống đưa đến. Cách thứ nhất là tạo ra một đối tượng listener riêng biệt
sau đó thành phần JavaBeans sẽ đăng ký với hệ thống đối tượng listener này. Cách thứ
hai là dùng chính bản thân thành phần JavaBeans cài đặt cho giao diện listener và đăng
ký với hệ thống qua biến this.

3. Java Script.
3.1. JavaScript là gì?

Về nguồn gốc thì Java và JavaScript không liên quan gì với nhau. Java do Sun
Microsystem khởi xướng còn JavaScript tiền thân lại ra đời từ ngôn ngữ đặc tả
(scripting language) do hãng Netscape Communications đưa ra với tên là LiveScript.
Sau một thoả thuận giữa Sun và Netscape ngôn ngữ LiveScript và Java đã cùng bắt tay
nhau để tạo nên ngôn ngữ JavaScript. Tuy nhiên Java và JavaScript vẫn khác nhau về
cơ bản. Java là một ngôn ngữ lập trình mạnh mẽ, có thể dùng để viết applet hay bất kỳ
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 15

khai báo kiểu trong khi đối với Java điều này là bắt buộc.
Các đoạn mã lệnh của JavaScript được đặt trọn trong nội dung của trang Web
giữa hai thẻ:
Error!
Mã của JavaScript không thể dấu được vì nó hiện diện cùng với nội dung trang
Web. Nhưng ta có thể định nơi chứa mã nguồn bằng thuộc tính SCR trong thẻ
<SCRIPT> như sau:
Error! Nếu Java hơi khô khan thì ngược lại JavaScript rất sống động với những hình
ảnh cũng như kỹ xảo dùng để tương tác với trang Web. JavaScript cũng có thể điều
khiển được Applet nếu như applet cho phép điều đó.
II. JAVA SERVER PAGE – JSP.
JSP là công nghệ rất mạnh để tạo ra trang HTML về phía trình chủ. JSP là phần
mở rộng trực tiếp của Java Servlet. Bộ diễn dịch JSP sẽ ánh xạ trực tiếp mã Java thành
<SCRIPT LANGUAGE = “JavaScript “ SRC =”javacode.txt”>
< SCRIPT>
<SCRIPT LANGUAGE = “JavaScript “>
// Các đoạn mã lệnh của JavaScript được đặt ở đây
< SCRIPT>
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 16
Servlet. Viết JSP ta không cần trải qua quá trình biên dịch tập tin thực thi .class như
trong Servlet. JSP cung cấp mô hình lập trình Web dễ dàng và tiệân dụng hơn Servlet.
1. Cú pháp cơ bản của JSP.
1.1. Sử dụng thẻ bọc mã <%%>.

bỏ qua khi trình chủ diễn dịch trang JSP.
<html>
// đây là chú thích một dòng
/*
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 17
Chú thích
nhiều dòng
*/
</html>
JSP còn cung cấp thêm cho ta cú pháp chú thích <% %>. Tất cả các khối
lệnh Java và HTML nằm giữa hai dấu chú thích này sẽ được trình biên dịch trang bỏ
qua không quan tâm đến. Ví dụ:
<%
out.println (“ Đoạn này trình biên dịch sẽ bỏ qua”)
%>
Dấu chú thích này rất có hiệu quả. Nó giúp ta tạm thời cô lập hoặc che bỏ tác
dụng của một đoạn mã Java nào đó đang bị lỗi trong trang JSP. Ta chỉ tạm thời làm
mất tác dụng của chúng chứ không cần xố bỏ. 1.4. Khai báo phương thức và biến hằng <%!%>
Một cú pháp nữa mà JSP cung cấp đó là <%! %>. Cú pháp này cho phép ta
định nghĩa một hoặc nhiều phương thức và biến. Phương thức và biến sau đó có thể
được triệu gọi bất kỳ nơi đâu trong trang JSP.
2. Các đối tượng của JSP:
Trong JSP chúng ta có thể truy cập một số đối tượng của JSP mà không cần
phải khai báo. Trình dịch JSP sẽ nhận dạng những đối tượng này và dịch sang trang
Servlet.
2.1. Đối tượng Request:

response một lần nữa đến một trang JSP được chỉ định trong đối số
của phương thức.
- response.setContenType(java.lang.String type): Định dạng nội dung
xuất là kiểu type - đối số của phương thức.
2.3. Đối tượng Session:
Đối tượng session tham chiếu đến đối tượng javax.servlet.http.HttpSession. Đối
tượng session dùng để lưu các đối tượng khác từ những yêu cầu của client. Chúng đưa
ra hầu hết trạng thái đầy đủ của HTTP.
Đối tượng session được khởi tạo bằng cách gọi phương thức
pageContext.getSession() để tạo ra trang servlet. Cú pháp như sau:
Error!

Khi cần một biến nào đó có giá trị tồn cục từ khi mở cho đến khi kết thúc trình
duyệt, ta chọn đối tượng session. Đối tượng session sẽ tạo biến cục bộ cho phép lưu
một giá trị nào đó từ trang JSP này đến trang JSP khác trong suốt phiên làm việc của
chúng ta.
Để đối tượng session có thể lưu giữ những biến của chương trình ta cần phải
khai báo như sau:
Error!

Trong đó name là tên biến value là giá trị của biến.
session = pageContext.getSession()session.setAttribute(java.lang.String name, java.lang.Object value)
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 19
Khi cần truy xuất một biến nào đó của đối tượng session ta cần phải sử dụng
phương thức getAtribute() như sau: name chính là tên của biến mà ta cần truy xuất.
Error!

Trong nhiều trường hợp ta không cần phải sử dụng đối tượng config. Truy cập
đến ServletContext thông qua đối tượng application cũng đạt được kết quả tương tự.
2.7. Đối tượng Exception:
Đối tượng Exception chỉ tồn tại trong trang xử lý lỗi (error page). Nó dùng để
tham chiếu đến nguyên nhân gây ra lỗi mà trang xử lý lỗi có liên quan.
out.print(“Hello world!”);
session. getAttribute(java.lang.String name)
application = pageContext.getServletContext();

config = pageContext.getservletconfig():

Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 20
Lỗi có thể xuất hiện trong quá trình hoạt động của trang JSP ở hai giai đoạn:
giai đoạn thứ nhất lỗi thường phát sinh ở bước khởi tạo. Ở bước này trang JSP nhận
yêu cầu từ trình khách và chuẩn bị thực thi, tuy nhiên trước khi thực thi trang JSP cần
được dịch ra mã .class của Java và quá trình dịch có thể sinh lỗi. Lỗi ở bước này còn
gọi là lỗi thời điểm dịch (translation time error). Giai đoạn thứ hai, trang JSP có thể
phát sinh lỗi trong quá trình phản hồi các yêu cầu xử lý. Lỗi này được gọi là lỗi thời
điểm yêu cầu (request time error).
Kiểu lỗi JSP thứ nhất có thể xuất hiện khi trang JSP lần đầu tiên được triệu gọi.
Trang JSP sẽ đi qua quá trình biên dịch từ tâïp tin nguồn .jsp thành mã Java .java sau
đó được biên dịch thành đối tượng servlet ở mã byte-code là tập tin .class. Lỗi ở giai
đoạn này thường do quá trình biên dịch thất bại hoặc do lỗi cú pháp khi thông dịch từ
JSP sang mã nguồn Java. Lỗi này thường được báo với trạng thái mã lỗi là 500 hoặc
trình chủ Web có thể thông báo những mã lỗi biên dịch của riêng Java. Lỗi tại thời
điểm dịch thường được quản lý bởi bộ thông dịch JSP (JSP engine).
Kiểu lỗi thứ hai của trang JSP liên quan đến quá trình xử lý các yêu cầu
(request). Những lỗi này còn được xem là lỗi lúc thực thi (runtime error). Chúng có thể
xuất hiên bên trong nội dung trang JSP hoặc xuất phát từ lời gọi phương thức nào đó

b. Hành động <jsp:include>:
Hành động <JSP:include> cung cấp cấu trúc cho sự phối hợp tài nguyên tĩnh và
hành động của trang JSP hiện tại. Cú pháp của hành động này như sau:
Error!
Error!
Page: thuộc tính này trình bày quan hệ đường dẫn của tập tin ta muốn include.
Flush: thuộc tính này trình bày giá trị Boolean là true hay false.
Cú pháp đầu tiên mô tả yêu cầu nhúng (include) tập tin cần đưa vào trang JSP.
Cú pháp thứ hai chứa đựng phần tử con param được dùng để làm tham số cho mục
đích include.
c. Hành động <jsp: forward>:
Hành động <jsp: forward> cho phép trình dịch JSP gởi đi tại thời điểm thực thi
một yêu cầu hiện hành đến tài nguyên tĩnh, servlet, hay trang JSP khác. Khi hành động
này thực thi nó sẽ kết thúc trang hiện tại. Hành động <jsp:forward> có thể chứa hành
động <jsp: param>. Những thuộc tính này cung cấp các giá trị cho thông số yêu cầu
dùng cho việc chuyển hướng.
Cú pháp của hành động <jsp: forward> được mô tả như sau:
Error!

Thuộc tính của hành động <jsp:plugin> cho phép cấu hình dữ liệu để thể
hiện phần tử đó.
Type: thuộc tính này thể hiện loại plugin cần đưa vào. Ta có thể dùng applet
làm một thành phần nhúng.
Code: thuộc tính này cho biết tên của lớp (class) sẽ được nhúng.
Codebase: thuộc tính này là tham chiếu cơ sở hay đường dẫn liên hệ đến tập
tin plugin .class.
4. JDBC và ODBC (Java Database Connectivity và Open Database Connectivity).

4.1. JDBC.
JDBC (Java Database Connectivity) là giao thức của Java dùng để thực hiện
câu lệnh SQL. JDBC cung cấp tập hợp các lớp và giao diện cho phép phát triển các
ứng dụng Java và ứng dụng Web liên quan đến truy xuất cơ sở dữ liệu. Tương tác căn
bản nhất của của JDBC được liệt kê như sau:
Mở một kết nối với cơ sở dữ liệu (Open connection).
Thực thi các câu lệnh SQL (Execute SQL).
Xử lý dữ liệu (Process results).
<jsp:plugin type = “pluginType” code =
“classFile” codebase = “relativeURLpath” >
<jsp:param>
. . .

sở dữ liệu kiểu cũ được Microsoft cung cấp. Nó chính là bậc tiền bối của ADO. Một
trong những lý do chính của Microsoft khi giới thiệu kỹ thuật này là cho phép lập trình
viên có một phương pháp dễ dàng đễ truy cập nội dung của các cơ sở dữ liệu không
thuộc về một định dạng quen thuộc đối với lập trình viên. Nói cách khác, ta không cần
biết đến ngôn ngữ lập trình Xbase vẫn có thể truy cập đến một file DBF hay Access
Basic để lấy dữ liệu trong một file MDB. Vì SQL là ngôn ngữ không thân thiện lắm
đối với người sử dụng nên ta phải sử dụng qua một công cụ trung gian đóng vai trò
thiết kế để thể hiện các câu lệnh của SQL cho người sử dụng dễ thao tác hơn, công cụ
đó chính là JRUN, để JRUN có thể truy xuất các tập tin MDF của SQL ta phải sử dụng
cầu nối ODBC.
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
SVTH: Nguyễn Văn Ty Trang 24
Ta có thể thấy rằng ODBC làm việc như phần ruột của WINDOWS, nó sẽ sử
dụng các trình điều khiển trong các DLL để thi hành công việc. ODBC có hai tập hợp
các trình điều khiển: một tập hợp sử dụng tiếng nói của trình quản lí cơ sở dữ liệu và
tập kia cung cấp phương pháp giao tiếp thông thường cho ngôn ngữ lập trình. Sự kết
hợp của hai tập thông qua một giao diện chấp nhận được cho phép JRUN truy cập nội
dung của cơ sở dữ liệu bằng cách sử dụng một tập hàm chuẩn các hàm gọi. Dĩ nhiên
có nhiều kiểu tiện ích DLL đi kèm với ODBC. Ví dụ như một trong các DLL sẽ cho
phép ta làm chủ nguồn dữ liệu ODBC. Còn giao diện chủ cho ODBC có trog file CPL
(bảng điều khiển) ở thư mục SYSTEM .
ODBC đưa ra đảm bảo rằng có thể cung cấp được phương pháp để lấy nội dung
trong cơ sở dữ liệu mà không có vấn đề gì. Mặc dù trong một số trường hợp, nó không
cung cấp được cách tốt nhất để có thể chuyển đổi dữ liệu giữa trình quản lí cơ sở dữ
liệu và JRUN, nhưng nói chung là tốt. Chỉ có một điều duy nhất cần chú ý là tốc độ thi
hành của nó rất chậm. Nhưng các phiên bản mới của ODBC đã có những cải tiến đáng
kể về tốc độ. Do đó ngày nay nó đã được đánh giá khả quan hơn nhiều.
Hầu như công việc lập trình ứng dụng mà JSP và servlet thường thực hiện nhất
đó là lưu trữ và truy xuất cơ sở dữ liệu.Việc truy xuất cơ sở dữ liệu trong JSP và
servlet dựa vào trình truy xuất ODBC theo chuẩn java.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status