Tải bản đầy đủ (.docx) (29 trang)

GIỚI THIỆU CỤ THỰC HIỆN VÀ CÁC CÔNG NGHỆ LIÊN QUAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (621.06 KB, 29 trang )

GIỚI THIỆU CỤ THỰC HIỆN VÀ CÁC CÔNG NGHỆ LIÊN QUAN
Sau khi khảo sát và tìm hiểu về hệ thống em nhận thấy việc phát triển phần mềm theo
mô hình web mang lại nhiều thuận lợi trong việc quản trị, cài đặt và bảo trì.
Để phát triển mô hình web em đã quyết định lựa chọn một số fremwork hiện đại và
đang được sử dụng rộng dãi là struts và hibernate cùng với hệ quản trị cơ sở dữ liệu postgre
SQL. Việc sử dụng 2 framework là struts và hibernate giúp cho việc phát triển phần mềm một
cách nhanh chóng giảm bớt thời gian code dễ dàng cho việc phát triển và bảo trì cho các
version sau.
3.1 Giới thiệu Struts
Struts, một dự án mã nguồn mở của Apache Software Foundation, là một bản hiện thực
Java phía server của mẫu thiết kế Model-View-Controller (MVC). Dự án Struts được khởi
xướng bởi Craig McClanahan vào tháng 5/2000, thuộc dự án Apache Jakarta. Hiện tại, dự án
Struts đã trở thành một dự án độc lập - dự án Apache Struts.
Dự án Struts được thiết kế với mục đích cung cấp một bộ khung mã nguồn mở để tạo các ứng
dụng Web, tách tầng trình bày (presentation layer) ra khỏi tầng giao tác (transaction layer) và
tầng dữ liệu (data layer). Từ khi ra đời, dự án Struts nhận được nhiều ủng hộ của các nhà phát
triển và nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở.
3.1.1. Mẫu thiết kế MVC
Để nắm vững Struts Framework, bạn phải hiểu cơ bản về mẫu thiết kế MVC. Mẫu thiết kế
MVC, được bắt nguồn từ Smalltalk, bao gồm ba thành phần: Model, View, và Controller.
Ba thành phần của mẫu thiết kế MVC:
- Model
Biểu diễn các đối tượng dữ liệu. Thành phần Model là những gì đang được thao tác và trình
bày cho người dùng. Chúng thường biểu diễn các đối tượng nghiệp vụ hay các hệ thống backend
khác và có thể được hiện thực là những JavaBean đơn giản, những Enterprise JavaBean, những
biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ, hoặc chỉ là những gì
cần được thao tác hay biểu diễn trong một ứng dụng Web
-View
Đóng vai trò là phần biểu diễn trên màn hình (screen representation) của thành phần
Model. Thành phần View là đối tượng trình bày trạng thái hiện tại của các đối tượng dữ liệu.
Mỗi thành phần View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thể


chứa bất kỳ sự kết hợp nào của các thẻ tùy biến Struts, JSP, và HTML. Các trang JSP trong
Struts Framework có hai chức năng chính. Thứ nhất, đóng vai trò là tầng trình bày của một
Controller Action đã được thực thi trước đó. Điều này thường được hoàn thành bằng cách sử
dụng một tập thẻ tùy biến để duyệt và thu lấy dữ liệu mà Controller Action chuyển đến
JSP đích. Loại View này không thể hiện đặc trưng của Struts và không được lưu tâm.
Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu cần thiết để thực hiện một
Controller Action cụ thể. Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻ
Struts và các đối tượng ActionForm. Loại View này chứa một số lớp và thẻ đặc-trưng-Struts.

-Controller
Định nghĩa cách thức giao diện người dùng tương tác lại dữ liệu đầu vào. Thành phần
Controller là đối tượng thao tác thành phần Model (hay đối tượng dữ liệu). Thành phần
Controller của Struts Framework là xương sống của tất cả các ứng dụng Web Struts. Nó được
hiện thực bằng một servlet có tên là org.apache.struts.action.ActionServlet. Servlet này nhận
các yêu cầu HTTP và giao quyền điều khiển của mỗi yêu cầu, dựa vào URI của yêu cầu, cho
một lớp org.apache.struts.action.Action do người dùng định nghĩa. Lớp Action là nơi mà thành
phần Model của ứng dụng được thu lấy và/hay thay đổi. Khi lớp Action đã hoàn tất quá trình
xử lý, nó trả về một khóa cho ActionServlet. Khóa này được sử dụng để xác định View nào sẽ
trình bày các kết quả xử lý. Bạn có thể hình dung ActionServlet như một đại lý nhận các yêu
cầu cho các dịch vụ, và dựa trên các yêu cầu này, tạo ra các đối tượng Action nhằm thực hiện
logic nghiệp vụ cần thiết để hoàn tất các dịch vụ này.
Dưới đây là một số lợi ích khi sử dụng mẫu thiết kế MVC:
Tính tin cậy - Tầng trình bày và tầng giao tác có sự phân chia rõ ràng, cho phép bạn
thay đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay
Controller.
Tính thích ứng và tái sử dụng cao - Mẫu MVC cho phép bạn sử dụng nhiều loại khung
nhìn, tất cả cùng truy xuất đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến
trình duyệt không dây (WAP).
Các phí tổn trong vòng đời phát triển rất thấp - Mẫu MVC chỉ cần có người lập trình cấp thấp
phát triển và bảo trì các giao diện người dùng.

Triển khai nhanh chóng - Thời gian phát triển có thể được giảm đáng kể, bởi vì những
người lập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác,
còn những người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung
vào phần trình bày.
Tính bảo trì - Việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và
sửa đổi một ứng dụng Web dựa trên Struts dễ dàng hơn.
3.1.2. Bản hiện thực Struts của mẫu MVC
Struts Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp
các trang JSP, các thẻ JSP tùy biến, và một Java servlet. Trong phần này, chúng ta mô tả ngắn
gọn cách Struts Framework ánh xạ đến mỗi thành phần của mẫu MVC.
Hình 10.Bản hiện thực Struts của mẫu MVC
Hình trên mô tả quy trình xử lý mà hầu hết các yêu cầu ứng dụng Struts cần tuân theo.
Quy trình này có thể được chia thành 5 bước cơ bản:
- Một yêu cầu xuất phát từ một View đã được hiển thị trước đó.
- Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một Controller), ActionServlet
tìm URI được yêu cầu trong một file XML (sẽ được mô tả trong chương 3, “Làm quen với
Struts”) và xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết.
- Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng.
- Khi đã hoàn tất quá trình xử lý, lớp Action trả quyền điều khiển cho ActionServlet, đồng thời
cung cấp một khóa (key) biểu thị các kết quả xử lý. ActionServlet sử dụng khóa này để xác
định các kết quả sẽ được chuyển đến đâu khi trình bày.
- Yêu cầu kết thúc khi ActionServlet chuyển yêu cầu đến View được gắn với khóa trả về, và
View này trình bày các kết quả của Action.
3.1.3. web flow diagram:
Hình 11. web flow diagram
3.2 Giới thiệu Hibernate
3.2.1 Giới thiệu về Hibernate :
Hibernate là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh.
Hibernate giúp bạn phát triển các class dùng để lưu trữ dữ liệu theo cách thức rất là hướng đối
tượng: association, inheritance, polymorphism, composition và collections. Hibernate cho phép

bạn thực hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của
Hibernate (HQL) hoặc là ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng các API.Không
giống như các persistence layer khác, Hibernate không ẩn đi sức mạnh của ngôn ngữ SQL khỏi
bạn mà Hibernate còn đảm bảo cho bạn việc bạn đầu tư vào công nghệ và tri thức cơ sở dữ liệu
quan hệ là luôn luôn chính xác. Và điều quan trọng hơn nữa là Hibernate được license theo
LGPL (Lesser GNU Public License). Theo đó, bạn có thể thoải mái sử dụng Hibernate trong
các dự án open source hoặc các dự án thương mại (commercial).Hibernate là một dự án open
source chuyên nghiệp và là một thành phần cốt tuỷ của bộ sản phẩm JBoss Enterprise
Middleware System (JEMS). JBoss, như chúng ta đã biết là một đơn vị của Red Hat, chuyên
cung cấp các dịch vụ 24x7 về hỗ trợ chuyên nghiệp, tư vấn và huyấn luyện sẵn sàng hỗ trợ bạn
trong việc dùng Hibernate.Các thành phần của Hibernate project:* Hibernate Core: Cung cấp
các chức năng cơ bản của một persistence layer cho các ứng dụng Java với các APIs và hỗ trợ
XML mapping metadata.* Hibernate Annotations: Các map class với JDK 5.0 annotations, bao
gồm Hibernate Validator.* Hibernate EntityManager: Sử dụng EJB 3.0 EntityManager API
trong JSE hoặc với bất kỳ JEE server nào.* Hibernate Tools: Các tool tích hợp với Eclipse và
Ant dùng cho việc sinh ra các persistence object từ một schema có sẵn trong database (reverse-
engineering) và từ các file hbm sinh ra các class java để hiện thực các persistence object, rồi
Hibernate tự tạo các object trong database (forward-engineering).* NHibernate: Hibernate
cho .Net framework.* JBoss Seam: Một Java EE 5.0 framework cho phát triển các ứng dụng
JSF, Ajax và EJB 3.0 với sự hỗ trợ của Hibernate. Seam hiện rất mới và tỏ ra rất mạnh để phát
triển các ứng dụng Web 2.0. Nó tích hợp đầy đủ tất cả các công nghệ tốt nhất hiện nay.
3.2.2 Kiến trúc của Hibernate:
Biểu đồ mô tả tổng thể về Hibernate:
Hình 12. Tổng thể về Hibernate
Kiến trúc của Hibernate gồm 3 phần:
• Quản lý kết nối: Dịch vụ quản lý kết nối của Hibernate cung cấp việc quản lý hết sức hiệu quả
các connection đến database. Database connection luôn là phần đắt đỏ và nhiều rủi ro trong
việc kiểm soát, chúng ta tốn nhiều tài nguyên để mở và đóng một connection, hơn nữa, việc xử
lý dữ liệu phức tạp và có thể dẫn đến…….quên sót việc đóng kết nối hoặc đóng một cách
không hợp lý. Điều này hoàn toàn không đơn giản và dẫn đến một ứng dụng đổ vỡ. (Một ví dụ

là đóng nhiều kết nối trong 1 khối try...catch)
• Quản lý transation (giao tác):dịch vụ quản lý giao tác cung cấp khả năng cho phép user thi
hành nhiều phát biểu (statement) vào một thời điểm.
• Object relational mapping:
Công nghệ mapping dữ liệu dưới database thành dữ liệu trên object. Hibernate sẽ sử dụng
SELECT, INSERT, UPDATE và DELETE trên các records và đưa thao tác dưới database
tương ứng với việc thao tác tên Object java.
Mục đích sau cùng của hibernate đó là ORM, nhưng nó phải thêm vào các dịch vụ quản lý
Connnection và Transaction vì phát sinh từ vấn đề performance và sự khó khăn khi tự mình xử
lý những dịch vụ này trên Object được persistent. Hibernate buộc phải sử dụng những công cụ
quản lý kết nối và transation của bên thứ 3 để hoàn thiện mô hình của mình. Một ví dụ là
Apache DBCP thường được sử dụng trong connection pooling với Hibernate.
3.3 Giới thiệu hệ quản trị cơ sở dữ liệu Postgre SQL
Postgre SQl là một chương trình mã nguồn mở có nhiều đặc điểm hiện đại:
• Câu truy vấn phức tạp (complex query)
• Khóa ngoại (foreign key)
• Thủ tục sự kiện (trigger)
• Tính toàn vẹn của các giao dịch (integrity transactions)
• Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control)
Hơn nữa, PostgreSQL có thể dùng trong nhiều trường hợp khác, chẳng hạn như tạo ra các
khả năng mới như:
• Kiểu dữ liệu
• Hàm
• Toán tử
• Hàm tập hợp
• Phương pháp liệt kê
• Ngôn ngữ theo thủ tục
Postgre SQL không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm.
Bởi vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích
nào.

3.4 Giới thiệu Email
3.4.1.Gửi mail với SMTPCLIENT
Java phiên bản 1.2 trở đi hỗ trợ cho chúng ta gói sun.net.smtp dùng để gửi mail rất thuận
tiện. Gói sun.net.smtp không được công bố chính thức trong các tài liệu của Sun nhưng trong
thư viện kèm theo JDK ta sẽ tìm thấy gói này (ta dùng Winzip mở tệp tin
jdk_home\jre\lib\rt.jar). Gói sun.net.smtp bao gồm 2 lớp chính là SmtpClient.class và
SmtpPrintream.class dùng để chuyển dữ liệu và gửi mail tới khách lên trình chủ mail đến một
máy chủ nào đó bạn phải cho biết: địa chỉ mail người gửi, địa chỉ mail người nhận, địa chỉ máy
chủ (nơi chương trình quản lý mail hay còn gọi là mail server hoạt động).
3.4.1.1 Gửi mail bằng servlet
Ta thiêt kế trang web tĩnh sendForm.html dùng để tiếp nhận dữ liệu gửi mail (như địa chỉ,
nội dung mail) và servlet, mang tên SendMail. Servlet. SendMail sẽ tạo đối tượng SmtpClient
yêu cầu SmtpClient chuyển nội dung mail lên máy chủ.
3.4.1.2 Gửi mail bằng trang jsp
- Dữ liệu từ trình khách
- Tạo đối tượng SmtpClient dùng gửi mail
- Định địa chỉ gửi và địa chỉ nhận
- Tạo luồng xuất để gửi thông điệp mail
- Xuất phần thân mail
- Gửi mail đi
- Thông báo mail được gửi thành công
- Thông báo mail gửi bị lỗi.
3.4.2 GỬI VÀ NHẬN MAIL BẰNG JAVA MAIL API
3.4.2.1 Các khái niệm Mail
SmtpClient là cách đơn giản nhất để ta gửi mail đi. Trong trường hợp ta muốn nhận
mail về hay sử dụng các tính năng nâng cao của dịch vụ mail. Java cung cấp cho ta một tập hợp
các dịch vụ hay giao tiếp lập trình ứng dụng hạt nhân (API) phục vụ cho việc thiết kế các ứng
dụng mail.
Trước khi bắt tay vào thiết kế chương trình web mail bằng Java Mail API, ta nên biết
qua một số khái niệm cơ bản trong lĩnh vực gửi nhận mail sau đây:

 Mail server: Theo mô hình hoạt động khach/ chủ, trình chủ của ta bằng một dịch vụ đóng
vai trò người chủ phục vụ trình khách. Mail server thật ra là một chương trình mở socket lắng
nghe các yêu cầu ( hay lệnh gửi mail) từ trình khách đưa đến. Web server sẽ tiếp nhận nội dung
mail, phân bố mail đến các máy chủ khác cho phép trình khách truy cập vào máy chủ để nhận
mail về, bảo vệ mail. Chính vì vậy, trước khi nhận hay gửi mail ta phải biết rõ địa chỉ IP của
máy chủ mail server. Địa chỉ này thường gọi là mail host.
 Giao thức gửi mail (Mail transport protocol): Để gửi mail đến máy chủ trình khách phải sử
dụng một giao thức trò chuyện với mail server. Tương tự trình duyệt dùng giao thức HTTP để
trò chuyện với trình chủ Web Server. Các trình khách muốn bắt tay với trình chủ mail server và
gửi mail lên máy chủ sẽ sử dụng giao thức SMTP (Simple Mail Transport Protocol). SMTP
khá nổi tiếng và được hầu hết các trình chu mail trên thế giới sử dụng. Địa chỉ IP của máy chủ
nhận mail gửi đi thường được gọi là outgoing mail address.
 Giao thức lưu trữ mail ( Mail store protocol): Khi trình chủ mail server tiếp nhận được mail,
trình chủ phải tiến hành lưu trữ mail theo cách nào đó để trình khách có thể dễ dàng truy cập và
và nhận mail về. Hiện nay POP3 (Post Office Protocol) và IMAP (Internet Message Access
Protocol) là hai giao thức lưu trữ và lấy mail từ hộp thư (inbox) trên máy chủ khá phổ biến. Địa
chỉ của máy chủ lưu trữ mail cho phép máy khách truy cập vào để nhận mail về được gọi là
incoming mail address.
3.4.2.1.2 Thiết kế chương trình Web mail
Web mail là các chương trình gửi nhận mai trực tuyến (online) bằng internet. Mở trang
web bằng trình duyệt, kết nối vào internet ta có thể gửi mail đi và nhận mail về ở bất cứ nơi
nào. Yahoo mail (của công ty Yahoo) và Hotmail (của Microsoft) là hai ứng dụng web mail rất
nổi tiếng hiện nay.
Để xây dựng web mail bằng servlet hay jsp ngoài việc có trình chủ hiểu Java ta cần có
thêm hai thư viện hỗ trợ khác là mail.jar và activation.jar.
3.4.2.1.3 Các bước cơ bản khi xây dựng ứng dụng web mail.
Để đọc mail từ máy chủ, cơ bản ta cần thực hiện các bước sau:
 Tạo đối tượng mail Session (ta lưu ý đối tượng Session ở đây dành cho ứng dụng mail, khác
với HttpSession). Yêu cầu người dùng chọn các giao thức truy cập vào máy chủ.
 Tạo đối tượng Store chuẩn bị lấy mail về. Để tạo được đối tượng Store ta cần yêu cầu người

dùng đăng nhập vào tên và mật khẩu chứng thực quyển truy cập hộp thư hợp pháp.
 Sử dụng đối tượng store để lấy về đối tượng Folder (Thực sự thì mail của bạn
được lưu theo cấu trúc tương tự cấu trúc cây thư mục). Mỗi folder sẽ chứa một loại thư mà ta
muốn lấy. Như folder inbox chứa các thư gửi đến, folder trash chứa các thư vừa bị xoá, ….
 Duyệt đối tượng folder để lấy về danh sách mail.
Để thực hiện gửi mail đi ta thực hiện các bước sau:
 Yêu cầu người dùng chọn giao thức gửi (SMTP) và lưu trữ mail (POP3 hay
IMAP…) Lưu các thông tin này vào đối tượng Session.
 Tạo đối tượng Message. Đối tượng này sẽ chứa các thông tin về mail cân gửi đi như địa chỉ
người gửi, địa chỉ người nhận, tiêu để mail, nội dụng mail…
 Gọi transport.send()để gửi mail đi;
Trước khi cài đặt mã nguồn chi tiết cho chương web mail ta hãy tắt dịch vụ httpd của
JWS2.0. Chép mail.jar và activation.jar vào thư mục C:\JavawebServer\lib. Trên cửa sổ DOS-
ptompt nơi httpd chạy.
3.4.2.3.1 Xây dựng lớp SendMailUser.
Chúng ta sẽ bắt đầu cài đạt ứng dụng web mail bằng việc thiết kế lớp SendMailUser.
Lớp này cung cấp đầy đủ thông tin kết nối và thực hiện quá trình đăng nhập vào máy chủ mail
trước khi ta có thể tiến hành các thao tác nhận hay gửi mail khác.
3.4.2.3.2 Xây dưng lớp SendmailReader.
Lớp sendmailreader dưới đây là phần cài đặt chính của ứng dụng web mail. Đây là một
servlet thực hiện hầu hết các chức năng như: Tạo màn hình đăng nhập, cho phép kết nối với
trình chủ mail. Đọc mail từ hộp thư, cho phép gửi mail đến một địa chỉ chỉ định. Nếu ta chưa
quen với cơ chế gửi mail trên web ta có thể vào site Yahoo hoặc Hotmail để tham khảo. Có thể
tóm tắt các phương thức cài đặt như sau:
 Đăng nhập và kết nối với máy chủ mail.
 Hiển thị danh sách các mail có trong hộp thư
 Hiện thị chi tiết nội dung mail
 Cho phép đọc các file đính kèm mail
 Tạo dựng web thiếp lập màn hình đăng nhập
 Tạo trang web thiết lập màn hình gửi mail

 Thực hiện chức năng gửi mail đi
 Tạo trang web hiện thị thông báo lỗi.
Khi ta gửi mail đi ngoài việc nhập vào nội dung mail là các dong văn bản (text) ta còn
có thể đính kèm các file như file hình ảnh, chương trình nhị phân… Việc đọc mail sẽ bao gồm
luôn cả quá trình phân tích nội dung các tập tin đính kèm. Khi hiển thị mail đọc được chúng ta
chỉ hiển thị những nội dung ở dạng văn bản. Phương thức showMessager() sẽ thực hiện điều
này. Đối với các tập tin đính kèm, phương thức showPart() sẽ chụi trách nhiệm đọc và trả dữ
liệu là tập tin về cho máy khách (thường được xem như lấy file đínhkèm về máy khách-
download file). Showinbox được dùng để liệt kê các danh sách các mail nhận được chứa trên
máy chủ mail server. Ngoài ra trước khi gửi hay nhận mail ta phải thực hiện thao tác đăng nhập
(còn gọi là login) vào máy chủ. Phương thức login()sẽ chụi trách nhiệm kết nối và chúng thực
quyền truy cập của người dùng vào mail server (thông qua username/password). Phương thức
createLoginForm() dùng tạo màn hình login (bao gồm các ô text box để người dùng đăng nhập
và username và password đồng thời chọn giao thức gửi/ nhận mail. Phương thức
createWriteForm() sẽ tạo màn hình gửi mail. Ta gọi phương thức sendmessager()để gửi mail
đi. Phương thức createErrorPage() tạo ra trang web thông báo lỗi gặp phải trong quá trình gửi
và nhận mail.
3.4.2.3.3 Sử dụng web mail
Để sử dụng web mail ta gõ địa chỉ URL triệu gọi servlet sendmailreader như sau:
http://localhost:8080/servlet/sendmailreader.
Trang web đăng nhập sẽ hiển thị trên trình duyệt. Từ trang web này ta có thể gửi và nhận
mail hầu như với tất cả các máy chủ mail trên thế giới (nếu ta kết nối internet) hoặc các máy
chủ mail trong nội bộ công ty bạn (Intranet).
Vấn đề quan trọng là chỉ biết địa chỉ mail server và các giao thức chuyển/nhận mail mà
máy chủ phục vụ. Ví dụ để nhận mail từ hộp thư Yahoo mail bạn có thể chọn SMTP từ danh
sách Transport Protocol. Chọn POP3 từ danh sách Store protocol. Đánh vào điaj chỉ máy chủ
pop.yahoo.mail.com ở ô Mail Host(đây là địa chỉ máy chủ của Yahoo mail sưu tập được), gõ
tên đăng nhập và mật khẩu cua Yahoo ( nếu chưa có vào site yahoo để đăng ký miễn phí).
Nhận nút Login. Nếu kết nối internet và thông tin đăng nhập hợp lệ ta sẽ mở được hộp thư
inbox của yahoo.

Nếu muốn gửi mail ta ta đăng nhập vào thông tin mail. Nhập vào địa chỉ người nhận,
nội dung mail và nhấn nút send. hãy kích chuột vào nút nhấn New Messager trên trang web.
Trình chủ sẽ trả về trang web khác cho phép Thông điệp mail sẽ được gửi đến mọi nơi trên thế
giới.
Muốn gửi hay nhận mail ta thường phải biết địa chỉ máy chủ (mail server)cộng với giao
thức gửi, giao thức nhận. Hiện nay SMTP là giao thức gửi mail còn POP3 và IMAP là giao
thức nhận (hay đọc mail) được dùng khá phổ biến và rộng rãi trên internet. Chúng ta cũng đã
xây dựng ứng dụng web mail mang tên SendmailReader với đầy đủ chức năng đọc, gửi mail
ngay trên trang web thông qua servlet. Ta có thể sử dụng các hàm Java Mail API mà
SendMailReader đã dùng để viết hẳn một mail riêng biệt không cần đến trình chủ Web hay
servlet. Tuy nhiên ưu điểm của web mail là có thể truy cập mọi lúc mọi nơi đơn giản chỉ bằng
trình duyệt. Ta có thể tìm hiểu sâu hơn nữa và phát triển SendmailReader trở nên chuyên
nghiệp hơn.

×