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

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 73 - 97)

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 .

Java Application,Applet ,Servlet

JDBC Driver

Java Native Driver

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

,Oracle,…) Mã Java

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

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

trình chủ đã cài đặt sẵn lớp HttpSession.Thay vào đĩ , HttpSession dưạ vào khái niệm cuả cookies quy định giữa trình khách và trình chủ .Cookies là một 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

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

that sự cuả khố ,cần chuyển Object về kiểu đối tượng thích hợp .

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.

Web Server Web Server

Browser

Cho tơi xin trang tài

liệu

Đây là trang tài liệu bạn .Số session ID

là 3478

Cho tơi xin trang tài liệu bạn .Số session ID cuả tơi là 3478

Trình duyệt yêu cầu tài liệu

Trình chủ trả về trang tài liệu

và cookies chưá thơng tin

về session ID Trình duyệt chuyển số session ID cho trình chủ bất kì khi nào nĩ muốn yêu câù

một tài liệu mới.

Browser

Web Server Browser

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

3./ XỬ LÝ CHẤM DỨT SESSION

Đối tượng session cĩ thể bị chấm dứt hay bị huỷ bỏ trong hai trường hợp :chủ động gọi phương thức invalidate() cuả nĩ hoặc trình chủ web server huỷ session do thời gian hết hiệu lực .Tuỳ theo dữ liệu lưu trong session mà cần phải thực hiện một vài thao tác xố biến dọn dẹp các đối tượng trước khi session bị hủy bỏ .Ví dụ , cĩ thể lưu biến trong session các thơng tin kết nối đến cơ sở dữ liệu .Thực hiện kết nối trước khi xố session vì nĩ sẽ làm cho ứng dụng tăng tốc độ xử lý đối với các người dùng cịn lại .

Đối tượng session cũng cài đặt cơ chế gọi ngược để thơng báo cho một đối tượng nào đĩ trạng thái đối tượng được ràng buộc vào session hoặc khi session bị hủy bỏ .

Để cài đặt cơ chế thơng báo cuả session ,dùng giao diện HttpSessionBindingListener .Giao diện này định nghĩa các phương thức mà session sẽ gọi thơng báo cho các đối tượng về trạng thái cuả nĩ.

PHẦN 2 : GIỚI THIỆU RATIONAL ROSE

I. Rational Unified Process (RUP) được định hướng bởi các mơ hình Use Case Đăngkýhọc Học Thi DạoxemWeb Cậpnhậtthơngtin Xemđiểmthi Họcviên

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

Một Uses Case là một chuỗi các hành động mà hệ thống thực hiện mang lại một kết quả quan sát được .

Uses Case chứa luồng các sự kiện diễn ra trong hệ thống . Lợi ích cuả quá trình định hướng bởi Uses Case :

 Uses Case ngắn gọn , đơn giản và dễ hiểu đối với người dùng và người phát triển khi hiểu các yêu cầu chức năng cuả hệ thống .

 Uses Case định hướng nhiều hoạt động trong quy trình : tạo mơ hình thiết kế , triển khai hệ thống , …

 Uses Case giúp đồng bộ hố nội dung các mơ hình khác nhau II. Mơ tả các class trong Rational Rose

Class là một mơ tả cuả một nhĩm đối tượng cĩ chung các thuộc tính , hành vi , các mối quan hệ và ngữ nghiã .

Một đối tượng là một thể hiện cuả class Biểu diễn class :

Một class được biểu diễn bằng một hình chữ nhật gồm 3 phần

Hocvien

Phần 1: chưá tên lớp .

Phần 2 : cho thấy cấu trúc class Phần 3 : cho thấy các hành vi cuả lớp . III. Quan hệ giữa các lớp :

Mối quan hệ Association :

Dethi Chitietdethi Cauhoi n n n n n 1 n 1

Association : quan hệ bản số xác định số đối tượng tham gia vào một mối quan hệ ,số các thể hiện cuả một lớp quan hệ với một thể hiện cuả một lớp khác .

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

IV. Lược đồ Sequence trong Rational Rose:

Lược đồ Sequence thể hiện từng chức năng hệ thống thơng qua các lược đi trên sơ đồ

Sequence đơn giản , dễ hiểu đối với người dùng

Vơí Sequence giúp ta thấy được tổng quát tồn chức năng hoạt động cuả hệ thống.

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

CHƯƠNG IV : KẾT LUẬN VAØ HƯỚNG PHÁT TRIỂN ĐỀ TAØI

1. Các kết quả đạt được trong đề tài :

Sau thời gian thực hiện luận văn , chúng em đã thiết kế một phần web site học qua mạng mơn Lập trình mạng cơ sở .Ngồi việc tìm hiểu các tool dùng để cài đặt web site này ,chúng em đã xử lý một số yêu cầu :

 Phân tíchvà thiết kế hệ thống theo hướngđối tượng

 Quản lý chi tiết các học phần .

 Quản lý học viên đăng kí học .

 Quản lý thơng tin về giáo viên và người quản trị hệ thống .

 Xử lý một số chức năng khi học viên , giáo viên , người quản trị đăng nhập vào hệ thống .

 Bảo mật hệ thống bằng cách sử dụng Session thơng qua chức năng phân quyền cho mỗi user riêng khi họ đăng nhập vào hệ thống .

Ý nghiã thực tiễn cuả đề tài

Tĩm lại với tốc độ phát triển ngày càng tăng của mạng máy tính, thì việc thiết kế và cài đặt các ứng dụng cho người dùng là rất cần thiết. Vì vậy ý tưởng học qua mạng tuy khơng phải là mới nhưng phần nào cũng giúp học viên thuận tiện trong việc học tập qua mạng , tiết kiệm được thời gian đến trường nhưng vẫn cĩ đầy đủ kiến thức ,hạn chế chi phí và tổ chức thi cử trong các kì thi .

2. Một số vấn đề cịn hạn chế

Chưa sử dụng được cơ chế bảo mật để web site đạt hiệu quả tốt hơn . Kinh nghiệm lập trình trên mơi trường lập trình Web chưa tốt nên giao diện cĩ nhiều điểm chưa phù hợp về cách phân bố màu sắc, hình ảnh …

Cơ sở dữ liệu chưa đáp ứng khi số lượng người dùng tham gia vào hệ thống quá đơng cùng một lúc .

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

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ừ

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 73 - 97)

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

(97 trang)