Microsoft Word - session_tracking_trong_servlet.docx

Tài liệu tương tự
Microsoft Word - client_request_trong_servlet.docx

Microsoft Word - server_response_trong_servlet.docx

Microsoft Word - xu_ly_cookie_trong_servlet.docx

Microsoft Word - status_code_trong_servlet.docx

Microsoft Word - jsp_client_request.docx

Microsoft Word - jsp_syntax.docx

Microsoft Word - form_trong_html.docx

Bài 3 Tựa bài

Microsoft Word - jsp_file_uploading.docx

Microsoft Word - action_trong_jsp.docx

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ STORAGE.COM.VN

Microsoft Word - su_dung_sqlite_voi_php.docx

Hướng dẫn sử dụng dịch vụ FTP

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

Bài 4 Tựa bài

Microsoft Word - Huong dan su dung Mailchimp.docx

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

VT ICT 1. DOANH NGHIỆP ĐĂNG KÝ TÀI KHOẢN 1.1. DOANH NGHIỆP ĐĂNG KÝ TÀI KHOẢN Doanh nghiệp muốn làm thủ tục công bố sản phẩm mỹ phẩm thì cần đăng ký tà

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

Kế thừa

Slide 1

User manual template

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 1.2 Công Ty TNHH Uratek Website: TP.HCM, 11/2017

ThemeGallery PowerTemplate

Công ty CP công nghệ thẻ NACENCOMM HÓA ĐƠN ĐIỆN TỬ CA2 CÔNG TY CỔ PHẦN CÔNG NGHỆ THẺ NACENCOMM TÀI LIỆU NGHIỆP VỤ HÓA ĐƠN ĐIỆN TỬ CA2 Hà Nội 12/2017 1

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG WEBSITE QUẢN LÝ RẠP CHIẾU PHIM TRÊN CƠ SỞ YII FRAMEWORK Hà Nội 2016

sdfsdfsdfsfsdfd

Tài liệu Hướng dẫn sử dụng

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Bài 7 PHP Cơ bản

HỌC VIỆN KỸ THUẬT QUÂN SỰ

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG ỨNG DỤNG HÓA ĐƠN ĐIỆN TỬ CYBERBILL CLOUD V2.0 Phiên bản V2.0

Microsoft Word - selector_trong_jquery.docx

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

Chủ đề :

I

Backup Cloud Server

Hướng dẫn cụ thể từng bước để đăng ký sử dụng Đơn đăng ký không tín chỉ sau đó ghi danh vào các lớp không tín chỉ. 1 tháng Sáu, 2018 Các sinh viên dự

SUBMIT SHIPPING INTRUCTIONS (SI) CMA CGM GROUP EBUSINESS Login to ebusiness on the CMA CGM Group websites: CMA-CGM ANL https:

IPSec IPSec Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã biết khi ta sao chép dữ liệu giữa 2 máy hoặc thông qua mạng VPN để nâng cao chế độ bảo mật người q

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

Hướng dẫn sử dụng 1

Bài 4 Tựa bài

PHẦN 8: LỊCH TUẦN I. Giới thiệu: Chương trình lịch tuần với các tính năng như sau: Lịch chạy trên giao diện WEB với CSDL chạy tập trung. Theo dõi lịch

Tài liệu kỹ thuật tích hợp cổng thanh toán VTC Pay 1 TÀI LIỆU TÍCH HỢP WEBSITE Lịch sử cập nhật Phiên bản Ngày thực hiện Nội dung Người thực hiện 2.0

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Công Ty TNHH Uratek Website: TP.HCM, 08/2017

Microsoft Word - co_ban_ve_jquery.docx

Hướng dẫn làm bài thi xếp lớp tiếng Anh GIỚI THIỆU VỀ BÀI THI XẾP LỚP Bài thi kiểm tra xếp lớp tiếng Anh của Cambridge English là dạng bài thi trực tu

ITS Project

Ch­ng I

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

Microsoft Word - thuoc_tinh_trong_jquery.docx

GIẢI PHÁP NHÀ THÔNG MINH LUMI LIFE HƯỚNG DẪN SỬ DỤNG VOICE CONTROL

WICELL User Guide Smart Cloud Wicell Controller Standard Version Manual version

mySQL - Part 1 - Installation

Hướng Dẫn Sử Dụng Doanh Nghiệp với Giao AdminLTE Bao gồm: - Trỏ record - Quản trị với giao diện AdminLTE - Cấu hình trên Outlook 2013 ( PO

NẮM BẮT XU HƯỚNG BỨT PHÁ THÀNH CÔNG 1

FAQ: Hướng dẫn cấu hình Wireless Router N300 DIR-612 Release date: 17/12/2018 Model support: DIR-612 H/W: Bx F/W: N/A FAQ: Hướng dẫn cấu hình Wireless

Internet Information Service - IIS Internet Information Service - IIS Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã tìm hiểu về cách dựng một NAT Server...

Hướng dẫn sử dụng Virtualmin

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

HƯỚNG DẪN SỬ DỤNG CLOUD STORAGE Trân trọng cám ơn các bạn đã sử dụng dịch vụ Cloud Storage của Viettel IDC. Tài liệu hướng dẫn sử dụng nhanh được biên

TÀI LIỆU HƯỚNG DẪN CÀI ĐẶT CÁC SẢN PHẨM CỦA OFFICE 365

Bài tập thực hành Chuyên đề 1 CNPM - Java Khoa CNTT- Trường ĐH Công nghệ TP.HCM Lab 01: LẬP TRÌNH JAVA CƠ BẢN VỚI NET BEANS A. MỤC TIÊU: Hướng dẫn tải

BƯỚC 1 CÀI LẮP SIM BƯỚC 2 APN BƯỚC 3 ĐĂNG KÝ HOÀN THÀNH Bỏ SIM vào máy di động. Cài đặt APN. Vui lòng khởi động lại thiết bị. Vui lòng mở trình duyệt

XJ-UT311WN_XJ-UT351WN

Microsoft Word - tao_ung_dung_hello_world_trong_android.docx

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Bài tập số 1:

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG WEBSITE HRM MỤC LỤC CHƯƠNG 1 ĐĂNG NHẬP VÀ ĐĂNG XUẤT Đăng nhập hệ thống Đăng xuất hệ thống...3 CHƯƠNG 2 THÔN

Cổng thông tin điện tử đăng ký ý tưởng sáng tạo trực tuyến (Innovation Portal INP) HƯỚNG DẪN SỬ DỤNG (Dành cho Đoàn viên thanh niên đang công tác và l

Xử lý sự kiện trong trang HTML với JavaScript Xử lý sự kiện trong trang HTML với JavaScript Bởi: Khoa CNTT ĐHSP KT Hưng Yên Mục tiêu của chương: Giúp

CÀI ĐẶ T ANDROID TRÊN NETBEAN Yêu cầ u:trong quá trình cài đặ t phả i kế t nố i mạ ng,và phiên bả n này đượ c cài trên windows. 1.Download Netbean(6.7

UBND TỈNH LONG AN TRƯỜNG CAO ĐẲNG NGHỀ LONG AN CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc CHƯƠNG TRÌNH ĐÀO TẠO TRÌNH ĐỘ CAO ĐẲNG (

Modbus RTU - Modbus TCP/IP Converter

27_7193.pdf

Slide 1

Microsoft Word - emulator_trong_android.docx

Kết nối và thao tác với CSDL trong ASP Kết nối và thao tác với CSDL trong ASP Bởi: Khoa CNTT ĐHSP KT Hưng Yên Qui tắc chung - Tạo đối tượng Connection

Hướng dẫn KHG sử dụng dịch vụ BaaS do Mobifone Global cung cấp Tổng Công ty Viễn thông MOBIFONE là nhà cung cấp dịch vụ Viễn thông và CNTT hàng đầu tạ

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

IEEE Paper Template in A4 (V1)

CÔNG TY TNHH GIẢI PHÁP TRỰC TUYẾN TOTAL 60 Đường 18, Phường Hiệp Bình Chánh, Quận Thủ Đức, TP.HCM MST:

TÓM TẮT HƢỚNG DẪN SỬ DỤNG CHƢƠNG TRÌNH HỌC TIẾNG ANH TRỰC TUYẾN ENGLISH DISCOVERIES ONLINE

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

Microsoft Word - activity_trong_android.docx

Microsoft Word - mot_so_tool_trong_android.docx

Microsoft Word - thuat-ngu-thuong-mai-dien-tu.docx

Chương trình dịch

Exchange Server - Recipient Configuration - Create Mailbox Exchange Server - Recipient Configuration - Create Mailbox Bởi: Phạm Nguyễn Bảo Nguyên Chún

July 15 th 2017 Lê Hoàng Video Surveillance HƯỚNG DẪN SỬ DỤNG GuardingVision Guardingvision App Version V3.0.0xx Hỗ Trợ Kỹ Thuật (0283) Địa

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

TRƢỜNG ĐẠI HỌC BÁCH KHOA TRUNG TÂM CÔNG NGHỆ THÔNG TIN ĐỊA LÍ GIỚI THIỆU PHẦN MỀM QUẢN LÝ MẠNG LƢỚI CẤP NƢỚC Thành phố Hồ Chí Minh, tháng 12/2018

PDT&SELAB

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

Microsoft Word - xu_ly_su_kien_trong_jquery.docx

Microsoft Word - Cau hoi on tap.doc

HƯỚNG DẪN SỬ DỤNG UNIFI CONTROLLER

ST T Thuật ngữ Viết đầy đủ Gia i thi ch y nghi a 1 Back Links Những liên kết được trỏ tới website của bạn từ những website bên ngoài (còn gọi là backl

Microsoft Word - bang_trong_html.docx

Bản ghi:

Session Tracking trong Servlet HTTP là một giao thức Stateless, nghĩa là mỗi khi một Client thu nhận một trang Web, thì Client mở một kết nối riêng rẽ tới Web Server và Server tự động không giữ bất kỳ bản ghi nào của các yêu cầu trước đó từ Client. Sau đây là 3 cách để duy trì session giữa Web Client và Web Server: Sử dụng Cookie Một Webserver có thể gán một Session ID duy nhất như là một cookie tới mỗi Web Client và với các yêu cầu liên tục từ Client, chúng có thể được chấp nhận bởi sử dụng cookie đã nhận được. Đây không phải là cách hiệu quả bởi vì nhiều khi trình duyệt không hỗ trợ một cookie, vì thế tôi sẽ không đề nghị bạn sử dụng thủ tục này để duy trì các Session. Sử dụng các trường Hidden Form Một Webserver có thể gửi một trường Hidden Form cùng với một Session ID duy nhất như sau: <input type="hidden" name="sessionid" value="12345"> Entry này nghĩa là, khi Form này được đệ trình, tên và giá trị đã cho tự động được bao trong dữ liệu GET hoặc POST. Mỗi khi trình duyệt Web gửi yêu cầu trở lại, thì giá trị session_id có thể được sử dụng để lần theo dấu của các trình duyệt web khác nhau. Đây có thể là một cách hiệu quả để lần theo dấu của Session nhưng việc click trên một Hypertext Link (ví dụ dạng <A HREF...>) không tạo ra một sự đệ trình Form, vì thế các trường Hidden Form này cũng không thể hỗ trợ việc theo dấu các Gerneral Session. Viết lại URL Bạn có thể phụ thêm một số dữ liệu bổ sung ở cuối mỗi URL mà nhận diện Session đó, và Server có thể liên kết với Session Identifier này với dữ liệu nó đã lưu giữ về session đó. Ví dụ, với http://vietjack.com/file.htm;sessionid=12345, thì Session Identifier được đính kèm là session=12345, mà có thể được truy cập tại Web Server để nhận diện Client đó.

Viết lại URL là cách tốt hơn để duy trì các session và làm việc cho các trình duyệt khi chúng không hỗ trợ các Cookie, nhưng hạn chế ở đây là: bạn sẽ tạo mỗi URL động để gán cho một Session ID bởi vì trang là trang HTML tĩnh. Đối tượng HttpSession trong Servlet Ngoài ba cách được đề cập ở trên, Servlet cung cấp HttpSession Interface, cung cấp một cách để nhận diện một người sử dụng mà lướt qua nhiều hơn một yêu cầu trang, hoặc tới một Website và để lưu thông tin về người dùng đó. Servlet container sử dụng Interface này để tạo một Session giữa một HTTP Client và một HTTP Server. Session này tồn tại trong một khoảng thời gian đã cho, qua nhiều hơn một kết nối hoặc yêu cầu trang từ người dùng. Bạn sẽ nhận đối tượng HttpSession bằng việc gọi phương thức public là getsession() của HttpServletRequest như sau: HttpSession session = request.getsession(); Bạn cần gọi phương thức request.getsession() trước khi bạn gửi bất kỳ nội dung tài liệu nào tới Client. Bảng dưới đây liệt kê một số phương thức quan trọng mà có sẵn với đối tượng HttpSession. STT Phương thức và Miêu tả 1 public Object getattribute(string name) Phương thức này trả về đối tượng được bind với name đã cho trong Session này, hoặc trả về nul nếu không có đối tượng nào được bind với tên này 2 public Enumeration getattributenames() Trả về một Enumeration của các đối tượng String chứa các tên của tất cả đối tượng được bind tới Session này 3 public long getcreationtime()

Trả về thời gian khi Session này được tạo, được tính toán bằng mili giây từ 1/1/1970 GMT 4 public String getid() Phương thức này trả về một String chứa Identifier duy nhất được gán tới Session này 5 public long getlastaccessedtime() Phương thức này trả về thời gian cuối cùng mà Client gửi một yêu cầu mà liên kết với Session này, với số mili giây từ 1/1/1970 6 public int getmaxinactiveinterval() Phương thức này trả về khoảng thời gian tối đa, bằng giây, mà Servlet container sẽ giữ Session này được mở trong các truy cập client 7 public void invalidate() Phương thức này vô hiệu hóa session này và không kết nối bất kỳ đối tượng nào được bind với nó 8 public boolean isnew( Phương thức này trả về true nếu Client vẫn chưa biết về Session đó 9 public void removeattribute(string name) Phương thức này gỡ bỏ đối tượng được bind với tên đã cho từ session này 10 public void setattribute(string name, Object value) Phương thức này bind một đối tượng tới Session này, bởi sử dụng tên đã cung cấp

11 public void setmaxinactiveinterval(int interval) Phương thức này xác định thời gian, bằng giây, giữa các yêu cầu từ Client trước khi Servlet container sẽ vô hiệu hóa session này Ví dụ về Session Tracking trong Servlet Ví dụ này miêu tả cách sử dụng đối tượng HttpSession để tìm thời gian creation và thời gian last-accessed cho một Session. Chúng ta sẽ liên kết một Session mới với yêu cầu này nếu nó chưa tồn tại. // Import required java libraries import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; // Extend HttpServlet class public class SessionTrack extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // Create a session object if it is already not created. HttpSession session = request.getsession(true); // Get session creation time. Date createtime = new Date(session.getCreationTime()); // Get last access time of this web page. Date lastaccesstime = new Date(session.getLastAccessedTime()); String title = "Welcome Back to my website"; Integer visitcount = new Integer(0); String visitcountkey = new String("visitCount"); String useridkey = new String("userID"); String userid = new String("ABCD"); // Check if this is new comer on your web page. if (session.isnew()){ title = "Welcome to my website"; session.setattribute(useridkey, userid); } else { visitcount = (Integer)session.getAttribute(visitCountKey); visitcount = visitcount + 1; userid = (String)session.getAttribute(userIDKey); } session.setattribute(visitcountkey, visitcount); // Set response content type response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); String doctype = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n"; out.println(doctype + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<h2 align=\"center\">session Infomation</h2>\n" + "<table border=\"1\" align=\"center\">\n" + "<tr bgcolor=\"#949494\">\n" + " <th>session info</th><th>value</th></tr>\n" + "<tr>\n" + " <td>id</td>\n" + " <td>" + session.getid() + "</td></tr>\n" + "<tr>\n" + " <td>creation Time</td>\n" + " <td>" + createtime + " </td></tr>\n" + "<tr>\n" + " <td>time of Last Access</td>\n" + " <td>" + lastaccesstime + " </td></tr>\n" + "<tr>\n" + " <td>user ID</td>\n" + " <td>" + userid + " </td></tr>\n" + "<tr>\n" + " <td>number of visits</td>\n" + " <td>" + visitcount +

"</td></tr>\n" + "</table>\n" + "</body></html>"); } } Biên dịch SessionTrack trên và tạo entry thích hợp trong web.xml file. Bây giờ chạyhttp://localhost:8080/sessiontrack sẽ hiển thị kết quả sau trong lần đầu tiên: Welcome to my website Session Infomation Session info Giá trị id 0AE3EC93FF44E3C525B4351B77ABB2D5 Creation Time Tue Jun 08 17:26:40 GMT+04:00 2010 Time of Last Access Tue Jun 08 17:26:40 GMT+04:00 2010 User ID ABCD Number of visits 0 Bây giờ chạy lần thứ hai, nó sẽ cho kết quả sau: Welcome Back to my website Session Infomation

info type Giá trị id 0AE3EC93FF44E3C525B4351B77ABB2D5 Creation Time Tue Jun 08 17:26:40 GMT+04:00 2010 Time of Last Access Tue Jun 08 17:26:40 GMT+04:00 2010 User ID ABCD Number of visits 1 Xóa Session Data trong Servlet Dưới đây là các cách để xóa các Session Data: Gỡ bỏ một thuộc tính cụ thể: Bạn có thể gọi phương thức public void removeattribute(stringname) để xóa value mà liên kết với một key cụ thể. Xóa toàn bộ Session: Bạn có thể gọi phương thức public void invalidate() để loại bỏ toàn bộ Session. Thiết lập timeout cho Session: Bạn có thể gọi phương thức public void setmaxinactiveinterval(int interval) để thiết lập timeout cho từng Session. Log out người sử dụng: Với các Server mà hỗ trợ Servlet 2.4, bạn có thể gọilogout để loại Client ra khỏi Web Server và vô hiệu hóa toàn bộ Session đó. Cấu hình web.xml: Nếu bạn đang sử dụng Tomcat, ngoài các phương thức trên, bạn có thể định cấu hình timeout của Session trong web.xml file như sau: <session-config> <session-timeout>15</session-timeout> </sessionconfig> Timeout được biểu diễn bằng phút, và ghi đè timeout mặc định là 30 phút trong Tomcat.

Phương thức getmaxinactiveinterval() trong một Servlet trả về quãng thời gian timeout cho session đó bằng giây. Vì thế neeys Session của bạn được định cấu hình là 15 phút trong web.xml, thì getmaxinactiveinterval() trả về 900.