Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
LỜI NÓI ĐẦU
Ngày nay, Internet ngày càng trở nên cần
thiết cho cuộc sống, đặc biệt trong lĩnh vực
kinh doanh. Thương mại điện tử hiện đang là
ngành kinh tế thu lợi nhuận cao của nhiều
nước trên thế giới. Mặc dù vậy, nước ta lại
chưa phát triển loại hình này do các điều kiện
khách quan. Tuy nhiên, sớm hay muộn thì
chắc chắn cũng phải có phần đáp ứng được
nhu cầu của khách hàng và nhà thương mại.
Vì buôn bán là một hoạt động không thể thiếu
trong đời sống hiện nay, và cũng nhờ sự phát
triển của thương mại điện tử mà các nhà
thương mại có cơ hội quảng cáo sản phẩm của
mình rộng rãi hơn.
Với thương mại điện tử, chúng ta không
còn phải đến trực tiếp cửa hàng vừa tốn thời
gian, sức khỏe. Giờ đây, chúng ta có thể ngồi
tại nhà mà có thể mua được bất kỳ một món
hàng nào. Thật là tuyệt vời!
SVTH: Nguyễn Văn Ty Trang 1
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
Chính vì thế, em đã chọn đề tài “Nghiên
cứu JSP và Java, xây dựng website bán
hàng cho Công ty Cổ Phần Chế biến gỗ
Việt Đức” nhằm làm quen với thương mại
điện tử và bắt kịp sự phát triển của nước ta
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
thông qua hệ thống. Tuy nhiên, dịch vụ hay mặt hàng của dịch vụ chỉ thực sự hoạt động
khi đã thanh tốn những chi phí cần thiết cho hệ thống. Đối với những khách hàng vào hệ
thống để mua hàng, hệ thống phải hỗ trợ sao cho khách hàng có thể tìm kiếm, chọn và
đặt hàng một cách dễ dàng. Khi khách hàng đặt mua sản phẩm, hệ thống sẽ chuyển đơn
đặt hàng này đến dịch vụ bán hàng. Việc giao và nhận hàng diễn ra nội bộ giữa người
bán với người mua, hệ thống không tham gia trực tiếp vào việc bán hàng. Hệ thống
đóng vai trò như một siêu thị ảo, môi giới cho khách mua hàng với dịch vụ.
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:
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 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 công
việc tính tốn phức tạp, vẽ đồ thị, bảo mật…
Servlet là một thành phần đối tượng chủ yếu phục vụ cho mục đích tích hợp và
chạy trên các trình chủ Web server. Servlet giúp xử lý và tạo ra các trang Web động.
Servlet có thể kết hợp với các trang Java Server Page - JSP là các trang Script chạy phía
máy chủ để tạo các trang Web động, tương tác với cơ sở dữ liệu tương tự như Servlet.
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).
SVTH: Nguyễn Văn Ty Trang 9
pubilc class appletName extendes
Applet
{
public void init() {…}
public void start() {…}
public void stop() {…}
public void destroy() {…}
}
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
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.
Destroy: thực hiện việc dọn dẹp chuẩn bị cho applet thốt hẳn (unloading).
Không phải applet nào cũng dùng đủ 4 phương thức này, các phương thức bị bỏ
qua khi viết một applet sẽ được trình duyệt tự thực hiện khi nạp applet đó.
* Vòng đời của một applet:
Nạp một applet:
Khi một applet được nạp có các sự kiện xảy ra như sau:
Một instance của lớp con applet được tạo ra, có nghĩa là một đối tượng applet
được tạo ra.
Đối tượng applet này tự khởi tạo mình, có nghĩa là tự cài đặt, nhận các giá trị
(phương thức init() được gọi đến).
Đối tượng applet này bắt đầu chạy (phương thức start() được gọi).
Rời khỏi hay trở về trang Web:Khi người dùng sang trang mới (không chứa
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:
Các thuộc tính (property) của thành phần JavaBeans:
Thuộc tính là một trong những khía cạnh quan trọng nhất trong JavaBeans, thuộc
tính biểu diễn những trạng thái (state) mà một thành phần JavaBeans có thể có. Người
dùng đa số tương tác với JavaBeans qua các thuộc tính của nó. Bằng cách thay đổi các
thuộc tính các nhà phát triển ứng dụng sẽ đem đến cho đối tượng thành phần một diện
mạo (apperance) và một cách hành xử (behavior) khác.
Thuộc tính thể hiện sự thay đổi (bound property):
JavaBeans là từng thành phần riêng biệt nhưng vẫn có thể kết nối được với nhau
qua cơ chế gởi thông báo (message). Khi thuộc tính của một thành phần JavaBeans A
SVTH: Nguyễn Văn Ty Trang 11
Public class mybeans implement java.io.Serializable
{
protect int the_value;
// Phương thức khởi dựng Beans
public mybeans {}
//Khai báo phương thức đặt giá trị cho thuộc tính myvalue
public void set_myvalue(int new value)
{
the_value = new_value;
}
//Khai báo phương thức trả về giá trị cho thuộc tính myvalue
public int get_myvalue()
{
return the_value;
}
}
public void addPropertyChangeListtener (PropertyChangeListtener lsn)
//Loại bỏ
public void removePropertyChangeListtener (PropertyChangeListtener lsn)
public void propertyChange (PropertyChangevent evt)
Public void firePropertyChange (String propertyName,
Object oldValue, Object newValue)
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
Để đăng ký đối tượng listener cho thuộc tính ràng buộc, thành phần JavaBeans
phải cài đặt hai phương thức sau đây:
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à:
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:
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
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ỳ một
SVTH: Nguyễn Văn Ty Trang 14
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
ứng dụng nào (chạy độc lập hoặc chạy trên mạng) còn JavaScript chỉ là một ngôn ngữ
đặc tả dùng để thay đổi tương tác với bản thân trình duyệt mà thôi.
Sau đây là bảng so sánh các đặc điểm khác nhau cơ bản giữa hai ngôn ngữ Java
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:
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
SVTH: Nguyễn Văn Ty Trang 15
<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
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ã <%%>.
Ưu điểm của trang JSP là khả năng nhúng mã Java giữa các thể định dạng
HTML. Mã Java được đặt trong cặp dấu <%%>. Bên trong mã Java nếu muốn kết xuất
dữ liệu HTML ta gọi phương thức println() của đối tượng out. Đối tượng out là đối
tượng mặc định được trình chủ Web server cung cấp dùng để ghi kết xuất gửi về máy
khách. Thẻ HTML và mã Java có thể trộn lẫn lộn với nhau.
Ví dụ:
<html>
<b>
<% out.println(“Chao Ban”)
%>
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:
Đối tượng Request đại diện cho đối tượng
javax.servlet.http.HttpServletRequest. Giao diện HttpServlet được định nghĩa như một
đối tượng truy cập đến thông tin header của giao thức HTTP được gởi về trình khách.
Đối tượng request thường được truyền như đối số cho phương thức service(), ví dụ:
Một trong những ứng dụng thông thường nhất của đối tượng request là nắm giữ
các tham số. Chúng ta có thể thấy điều này bằng cách gọi phương thức getParameter()
của request. Phương thức này thừa kế từ lớp cha là javax.ServletRequest. Phương thức
này nhận tên tham số và trả về giá trị chuỗi tương ứng với tên của tham số đó. Phương
thức getParameter() sẽ trả về giá trị của tham số mà nó giữ, nếu tham số này là null, nó
sẽ trả về giá trị null.
SVTH: Nguyễn Văn Ty Trang 17
public void jspService (HttpServletRequest request,
HttpServiceResponse response) throws IOException,
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.
session. getAttribute(java.lang.String name)
2.4. Đối tượng Application:
SVTH: Nguyễn Văn Ty Trang 18
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
Đối tượng application tham chiếu đến javax.servlet.ServletContext cho phép lưu
giữ cấu hình tồn cục của Servlet và JSP. Cách đối tượng application khởi tạo như sau:
Trong đó pageContext là một đối tượng JspFactory.
Đối tượng application có phạm vi hoạt động ở cấp ứng dụng, nghĩa là có thể giữ
giá trị của tất cả các trang JSP ở những session khác nhau cho tới khi JSP engine bị
đóng lại.
Tương tự như session, ta có thể gọi phương thức application.setAtribute() để lấy
về giá trị lưu giữ trong application.
Phương thức application.setAtribute() được dùng để đặt trị cho biến cần chứa
trong application.
2.5. Đối tượng Out:
Đối tượng out đùng để ghi kết xuất gởi về trình duyệt. Đối tượng out hình thành
từ lớp java.io.Writer.
Ví dụ:
dùng để ghi câu “Hello world!” lên trình duyệt của máy khách.
2.6. Đối tượng Config:
Đối tượng config tượng trưng cho lớp ServletConfig, nó được định nghĩa là đối
tượng tạo bởi servlet chứa các thông tin cấu hình của servlet. Với thông tin cấu hình này
servlet sẽ truy cập đối tượng ServletContext. Phương thức khởi dựng như sau:
pageContext là một đối tượng JspFactory.
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ự.
trang thông báo mô tả cụ thể lỗi trả về cho trình khách. Ta có thể hồn tồn đón bắt và
thay thế những trang thông báo lỗi này sử dụng đối tượng exception.
Để tạo ra trang thông báo lỗi ta cần khai báo như sau:
3. Các hành động của JSP:
Hành động trong JSP là quá trình trừu tượng hố việc thực thi hay yêu cầu JSP
thực hiện một nhiệm vụ nào đó.
a. Hành động <jsp:param>:
Hành động <JSP:param> được dùng để cung cấp và tạo các giá trị cho các tham
số theo dạng name/value. <JSP:param> thường dùng chung với các hành động <JSP:
include>, <JSP:forward>, <JSP: plugin>. Cú pháp của hành động <JSP:param> được
mô tả như sau:
Name: thuộc tính này trình bày tên của thông số tham chiếu.
Value: thuộc tính này trình bày giá trị của tên được tham chiếu.
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:
SVTH: Nguyễn Văn Ty Trang 20
//Chỉ thị trang JSP hiện hành là trang xử lý lỗi
<%@ page isErrorPage = “true”%>
//hiển thị nội dung thông báo lỗi phát sinh
Error: <%= exception.getMessage() %> has been reported.
<jsp: param name = “paraName” value = “paraValue” />
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
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
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).
Đóng kết nối (Close connnection).
Đoạn mã sau đây sẽ diễn giải từng bước cách thực hiện kết nối với cơ sở dữ liệu
bằng JDBC:
// Bước 1. Khai báo biến
SVTH: Nguyễn Văn Ty Trang 22
<jsp:plugin type = “pluginType” code =
“classFile” codebase = “relativeURLpath” >
<jsp:param>
. . .
</jsp:param>
</ jsp:plugin >
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
Connection cn;
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
SVTH: Nguyễn Văn Ty Trang 23
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
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.
SVTH: Nguyễn Văn Ty Trang 24
Đồ án tốt nghiệp đại học GVHD: Nguyễn Đức Thuần
Chương III
ĐẶC TẢ TÍNH NĂNG
SVTH: Nguyễn Văn Ty Trang 25
PHẦN II
CÀI ĐẶT ỨNG DỤNG