xây dựng website bán hàng cho công ty cổ phần chế biến gỗ việt đức - Pdf 22

Chương I
YÊU CẦU CỦA ĐỀ TÀI
1. Về mặt ứng dụng.
Xây dựng hệ thống quản lý các dịch vụ bán hàng trên mạng, trong đó hệ
thống cho phép các dịch vụ đăng ký một không gian để bán những mặt
hàng mình có trên mạng. Mỗi dịch vụ sẽ có một account riêng trong hệ
thống, họ có thể cập nhật các mặt hàng, thay đổi thông tin của dịch vụ và
quản lý những đơn đặt hàng của khách mua hàng 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 toá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.
1
 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

Ông tổ của Java không ai khác chính là James Gosling, một lập trình viên
của công ty Sun Microsystems. Cuối năm 1990 James Gosling được Sun
Microsystem giao nhiệm vụ xây dựng một phần mềm cho các mặt hàng
điện dân dụng với mục tiêu nhỏ gọn và tương thích với nhiều thiết bị
phần cứng khác nhau, thế là Java ra đời. Đầu tiên Java có tên là Oak (cây
sồi) nhưng vì có sự trùng tên nên Oak được đổi tên thành Java như hiện
nay.
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 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à
4
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. Ngoà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

là những khối mã xây dựng sẵn và có thể dùng lại được. Nó đang trở nên
ngày càng phổ biến đối với các ứng dụng phân tán (distributed
application) trên mạng.
Java Server Page - JSP đặc biệt cung cấp cho những nhà phát triển Web
một nền tảng để tạo ra các nội dung động trên máy chủ sử dụng HTML
và XML, vì mã Java có tính bảo mật, nhanh, và độc lập với máy chủ. JSP
là phần mở rộng đặc biệt của Java Servlet, đơn giản hơn Servlet. JSP
được nhúng vào các trang HTML để tạo ra các trang động từ trình chủ
phục vụ cho trình khách.
Trên đây là một số đặc tính quan trọng và các nhánh phát triển của ngôn
ngữ Java. Với những đặc tính mạng mẽ như vậy, Java là sự lựa chọn tốt
nhất cho các ứng dụng mạng.
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.
6
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:

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.

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
8
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 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 toá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:

9
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

Thuộc tính ràng buộc (constraint property):
Hạn chế của thuộc tính bound property là các đối tượng listener chỉ phản
ứng lại khi giá trị thuộc tính đã bị thay đổi. Java cung cấp một khả năng
khác mạnh hơn đó là tạo thuộc tính bị ràng buộc (constraint property),
tương tự như thuộc tính bound mỗi lần thuộc tính constraint định thay
đổi giá trị (chỉ dự định chứ chưa thay đổi) nó sẽ thông báo đến tất cả các
đối tượng listener đã đăng ký, đối tượng listener có quyền từ chối không
cho phép thay đổi và như vậy thuộc tính vẫn phải giữ nguyên giá trị ban
đầu. Ngược lại nếu đối tượng listener cho phép thì quá trình thay đổi giá
trị cho thuộc tính mới diễn ra tiếp tục.
11
Để đă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

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).
ItemListenerListener 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 ứ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.
14
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 và JavaScript:
JavaScript Java
Phát triển từ Netscape Communications Phát triển từ sun
Microsystem
Các dòng lệnh được thông dịch bởi trình duyệt (brower). Các dòng lệnh

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”)
%>
</b>
</html>
16
1.2. Hiển thị kết xuất bằng cú pháp <%=%>
Thay vì sử dụng cú pháp <%%>để diễn đạt một khối gồm nhiều
lệnh ta có thể sử dụng cú pháp <%=%> chỉ để hiển thị kết xuất của một
giá trị biến hay hàm nào đó. Ví dụ:
<html>
Name<%= name%>
Search<%=search%><a href="searches.jsp?></a>
</html>
Trong ví dụ trên name là biến chứa tên topic mà ta cần tìm, search
là một hàm trả về tên tìm được. Chú ý, không có dấu (;) ở cuối các biến
hoặc biểu thức gọi hàm trong cú pháp <%=%>. Bởi vì nội dung của biểu
thức nằm trong <%=%> sẽ được chuyển thành lệnh out.println() tương
đương như sau:
out.println (“<html”);

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ụ:

18
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.
Ngoài ra, vì đối tượng request đại diện cho đối tượng
javax.servlet.http.HttpServletRequest nên có thể sử dụng các phương
thức của javax.servlet.http.HttpServletRequest trên request như
getSession(), getCookies(), getRemoteUser()…
2.2. Đối tượng Response:
Một đối tượng khác của JSP là đối tượng response. Đối tượng response
cho phép phản hồi thông tin xử lý từ trình chủ trở về trình duyệt. Hầu hết
ứng dụng thông thường của đối tượng response là dùng để xuất HTML ra
trình duyệt. Đối tượng response thường gọi phương thức getWriter() để
thực hiện kết xuất.
Các phương thức mà đối tượng respons thường sử dụng được liệt kê như
sau:
- response.sendRedirect(java.lang.String location): gởi đối tượng
response một lần nữa đến một trang JSP được chỉ định trong đối số của

Đố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ự.
21
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.
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

Hành động trong JSP là quá trình trừu tượng hoá 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:

23

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.


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