Đề tài Web quản lý nhân sự

Trong thời gian nghỉ hè vừa qua,nhờ sự hướng dẫn tận tình của PGS_TS Đặng Minh Ất,cùng với sự giúp đỡ của các bạn cùng lớp,em đã cố gắng tìm hiểu lý thuyết và thực hành với mục tiêu là có được những kiến thức cơ bản về xây dựng Web site. Cụ thể, sau một tháng, em đã làm được các công việc sau: - Tìm hiểu các khái niệm cơ bản về Web. - Tìm hiểu các công cụ xây dựng Web. - Xây dựng thử nghiệm trang web Quản lý nhân sự với một số chức năng cơ bản như: quản lý nhân viên, quản lý phòng ban, quản lý quá trình công tác và quá trình đào tạo nhân viên, quản lý hệ số lương nhân viên, tìm kiếm và trợ giúp.Tuy nhiên,do thời gian ngắn nên trong việc tìm hiểu lý thuyết và thực hành của em còn nhiều phần chưa đầy đủ. Trong tìm hiểu về các công cụ xây dựng Web, em chưa thể tìm hiểu hết các công cụ xây dựng chính, cũng như với mỗi công cụ tìm hiểu thì cũng chưa thật sâu, thì các chức năng còn đơn giản.Với ý nghĩa là bước đầu tìm hiểu về các công cụ xây dựng Web site, em xin trình bày kết quả trong đợt thực tập này của em. Bao gồm các phần chính sau: - Cơ bản về Web và các kiến thức cơ bản về ASP. - Giới thiệu sơ qua về PHP. - Phân tích thiết kế hệ thống Quản lý nhân sự. - Các chức năng và giao diện chính của trang Quản lý nhân sự.

docx57 trang | Chia sẻ: tuandn | Lượt xem: 4715 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Web quản lý nhân sự, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phụ lục Lời mở đầu 3 Phần I_Cơ bản về Web và các công cụ xây dựng Web 4 I.KháI niệm cơ bản về Web 4 II.Tạo trang tài liệu động 5 2.1Kĩ thuật tạo trang bằng ngôn ngữ Script phía Server 5 2.2Các kĩ thuật tạo trang động của Microsoft 6 III.Đối tượng Request và Response của ASP 8 1.Tổng quan về các đối tượng Request và đối tượng Reponse 8 2.Tạo FORM va QueryString 12 VI.Các đối tượng trong ASP 15 1.Đối tượng Session 15 2.Đối tượng Application 17 3.Tìm hiểu File cấu hình khởi động Globalasa 18 4.Các đối tượng nội tại của ASP(BUILD_IN OBJECT) 19 5.Các đối tượng tiện ích( INSTALLABLE_COMPONENT) 21 V.ADO (ACTIVE DATA OBJECT) 23 1.Tại sao sử dụng ADO và ADO là gì? 23 2.Mô hình đối tượng ADO 2.5 27 3.Kết nối với nguồn dữ liệu 28 VI.Ưu và khuyết điểm của ASP 29 1.Ưu điểm 29 2.Khuyết điểm 29 VII.Giới thiệu ASP.NET: 30 1.Giới thiệu chung 30 2.Ưu điểm 30 3.Khuyết điểm 30 VIII.Giới thiệu về PHP 31 1.PHP là gì? 31 2.Lịch sử phát triển của PHP 31 3.PHP ở cấp doanh nghiệp 34 4.Ưu và khuyết điểm 35 Phần II_Phân tích và thiết kế HTTT Quản lí nhân sự 36 1.Khảo sát hệ thống 36 2.Phạm vi nghiên cứu của đề tài 38 3.Đối tượng nghiên cứu của đề tài 38 4.Sơ đồ luồng dữ liệu 39 5.Sơ đồ ngữ cảnh của hệ thống QLNS 41 6.Sơ đồ lưồng dữ liệu (DFD) của hệ thống 41 7.Sơ đồ quan hệ thực thể (Relationship ) 46 8.Thiết kế các bảng(CSDL) 46 9.Một số giao diện của trang Web 50 Phụ lục:Hướng dẫn cài đặt trang Web QLNS 52 LỜI MỞ ĐẦU Trong thời gian nghỉ hè vừa qua,nhờ sự hướng dẫn tận tình của PGS_TS Đặng Minh Ất,cùng với sự giúp đỡ của các bạn cùng lớp,em đã cố gắng tìm hiểu lý thuyết và thực hành với mục tiêu là có được những kiến thức cơ bản về xây dựng Web site. Cụ thể, sau một tháng, em đã làm được các công việc sau: - Tìm hiểu các khái niệm cơ bản về Web. - Tìm hiểu các công cụ xây dựng Web. - Xây dựng thử nghiệm trang web Quản lý nhân sự với một số chức năng cơ bản như: quản lý nhân viên, quản lý phòng ban, quản lý quá trình công tác và quá trình đào tạo nhân viên, quản lý hệ số lương nhân viên, tìm kiếm và trợ giúp.Tuy nhiên,do thời gian ngắn nên trong việc tìm hiểu lý thuyết và thực hành của em còn nhiều phần chưa đầy đủ. Trong tìm hiểu về các công cụ xây dựng Web, em chưa thể tìm hiểu hết các công cụ xây dựng chính, cũng như với mỗi công cụ tìm hiểu thì cũng chưa thật sâu, thì các chức năng còn đơn giản.Với ý nghĩa là bước đầu tìm hiểu về các công cụ xây dựng Web site, em xin trình bày kết quả trong đợt thực tập này của em. Bao gồm các phần chính sau: - Cơ bản về Web và các kiến thức cơ bản về ASP. - Giới thiệu sơ qua về PHP. - Phân tích thiết kế hệ thống Quản lý nhân sự. - Các chức năng và giao diện chính của trang Quản lý nhân sự. Em rất mong đợi ý kiến đánh giá của thầy. Em xin chân thành cảm ơn thầy. Sinh viên : Nguyễn Mạnh Hải PHẦN I CƠ BẢN VỀ WEB VÀ CÁC CÔNG CỤ XÂY DỰNG WEB I. KHÁI NIỆM CƠ BẢN VỀ WEB Trong thực tế, ứng dụng Web luôn tồn tại hai loại là trang Web tĩnh và động. Trang Web tĩnh là trang HTML không kết nối cơ sở dữ liệu. Ngược lại, trang web động là trang web có kết nối cơ sở dữ liệu. Điều này có nghĩa là mỗi khi trang web động được làm tươi, dữ liệu trình bày trên trang Web được đọc từ cơ sở dữ liệu. Nói các khác, cho dù đó là trang Web tĩnh hay động, nếu muốn người dùng sử dụng chúng để trình bày dữ liệu trên trình duyệt Web, cần phải khai báo các thẻ HTML bên trong chúng theo một quy luật nhất định. Để trang Web trình bày dữ liệu theo như ý của người thiết kế Web trên trình duyệt, cần phải khai báo các Client Script phù hợp với chuẩn HTML và Client Script. Ngoài ra, mỗi trình duyệt có thể hỗ trợ thêm những thẻ khác, nhằm cho phép người dùng phong phú hoá giao diện của trang Web. Hai trình duyệt phổ biến hiện nay là IE (Internet Explorer của hãng Microsoft) và NC (Netscape). Cả hai trình duyệt này đều cho phép duyệt các loại trang Web được xây dựng trên ngôn ngữ lập trình bất kì có hỗ trợ Web. Để xây dựng một ứng dụng Web hoàn chỉnh và có tính thương mại, cần phải kết hợp cả Client Script (kịch bản trên trình khách) và Server Script (kịch bản trên trình chủ) với một loại cơ sở dữ liệu nào đó, chẳng hạn như MS Access, SQL Server, MySQL, Oracle… Khi muốn triển khai ứng dụng Web trên mạng Intranet hay Internet, ngoài các điều kiện về cấu hình phần cứng, hệ điều hành, cần phải có trình chủ Web thường gọi là Web Server. Trên môi trường Windows, Web Server thường sử dụng là IIS ( Internet Information Server). IIS sử dụng cho các Server Script như: ASP (Active Server Page), JSP (Java Server Page), Servlet, PHP, Perl, ASP.NET. Trong môi trường Linux, Web Server thường dùng bao gồm Apache, JRUN, Web logic.. Tóm lại, cho dù sử dụng bất kì Server Script với Web Server, thì Client Script không phụ thuộc vào chúng. Điều này có nghĩa là có thể sử dụng một trong hai loại Client Script ở trên là VBScript và JavaScript đều được. II. TẠO TRANG TÀI LIỆU ĐỘNG 2.1 Kỹ thuật tạo trang bằng ngôn ngữ Script phía Server Cơ chế hoạt động Web tuân theo mô hình khách chủ client/server. Trình khách gửi yêu cầu đến trình chủ xử lí và trả về kết quả để trình khách hiển thị. Trình chủ trong các ứng dụng Web được gọi là Webserver. Trình khách thường là browser (hay trình duyệt) Hình: Yêu cầu và phản hồi tài trang tài liệu giữa Web Server và trình khác Browser Ở bước đầu của công nghệ Web, với các trang HTML, hoặc dữ liệu tĩnh như hình ảnh hay tập tin văn bản (text file), trình chủ Webserver đơn giản chỉ đọc và lấy toàn bộ nội dung của file trên máy chủ trả về trình khách. Hoạt động của Web Server mang chức năng tương tự File Server. Tuy nhiên, xuất phát từ nhu cầu xử lí động, trình chủ Web Server cho phép cài đặt các ứng dụng CGI (Common Gateway Interface) tiếp nhận yêu cầu của trình khách, thực hiện thao tác xử lí dữ liệu trước khi đưa kết quả trở về trình duyệt phía máy khách Client. CGI là các chương trình thực thi nhị phân (như file .exe) viết bằng ngôn ngữ biên dịch (điển hình là C/C++). Với một số cầu hình cần thiết , Web Server sẽ gọi đến chương trình CGI và chuyển giao các yêu cầu từ trình khách cho chương trình CGI xử lí. Hoàn tất quá trình xử lí, CGI sẽ trả kết quả lại cho Web Server và Web Server lại tiếp tục trả về trình khách. Quá trình triệu gọi xử lí của CGI hoàn toàn trong suốt (transparent) hay không thấy được đối với trình khách. Hình: Xử lý CGI phía trình chủ Viết CGI đòi hỏi phải sử dụng các ngôn ngữ biên dịch như C/C++, Pascel, Visual Basic… Trình CGI sau khi xây dựng xong muốn nâng cấp hay thêm vào những tính năng xử lí mới đòi hỏi phải biên dịch lại. Công việc mở rộng và bảo trì ứng dụng Web viết bằng CGI rất cực nhọc và không hiệu quả. Một số chương trình CGI đã đi một bước xa hơn nữa đó là cho phép người dùng sử dụng một số lệnh điều khiển cách kết xuất của CGI trước khi trả kết quả cho trình chủ Web Server chuyển tiếp về máy khách. Các lệnh điều khiển này được đặt ngay trong trang tài liệu (chúng được gọi là Script hay kịch bản). Trình CGI sẽ đọc, diễn dịch và thực thi trực tiếp các Script này- cách hoạt động tương tự trình thông dịch (interpreter). Đi tiên phong và phát triển mạnh mẽ nhất trong ứng dụng thông dịch CGI dạng này là các trang viết bằng ngôn ngữ Perl. Perl là trình xử lí thông dịch cực kì thông dụng trong thế giới UNIX và Linux. Ứng dụng CGI cho phép Web sử dụng ngôn ngữ Perl cũgn hiện diện trên nền Windows. 2.2 Các kỹ thuật tạo trang động của Microsoft Microsoft cung cấp trình chủ Web Server mang tên IIS (Internet Information Service). IIS cho phép sử dụng cách thức tạo trang Web động bằng CGI, ISAPI và tiến xa hơn nữa là các trang ASP. Các trình CGI thường viết bằng Visual C++, Delphi hay Visual Basic… (các trình biên dịch file thực thi trên nền Windows). Chúng được dịch ra file thực thi .exe và đặt trong thư mục /cgi-bin của trình chủ IIS. Mỗi khi nhận được yêu cầu triệu gọi của trình khách, Web Server IIS tìm đến chương trình CGI với trình chủ Web Server thực hiện thông qua hai luồng xuất nhập chuẩn stdin và stdout của hệ điều hành (có thể hình dung stdin và stdout là hai file, stdin dùng để Web Server ghi dữ liệu vào giúp chương trình CGI đọc được yêu cầu của trình khách. Stdout là file được trình CGI ghi kết quả trả về. Web Server sẽ lấy dữ liệu tử stdout gửi về trình khách). Cơ chế CGI tỏ ra chậm chạp và kém hiệu quả. Mỗi lần nhận được yêu cầu của trình khách, Web Server phải khởi động, nạp lại trình CGI vào bộ nhớ, xử lý sau đó giải phóng trình CGI chờ phiên triệu gọi tiếp theo. Nếu có nhiều yêu cầu triệu gọi CGI cùng lúc, Web Server phải nạp nhiều phiên bản tách biệt của trình CGI để thực hiện xử lý. Hai lý do này làm giảm tốc độ thực thi của CGI và tiêu tốn rất nhiều tài nguyên quản lý của trình chủ cũng như hệ điều hành. Tại sao không giữ lại trình CGI trong bộ nhớ chờ phiên triệu gọi tiếp theo của trình khách? Tại sao phải nạp cùng lúc nhiều thể hiện (instance) của cùng trình CGI cho mỗi yêu cầu riêng biệt trong khi mã lệnh xử lý của chúng như nhau? Microsoft đưa ra cơ chế xử lý mới nhanh hơn đó là cung cấp giao diện lập trình ứng dụng Internet ISAPI (Internet Server Application Programming Interface) gắn liền với trình chủ Web Server IIS. Thay vì thiết kế CGI xử lí trang động, các nhà phát triển cso thể sử dụng ISAPI để xây dựng những đơn thể kết gắn và nạp trực tiếp vào trình chủ Web Server. Đơn thể ISAPI tồn tại cùng với Web Server trong suốt quá trình phục vụ chờ yêu cầu của trình khách. Các đơn thể ISAPI được viết ở dạng file thư viện DLL. Mã lệnh của chúng hoạt động và trao đổi dữ liệu trong cùng không gian địa chỉ của trình chủ Web IIS. Tốc độ xử lý của ISAPI do đó rất nhanh, tiết kiệm tài nguyên và hơn hẳn CGI. Tuy nhiên, một trở ngại của đơn thể ISAPI cũng như CGI đó là phải sử dụng các ngôn ngữ biên dịch. Khả năng bảo trì và thiết kế một ứng dụng Web chỉ dùng CGI hay ISPAI là rất thấp. Nếu ứng dụng CGI hỗ trợ kịch bản thông dịch ở dạng script, làm đơn giản hoá và loại bỏ quá trình viết mã của ngôn ngữ biên dịch cấp thấp thì kỹ thuật ISAPI cũgn cho phép bạn sử dụng các trang chứa script. Các trang này chính là ASP (Active Server Page). Trang ASP đơn thuần là file văn bản chứa mã định dạng HTML kết hợp mã thông dịch như VBScript hay Jscript. Đơn thể ASP.DLL (một ISAPI dùng cho xử lý trang ASP) được tích hợp vào Web Server IIS. Khi nhận được yêu cầu của tình khách cần hiển thị trang .asp, trình chủ Web Server sẽ triệu gọi đơn thể xử lý trang (ASP.DLL). Trang được đọc, diễn dịch và thực thi các lệnh kịch bản. Kết quả sau đó sẽ được ASP.DLL gửi lại trình chủ để trả về theo yêu cầu của máy khách. Hình: Mô hình xử lý trang ASP và ISAPI thay cho CGI III. ĐỐI TƯỢNG REQUEST VÀ RESPONSE CỦA ASP 1. Tổng quan về đối tượng Request và đối tượng Response Chi tiết của yêu cầu máy khách (Client) và phản hồi từ máy chủ (Server) có thể truy xuất bằng ASP qua hai đối tượng Request và Response. Đối tượng Request cung cấp tất cả các thông tin mà Client cung cấp khi yêu cầu một trang hay submit (đệ trình) một form. Điều này bao gồm các biến HTTP chỉ định browser và người dùng, các cookie được lưu trên browser và các giá trị bất kỳ được gắn vào URL với vai trò query string (chuỗi truy vấn) hay xác lập trong các control HTML trong một phân đoạn trong một trang. Đối tượng Response được sử dụng để truy xuất các đáp ứng mà server tạo ra để gởi ngược về Browser. Nó là các biến HTTP định danh Server và khả năng của nó, thông tin về nội dung được gởi về browser và bất kỳ các cookie mới nào sẽ được lưu trên browser. Nó cũng cung cấp các method chúng ta có thể sử dụng để tạo ra output như method Response.Write. 1.1 Các thành phần của đối tượng Request 1.1.1Các collection (tập hợp) của đối tượng Request Query String: Một tập các cặp tên/giá trị được gắn vào URL trong yêu cầu của người dùng, hay tất cả các giá trị của các control HTML trong phân đoạn được đệ trình khi đặt giá trị của thuộc tính METHOD là GET hay bỏ qua nó (tức GET là giá trị mặc định). Các thành phần của tập đều là giá trị chỉ đọc (read-only). Form: Một tập các giá trị của các control HTML trong phân đoạn được đệ trình khi đặt giá trị của thuộc tính METHOD là POST. Các thành phần của tập đều là giá trị chỉ đọc (read-only). ClientCertificate: Một tập các giá trị của tất cả các field hay entry trong client certificate mà người dùng trình cho server khi truy xuất một trang tài nguyên. Các thành phần của tập đều là giá trị chỉ đọc (read-only). Cookies: Môộ tập các giá trị cảu tất cả các cookie được gửi từ hệ thống của user cùng với Request. Các thành phần của tập đều là giá trị chỉ đọc. ServerVariables: Một tập các giá trị của tất cả các header HTTP được gửi từ client cùng với request, cùng với giá trị của một số biến môi trường của Web Server. Các thành phần của tập đều là giá trị chỉ đọc. 1.1.2 Thuộc tính của đối tượng Request Đối tượng Request chí có một thuộc tính cung cấp thông tin về số byte dữ liệu mà người dùng chuyển lên trình chủ. Thuộc tính này ít được sử dụng, trừ một số trường hợp xử lý đặc biệt phía trình chủ như dùng tiếp nhận dữ liệu nhị phân từ các file tải lên phía trình khách. Thuộc tính TotalBytes: Chỉ đọc, trả lại tổng số Byte trong đối tượng request được gửi lên từ trình khách. 1.1.3 Phương thức của đối tượng Request BinaryRead(count): Là phương thức duy nhất của Request cho phép truy xuất toàn bộ nội dung yêu cầu của người dùng được POST lên server, nhận count byte dữ liệu từ yêu cầu client khi dữ liệu được gửi đến server là một phần của request POST. Nó trả về một mảng Variant. Chú ý quan trọng là phương thức này sẽ thất bại nếu mã ASP đã truy xuất đến tập Request.Form. Tương tự, việc truy xuất tâp Request.Form sẽ không thành công nếu đã sử dụng phương thức BinaryRead. 1.2 Các thành phần của đối tượng Response 1.2.1 Các tập hợp của đối tượng Response Đối tượng Response cung cấp loại đối tượng tập hợp dùng để xác lập giá trị của bất kỳ cookie nào ta muốn đặt trên hệ thống của trình khách client. Nó tương đương trực tiếp với tập Request.Cookies: Cookies: Một tập chứa giá trị của tất cả các cookie sẽ được gửi ngược lại client trong đáp ứng hiện hành. Các thành phần của tập đều là giá trị chỉ ghi (write-only). 1.2.2 Các thuộc tính của đối tượng Response Buffer = True/False : Đọc/ghi. Kiểu Boolean. Giá trị True chỉ định output được tạo bởi một trang ASP được giữ trong bộ đệm IIS cho đến khi tất cả các Script Server trong trang hiện hành đã được xử lý, hay đến khi phương thức Response.Flush hay Response.End được gọi. Nó cần được xác lập trước khi gởi bất kỳ output nào cho IIS, bao gồm cả thông tin header HTTP, vì vậy nó nên là hàng đầu tiên của file .asp sau lệnh %@LANGUALE=..%. Chú ý là giá trị mặc định là True trong ASP 3.0, trong khi các phiên bản trước là False. CacheControl”setting”: Đọc /ghi. Kiểu String. Đặt thuộc tính này bằng Public cho phép proxy server thực hiện chức năng cache (kỹ thuật lưu giá trị cũ trong bộ nhớ để nạp lại) trang, hay Private để ngăn việc cache xảy ra. Charset=”value”: Đọc/ghi. Kiểu String. Nối thêm tên của tập ký tự vào header HTTP Content Type tao ra bởi server cho mỗi đáp ứng. ContentType=”Kiểu-MIME”: Đọc/ghi. Kiểu String. Chỉ định content type của đáp ứng, là một chuẩn kiểu MIME. Nếu bỏ qua, kiểu MIME “text/html” được sử dụng. Expires minutes: Đọc/ghi. Kiểu number. Chỉ định chiều dài thời gian tính bằng phút một trang còn hợp lệ. Nếu người dùng trở lại trang trước khi nó hết hạn, bản cache được sử dụng. Sau chu kỳ đó, nó hết hạn, và sẽ không được giữ trong một vùng đệm cache. ExpiresAbsolute #date[time]#: Đọc/ghi. Kiểu Date/time. Chỉ định ngày và giờ tuyệt đối một trang sẽ hết hạn và không còn hợp lệ nữa. IsClientConnected: Chỉ đọc. Kiểu Boolean. Trả lại một chỉ định client có còn kết nối và tải trang từ server xuống hay không? Có thể sử dụng để kết thúc quá trình (với phương thức Response.End) nếu client di chuyển đến trang khác trước khi trang hiện hành được xử lý xong. Status = “code message”: Đọc/ghi. Kiểu chuỗi. Chỉ định giá trị trạng thái và thông điệp sẽ được gửi đến client trong các header HTTP cảu đáp ứng để một lỗi hay xử lý trang thành công. 1.2.3 Các phương thức của đối tượng Response AddHeader(tên, nội dung): Tạo ra một header HTTP tuỳ biến sử dụng các giá trị tên và nội_dung và thêm nó vào đáp ứng. Không thể thay thế một header đã tồn tại có cùng tên. Một khi đã thêm header, không thể thu hồi nó. Cần phải sử dụng trước khi gửi bất cứ trang nội dung nào (text hay HTML) đến client. AppendToLog(“string”): Thêm một chuỗi vào cuối log file của trình chủ Web server. BinaryWrite(Array): Ghi nội dung của Array kiểu Variant vào dòng output HTTP hiện hành mà không thực hiện bất cứ phép chuyển đổi ký tự nào. Thường dùng để ghi những thông tin không phải chuỗi, như dữ liệu nhị phân yêu cầu bởi một ứng dụng hay số byte để tạo một file ảnh. Clear(): Huỷ bất cứ nội dung trang nào trong bộ đệm khi Response.Buffer bằng True. Không huỷ các header HTTP: có thể sử dụng một trang chưa hoàn thành. End(): Ngưng xử lý script và trả về nội dung đang tạo ra, không xử lý thêm nữa. Flush(): Gửi tất cả các nội dung trong bộ đệm IIS đến client nếu Response.Buffer=True. Có thể sử dụng để gửi từng phần riêng biệt của một trang dài đến Client. Redirect(“URL”): chỉ thị Browser nạp một trang trong thông số URL bằng cách gửi một HTTP “302 ObjectMoved”. WriteString(“string”): Viết chuỗi chỉ định vào dòng đáp ứng HTTP và bộ đệm IIS để nó trở thành một phần của trang trả về. 2. Tập FORM và QueryString 2.1 Kỹ thuật chung truy xuất các collection ASP Hầu hết các collection ASP đều giống các collection thông thường trong Visual Basic. Chúng là một mảng các giá trị mà có thể truy xuất bằng một khoá chuỗi (không phân biệt chữ hoa chữ thường) cũng như một chỉ số nguyên. 2.1.1 Truy xuất toàn bộ các giá trị của collection Có thể lấy toàn bộ của một collection vào một biến string bằng cách truy xuất tên collection không có khoá hay chỉ số: strAllFormContent=Request.Form Chú ý là giá trị được cung cấp theo kiểu từng cặp tên/giá trị va các cặp được tách bởi ký tự “&”. 2.1.2 Duyệt qua một collection ASP Có hai cách duyệt qua một collection của ASP, tương tự như chúng ta vẫn làm với các collection VB thông thường. Mỗi collection cung cấp một thuộc tính Count trả về số mục trong collection. Có thể dùng nó để duyệt qua collection với chỉ số nguyên: For i=1 to Request.Form.Count Response.Write Request.Form(i) & “” Next 2.1.3 Các thành phần quan trọng của collection HTML Radio Control ( hay Option Button Control): HTML List Box Control HTML Submit và Image Control 2.2 Truy xuất và cập nhật collection Cookies Cookie là những mẫu text nhỏ được lưu trên máy của client bởi trình duyệt và được gởi đến máy chủ (server) đối với mỗi trang yêu cầu với domain tương ứng của chúng. Chúng ta có thể lấy các giá trị của tất cả các Cookie được gửi tới request từ collection Request.Cookies, và tạo ra hay biến đổi cookies để gửi ngược về trình duyệt với collection Response.cookies. Cookies chứa các thông tin có thể cấu thành theo hai cách. Các cookie một giá trị (single value) có thể truy xuất qua collection bình thường. Tuy nhiên, mỗi thành phần của collection cũng có thể là collection. Các cookie kiểu này được gọi là các cookie nhiều giá trị (multiple-value). Để tạo ra một cookie một giá trị: Response.Cookies(“item-name”) = “item-value” Và cookie nhiều giá trị: Response.Cookies(“item-name”) (“sub-item-name”) = “sub-item-value” Để đặt domain và đường dẫn áp dụng cookie và ngày hết hạn (expire date) của nó: Response.Cookies(“item-name”).domain= “domain-url” Response.Cookies(“item-name”).path= “virtual-path” Response.Cookies(“item-name”).expire= #date# Thông thường, client chỉ gởi cookie đến server theo yêu cầu các trang cùng thư mục với trang tạo ra cookie. Bằng cách đặt thuộc tính path cho cookie, chúng ta có thể chỉ định vị trí hợp lệ của cookie trên server và sẽ được gởi yêu cầu các trang. Nếu muốn cookie được gửi với mọi yêu cầu của toàn bộ site, ta đặt path bằng “/”. Nếu thuộc tính expire không được đặt, cookie sẽ bị huỷ ngay khi người dùng đóng thể hiện (instance) hiện hành của trình duyệt. 2.3 Sự khá