Hướng phát triển đề tài

Một phần của tài liệu luận văn công nghệ thông tin thiết kế website môn lập trình mạng 1 với servlet và jsp (Trang 80 - 97)

IV. THIẾT KẾ DỮ LIỆU

3. Hướng phát triển đề tài

- Cải tiến một số chức năng chưa hồn chỉnh trong chương trình.

- Cĩ thể thực hiện nội dung dạy học sinh động hơn .

- Linh hoạt trong việc thay đổi cấu hình máy bằng nhiều cách khác nhau.

- Thiết kế và cài đặt cơ sở dữ liệu khi số lượng người dùng tham gia vào hệ thống quá đơng và cơ sở dữ liệu quá lớn.

- Khống chế thời gian thi trong mỗi đề thi để học viên cĩ thể đạt kết quả tốt hơn.

SVTH : Mai Kỷ Tuyên – Nguyễn Thị Mỹ Hạnh 69 PHẦN B : PHỤ LỤC I. YÊU CẦU HỆ THỐNG 1. YÊU CẦU PHẦN CỨNG: Client :  RAM : 128MB trở lên  CPU : tốc độ 667 MHz trở lên

 Dung lượng đĩa cứng :10GB trở lên Aplication server :

 RAM : 256MB trở lên

 CPU : tốc độ 667 MHz trở lên

 Dung lượng đĩa cứng :10GB trở lên Database :

 RAM : 128MB trở lên

 CPU : tốc độ 667 MHz trở lên

 Dung lượng đĩa cứng :10GB trở lên

2. YÊU CẦU PHẦN MỀM: Mơi trường :  Windows 2000 server  Dreamweaver MX  Internet Client :  Win 98 trở lên

 Internet Explorer 4.0 trở lên. Aplication server :

 Tomcat 3.2 . J2EE

 Internet Explorer 4.0 trở lên. Database :

SVTH : Mai Kỷ Tuyên – Nguyễn Thị Mỹ Hạnh 70

II. TAØI LIỆU THAM KHẢO :

Stt

Tên Tài Liệu Tác Giả

Nhà Xuất Bản

Năm Xuất Bản 1 JavaServer Pages Marty Hall Sun Microsystem 2000 2 Lập Trình Mạng bằng Java Nguyễn Việt Cường Học Viện Cơng Nghệ

Bưu Chính Viễn Thơng

2001

3 Giáo trình Phân Tích & Thiết Kế Hướng đối tượng Bằng UML

Dương Anh Đức Nhà Xuất Bản Thống Kê 2002

4 Lập trình ứng dụng Web với JSP/Servlet

Nguyễn Phương Lan Hồng Đức Hải

NXB Giáo Dục 2001

5 Hướng dẫn thiết kế trang Web tương tác bằng JavaScript. Hồng Đức Hải Phạm Hữu Dũng NXB Giáo Dục 2001 6 Lập trình ứng dụng chuyên nghiệp SQL Server 2000 .

Phạm Hữu Khang NXB Giáo Dục 2001 7 Java Lập Trình Mạng Nguyễn Phương Lan

Hồng Đức Hải

PHẦN 1 : CƠNG NGHỆ JSP

I. CƠNG NGHỆ JSP VAØ LẬP TRÌNH ỨNG DỤNG

Java Server Page (JSP ) là một kỹ thuật kết hợp ngơn ngữ HTML và ngơn ngữ Java. JSP là cách đơn giản hơn Servlet để cĩ thể tiếp cận hướng lập trình Web phía Server . Kỹ thuật JSP cĩ thể kết nối với các hệ quản trị cơ sở dữ liệu như MS Access, SQl Server, Oracle,...

Cơng nghệ JavaServer Pages (viết tắt là JSP) là cơng nghệ Java dựa trên

nền J2EE để xây dựng những ứng dụng chứa nội dung trang Web động như: HTML, DHTML, XHTML và XML. Cơng nghệ JSP cĩ khả năng tạo ra những trang Web với nội dung linh hoạt, cĩ vai trị quan trọng trong việc phát triển các ứng dụng Web.

Một trang JSP (.jsp) là một trang HTML hay XML trong đĩ cĩ chứa mã Java, phần HTML chịu trách nhiệm về việc định dạng văn bản, mã chương trình xen lẫn trong văn bản dùng để diễn đạt các thao tác xử lý dữ liệu hoặc nối kết với CSDL (Database). Trang Web truyền thống (dùng HTML) được trình chủ Web gửi ngay đến cho máy khách (Client) khi cĩ yêu cầu, cịn các trang JSP phải chạy qua một guồng máy (Engine) riêng biệt, ở đĩ phần mã chương trình được tách ra khỏi trang JSP, được thi hành và kết quả xử lý được ghi trở vào trang Web đang xét, tạo thành trang HTML thuần tuý.

Trang JSP khi chạy, mã Java sẽ được biên dịch thành JavaServlet và

Servlet này chạy trên máy ảo Java (JVM) ở phía máy chủ (Web Server). Mã

Java được biên dịch khi máy khách truy xuất trang JSP lần đầu tiên. Tập tin

.jsp cĩ cấu trúc giống như tập tin .html truyền thống, nhưng khác ở chỗ là tập

tin .jsp cĩ xen lẫn mã Java. Mã Java được tách biệt với phần HTML thơng

Cơng nghệ JSP gắn liền với Servlet. Mã Java trong trang JSP được biên dịch thành Servlet khi trình duyệt phía khách (Client) truy xuất trang JSP lần đầu tiên. Quá trình diễn ra như sau : Mã Java được tách ra khỏi nội dung bình thường của trang JSP, tạo thành mã nguồn của Servlet. Kết quả xử lý của Servlet được thay vào chỗ biểu thức JSP trong trang Web ban đầu (trang Web mà trình duyệt nhận được là trang HTML thuần túy).

2. NHỮNG ĐIỂM NỔI BẬT CỦA CƠNG NGHỆ

JAVASERVER PAGES (JSP)

a)Tận dụng được sức mạnh của ngơn ngữ lập trình Java Từ trước đến nay chúng ta đều biết đến Java như là một cơng cụ hỗ trợ

đắc lực trong việc xây dựng các ứng dụng Web Client - side. Nhưng Java cũng

cịn là một mơi trường lý tưởng để tạo thành phần server cho ứng dụng Web. Do nền tảng của JSP dựa trên Java nên JSP cũng tận dụng được các ưu điểm trên. JSP cung cấp một phương pháp rất mạnh để xử lý yêu cầu từ Client,

cũng như những ưu việt trong chế độ an tồn, chống rị rỉ bộ nhớ (memory

leak) và hỗ trợ chế độ xử lý đa tuyến đoạn (multithreading).

WEB BROWSER HttpServlet Trang JSP Trình diễn dịch JSP Servlet tạm

tạo ra được những ứng dụng cĩ quy mơ lớn với chất lượng cao.

b) Tách biệt nội dung với giao diện

Với cơng nghệ JSP, người phát triển sử dụng các thẻ HTML hay XML để thiết kế giao tiếp trang Web, các thẻ JSP hay các đoạn scriptlet để phát sinh nội dung động của trang (nội dung này phụ thuộc vào yêu cầu của user). Các xử lý phát sinh nội dung được đĩng gĩi trong các thẻ hay thành phần

JavaBeans và được liên kết lại trong scriptlet, sau đĩ được thực hiện ở server.

Do những xử lý cốt lõi đã được đĩng gĩi trong các thẻ và Beans, Web master và page designer cĩ thể hiệu chỉnh và làm việc trên trang JSP mà khơng ảnh

hưởng đến xử lý nghiệp vụ của trang. Các điều trên giúp bảo vệ các đoạn

code sở hữu độc quyền và vẫn đảm bảo cho mọi HTML - based web Browser

cĩ thể truy xuất đến các trang JSP theo yêu cầu.

c) Đơn giản hố quá trình phát triển với các thẻ

Web page developer khơng phải lúc nào cũng là một lập trình viên

thơng thạo với ngơn ngữ Script. Cơng nghệ JSP đĩng gĩi nhiều chức năng cần thiết trong việc phát sinh nội dung động ở dạng dễ sử dụng, các JSP -

specific XML tag. Các thẻ JSP chuẩn cĩ thể truy xuất và khởi tạo những thành

phần JavaBeans, thiết lập hay nhận về giá trị của thuộc tính, download applet,

và thực hiện những xử lý mà nếu viết code sẽ khĩ khăn và mất nhiều thời gian. Cơng nghệ JSP cĩ thể mở rộng thơng qua sự phát triển của các

customized tag library. Hiện nay đã cĩ khá nhiều các thư viện loại này, từ

đĩ giúp người phát triển trang Web cĩ thể làm việc với những cơng cụ quen thuộc khi thự hiện những xử lý phức tạp.

3. MƠ HÌNH ỨNG DỤNG DÙNG CƠNG NGHỆ JAVASERVER

PAGES (JSP)

Một trang JSP sẽ được xử lý bởi một JSP Engine (được cài đặt trên Web

Server hay Application Server hỗ trợ cơng nghệ JSP). JSP Engine nhận yêu

cầu từ Client đến trang JSP và phát sinh những phản hồi từ trang JSP nhận về Client.

Những trang JSP được biên dịch thành JavaServlets. JavaServlets là một

sự mở rộng của Java chuẩn, do đĩ các nhà phát triển cĩ thể truy xuất đến mơi trường ứng dụng Java đầy đủ với tất cả các sức mạnh và sự linh động vốn cĩ của họ Java.

trang này.

Trang JSP cĩ thể được sử dụng trong nhiều kiến trúc khác nhau và cũng

cĩ thể kết hợp với các Protocol, Components khác nhau. Một vài mơ hình cĩ

thể cĩ.

Mơ hình ứng dụng đơn giản

Trong một ứng dụng đơn giản Browser sẽ trực tiếp gọi trang JSP. Đến

lượt trang này lại phát sinh một yêu cầu (cĩ thể thơng qua JDBC để nhận

thơng tin từ Database) nhằm tạo ra kết quả đáp ứng yêu cầu của Browser. Sau

đĩ tạo ra trang HTML chuẩn và gửi trả trang này về cho Browser.

Ưu điểm :

 Giúp việc lập trình đơn giản và nhanh chĩng.

 Dễ dàng phát sinh nội dung dựa trên yêu cầu và trạng thái của tài nguyên.

Khuyết điểm :

 Gặp khĩ khăn khi cĩ nhiều Client truy xuất đồng thời những tài nguyên khan hiếm của hệ thống, do mỗi Client phải thiết lập hay chia sẻ kết nối đến tài nguyên.

VD : Nếu một trang JSP truy xuất một Database, nĩ cĩ thể tạo ra nhiều kết nối đến Database, dẫn đến ảnh hưởng đến hiệu suất của Database.

Database

HTTP/HTML/X

Browser

JDBC

1. JDBC VAØ TRÌNH ĐIỀU KHIỂN TRUY XUẤT CƠ SỞ DỮ LIỆ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 (database), cung cấp thơng tin cho trình khách . Việc truy xuất cơ sở dữ liệu trong JSP và servlet dựa vào trình xuất JDBD theo chuẩn Java. JDBC là các trình đạo diễn cho phép bạn truy cập vào cơ sở dữ liệu của các hệ như Access, MS SQL Server, Oracle … bằng ngơn ngữ truy vấn SQL .

Theo đặc tả của Sun cĩ bốn kiểu JDBC sau :

 Kiểu 1 :

JDBC sử dụng cầu nối ODBC. Nếu bạn đã từng làm việc với hệ cơ sở dữ liệu trên Windows, bạn sẽ biết cách kết nối ODBC (Open Database Connectivity). ODBC là kết nối tổng quát nhất đến mọi hệ cơ sơ’ dữ liệu thơng qua trình quản lý ODBC của Windows. Mỗi hệ cơ sở dữ liệu sẽ cung cấp một trình điều khiển (driver) cĩ khả năng đọc hiểu được cơ sở dữ liệu của chúng . Trình điều khiển này sẽ được đăng ký với bộ quản Lý ODBC. Tất cả các lệnh truy xuất cơ sở dữ liệu sau dĩđược thực thi bằng lệnh SQL. Java cung cấp cho bạn khả năng sử dụng JDBC để gọi ODBC và bằng cách này bạn cĩ thể kiểm sốt rất nhiều hệ cơ sở dữ liệu khác nhau . Quan hệ cầu nối JDBC được thể hiện ở hình sau(). Sun cung cấp sẵn thư viện kết nối JDBC-ODBC kèm theo bộ JDK và bạn cĩ thể sử dụng miễn phí . JDBC-ODBC sử dụng rất đơn giản và miễn phí nên chúng ta sử dụng cách kết nối này cho ứng dụng liên quan đến cơ sở dữ liệu trong giáo trình.

 Kiểu 2:

JDBC kết nối trực tiếp với các trình điều khiển cơ sở dữ liệu .Khi Java phát triển ,các nhà cung cấp hỗ trợ các trình điều khiển JDBC kết nối trực tiếp với trình điều khiển đặc thù cuả mối hệ cơ sở dữ liệu mà khơng phải qua trung gian ODBC cuả Windows nữa .Các kết nối này nhanh và hiệu quả hơn kiểu JDBC _ ODBC .Tuy nhiên ,bạn phải mua các trình điều khiển cơ sở dữ liệu đặc thù do những nhà phát triển cơ sở dữ liệu hay bên thứ 3 (third_party ) cung cấp hình sau. JDBC Driver ODBC Database Driver Cơ sở dữ liệu (Access,SQL Server ,Oracle,…) Mã đặc thù

Truy xuất cơ sở dữ liệu JDBC _ ODBC

Mặc dù ODBC xuất phát từ Microsoft và cĩ tên tắt là Open Database Connectivity (chuẩn kết nối cơ sở dữ liệu mở ) nhưng JDBC khơng hẳn đã cĩ tên là Java Data Base Connectivity .Sun chỉ nĩi rằng JDBC là một nhãn hiệu thuần tuý cho phong cách kết nối và truy vấn dữ liệu trong các ứng dụng Java mà thơi .

 Kiểu 3 :

JDBC kết nối thơng qua các ứng dụng mạng trung gian .Ngaỳ nay ,các ứng dụng đều gắn liền với Internet . Theo mơ hình lập trình phân tán , ứng dụng trung gian (middle_ware) trên một máy chủ sẽ chiụ trách nhiệm kết nối với cơ sở dữ liệu .

Nhiệm vụ cuả trình khách là sử dụng những trình điều khiển JDBC gọn nhẹ ,cĩ khả năng giao tiếp với ứng dụng trung gian qua Internet để truy vấn dữ liệu hình sau: JDBC Driver Database Driver Cơ sở dữ liệu (Access,SQL Server ,Oracle,…) Mã đặc thù

 Kiểu 4:

JDBC kết nối thơng qua các trình điều khiển đặc thù ở xa . Mơ hình kết nối theo kiểu 3 do phải qua ứng dụng trung gian (middle _ ware ) nên cĩ thể ảnh hưởng đến tốc độ truy xuất cơ sở dữ liệu phiá maý khách .Java đưa ra kết nối JDBC kiểu 4 cho phép trình khách sử dụng các trình điều khiển gọn nhẹ kết nối trực tiếp vào trình điều khiển cơ sở dữ liệu đặc thù (thuần Java) trên máy chủ ở xa thơng qua mạng Internet .Hình vẽ :

JDBC Driver

Java Middle Ware

Java Native Driver

Cơ sở dữ liệu (Access,SQL Server

,Oracle,…) Mã đặc thù

Truy xuất cơ sở dữ liệu JDBC kiểu 3 Internet

III. LƯU DỮ LIỆU TRONG ĐỐI TƯỢNG SESSION

Khi lập trình ứng dụng cơ sở dữ liệu khái niệm session tượng trưng một giai đoạn duy trì kết nối giưã trình khách và trình chủ trong quá trình liên lạc .

Tuy nhiên , khái niệm session trong giao thức HTTP giưã trình duyệt và trình chủ lại cĩ ý nghiã hơi khác .Khi trình duyệt cần yêu cầu trình chủ cung cấp một tài liệu , trình duyệt mở kết nối , lấy về nội dung trang dữ liệu và sau đĩ đĩng ngay kết nối .Bởi vì khơng cĩ một kết nối nào được duy trì , mỗi lần nhận được yêu cầu trình chủ Web Server khơng biết được trước đĩ trình duyệt đã cĩ những trạng thái nào , do đĩ giao thức kết nối HTTP là giao thức kết nối phi trạng thái .

JDBC Driver

Java Native Driver

Cơ sở dữ liệu (Access,SQL Server

,Oracle,…)

Truy xuất cơ sở dữ liệu JDBC kiểu 4 Internet

mẫu thơng tin được gởi về trình duyệt phiá máy khách khi cĩ yêu cầu trang .Mỗi khi trình duyệt phát sinh yêu cầu gởi lên web server ,nĩ lại chuyển mẫu tin cookies trở lại cho trình chủ .Dưạ vào cookies trình khách và trình chủ sẽ cĩ những thơng tin trạng thái thơng báo cho nhau .

1./ SỬ DỤNG ĐỐI TƯỢNG SESSION TRONG TRANG JSP

Java Server Pages API cung cấp rất nhiều đối tượng nội tại .Ví dụ request và out là hai đối tượng nội tại mà ta nghiên cưú qua .Đối tượng nội tại là đối tượng session .Đây là đối tượng xuất phát từ lớp HttpSession .Với đối tượng session , 3 phương thức mà bạn thường sử dụng nhất là :

Public void setAttribute(String name,Object value) throws IllegalStateException.

Public Object getAttribute(String name) throws

IllegalStateException.

Public void removeAttribute(String name) throws

IllegalStateException.

Các phương thức này hoạt động tương tự phương thức get và put cuả lớp Hashtable cuả Java . Cụ thể ,setAttibute() kết hợp một tên khố với một giá trị cuả biến ,trong khi getAttibute() trả về giá trị kết hợp cuả một tên khố nào đĩ ,nếu khơng tìm thấy giá trị kết hợp ,giá trị trả về sẽ là null .Lưu ý giá trị mà bạn muốn lưu hay lấy về phải là một đối tượng .Đối với giá trị đơn nguyên như int , float , bolean phải chuyển chúng sang kiểu đối tượng dưạ vào các lớp tương ứng như Integer , Float , Boolean . Thường tên khố được xem là tên biến .Ví dụ để lưu một giá trị chuỗi vào đối tượng session để tất cả các trang JSP và servlet thấy được giá trị này , bạn phải goị setAttribute() như sau :

session.setAttribute("Usernames",u) session.setAttribute("Passwords",p)

Bất kì trang JSP hay servlet muốn xem Usernames mang giá trị gì cĩ thể goị phương thức

Biến đối tượng session chỉ tồn tại trong một thời gian nhất định .Khoảng thời gian này gọi là thời gian thực cuả session .Cĩ thể cấu hình thay đổi thời gian này . Nếu muốn chủ động làm cho session hết hiệu lực ,phải gọi phương thức session.invalidate(). Khi session hết hiệu lực ,tất cả các khố và giá trị kết hợp với nĩ do session lưu trữ sẽ bị huỷ bỏ .Khi bạn gọi các phương thức như getAttribute() hay setAttribute() mà đối tượng session đã hết hiệu lực thì lỗi ngoại lệ IllegalStateException sẽ phát sinh .

2./ TÌM HIỂU CÁCH SESSION LAØM VIỆC

Dưới đây là mơ hình làm việc và giao tiếp giữa trình duyệt và Web Server liên quan trao đổi thơng tin cookies phục vụ cho session .

Đối tượng session chỉ được phép tồn tại trong một khoảngthời gian cho phép. Trình chủ tự động giải phĩng và vơ hiệu lực session để tài nguyên của hệ thống được bảo tồn . Nếu đối tượng session đã giải phĩng và trình duyệt gởi yêu cầu trang với số session ID, trình chủ do khơng tìm thấy đối tượng session tương ứng nữa sẽ phát sinh lỗi ngoại lệ IllegalStateException.

Một phần của tài liệu luận văn công nghệ thông tin thiết kế website môn lập trình mạng 1 với servlet và jsp (Trang 80 - 97)

Tải bản đầy đủ (PDF)

(97 trang)