Thứ Bảy, 14 tháng 6, 2014

Session

Khái niệm:

Session  được dùng để lưu thông tin của người dùng trong một phiên đăng nhập, Sesssion có giá trị từ lúc khởi tạo cho đến lúc nó được expire hoặc cho đến lúc trình duyệt đóng, phiên làm việc kết thúc. Lúc đó session sẽ không còn khả năng retain nữa.

 Các kỹ thuật  xử lý Session:

-Có khá nhiều kỹ thuật xử lý session trong Servlet và có một số cách như sau:


*Url Rewritting

- Mỗi một yêu cầu mà client gửi đến thông qua url thì chúng ta có thể thêm một tham số định danh session cùng với mỗi yêu cầu và phản hồi để theo dõi phiên làm việc (session). Điều này rất quan trọng  vì chúng ta cần phải theo dõi các thông số này trong mọi phản hồi và chắc chắn rằng nó không xung đột với các thông số khác.

*Persistent Cookies

- Cookie là các mảnh nhỏ lưu thông tin ở trong trình duyệt bên phía client, nó được gửi tới máy chủ. Lúc đó server sẽ nhận ra client qua các thông tin của cookie.Cách này cũng khá thông dụng.


*Hidden Form Variables

- Chúng ta có thể dùng các thẻ ẩn mà người dùng không nhìn thấy nhưng chúng vẫn là các thẻ nằm trong form để gửi lên server.

*Servlet API

- Được xây dựng trên phương pháp theo dõi phiên.

Sau đây tôi sẽ hướng dẫn các bạn làm 1 Demo về Session.
Bước 1 : Các bạn tạo 1 Web Application.Các bạn tham khảo cách tạo tại đây. Rồi sau đó tạo class User và các Servlet như sau.


Các bạn có thể tham khảo cách tạo Servlet class ở đây.

Bước 2: Code các class như các ảnh sau:
Code trong index.html

Code trong class User.

Code trong class DataSource

Code trong Servlet: HomeServlet.

Code trong LoginServlet.
 Sau khi xử lí code. Tôi chạy ứng dụng và được như sau:
Giao diện Form Login.

Khi bạn đăng nhập sai sẽ báo lỗi như trên.

Hình ảnh sau khi bạn dăng nhập đúng.

Sửa link như trên hình ta thấy Session vẫn hoạt động.
Qua bài Demo trên các bạn có thể hiểu thêm về Session. Theo tôi nghĩ thì Session khá phổ biến trong lập trình vì nó Giúp server không phải nhận quá nhiều và người dùng cũng không phải nhập nhiều .
Các bạn có thể tải Demo của tôi tại đây. Cảm ơn.




Không có nhận xét nào:

Đăng nhận xét