http://vietjack.com/jsp /index.jsp Copyright © vietjack.com Client Request JSP Khi trình duyệt u cầu Webpage, gửi nhiều thơng tin tới Web server, mà đọc cách trực tiếp thơng tin phần Header HTTP request Bạn truy cập chương: Giao thức HTTP để theo dõi chi tiết điều Dưới thông tin header quan trọng mà tới từ Brower Side mà bạn sử dụng thường xuyên lập trình web Header Miêu tả Accept Trường xác định loại MIME mà trình duyệt Cli xử lý Các giá trị image/png image/jpeg phổ biến Accept-Charset Trường xác định ký tự mà trình duyệt sử hiển thị thơng tin Ví dụ: ISO-8859-1 Accept-Encoding Trường xác định kiểu mã hóa mà trình duyệt biết đ Các giá trị gzip compress hai khả ph Accept-Language Trường xác định ngôn ngữ ưa thíc Client hợp Servlet tạo kết nhiều ngôn ng en, en-us, ru, v.v Authorization Trường sử dụng Client để nhận diện chín truy cập vào trang web bảo vệ password Connection Trường dẫn có hay khơng Client xử lý cá HTTP dạng Persistent Các kết nối Persistent cho phép trình duyệt thu nhận nhiều file với yêu cầu trị Keep-Alive nghĩa kết nối Persistent n sử dụng Content-Length Trường thích hợp với yêu cầu POST cun cỡ liệu POST giá trị byte Cookie Trường trả cookie tới Server mà trước đ chúng tới trình duyệt Host Trường xác định host cổng (port) cung URL ban đầu If-Modified-Since Trường Client muốn trang đ thay đổi sau ngày xác định Server gửi code là Not Modified Header khơng có kết sẵn If-Unmodified-Since Trường ngược với trường If-Modified-Since Nó http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/jsp /index.jsp Copyright © vietjack.com Referer User-Agent hoạt động thành công tài liệu cũ ngày đ Trường URL trang web tham chiếu bạn trang Webpage click vào link tới tr Webpage 2, URL Webpage bao tr Referer Header trình duyệt yêu cầu trang Webpage Trường nhận diện trình duyệt Client tạo sử dụng để trả nội dung khác c loại trình duyệt khác Đối tượng HttpServletRequest JSP Đối tượng request minh họa đối tượng javax.servlet.http.HttpServletRequest Mỗi Client yêu cầu trang, JSP engine tạo đối tượng để biểu diễn yêu cầu Đối tượng request cung cấp phương thức để nhận thông tin HTTP header gồm Form data, cookie, phương thức HTTP, … Bảng liệt kê phương thức quan trọng sử dụng để đọc HTTP header chương trình JSP bạn Các phương thức có sẵn với đối tượng HttpServletRequest mà biểu diễn Client Request tới Webserver STT Phương thức & Miêu tả Cookie[] getCookies() Trả mảng chứa tất đối tượng Cookie mà Client gửi với yêu cầu Enumeration getAttributeNames() Trả Enumeration chứa tên thuộc tính có sẵn cho u cầu Enumeration getHeaderNames() Trả Enumeration tất tên Header mà yêu cầu chứa Enumeration getParameterNames() Trả Enumeration đối tượng String chứa tên Parameter đư yêu cầu HttpSession getSession() Trả session tại, mà liên kết với yêu cầu này, u cầu khơng c session, tạo session HttpSession getSession(boolean create) Trả HttpSession tại, mà liên kết với yêu cầu này, khơng có s create true, trả session Locale getLocale() Trả Locale mà Client chấp chận nội dung đó, dựa trường Acc http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/jsp /index.jsp Copyright © vietjack.com 10 11 12 13 14 15 16 17 18 19 20 21 22 Language Header Object getAttribute(String name) Trả giá trị thuộc tính name Object, trả null khơ thuộc tính name cung cấp tồn ServletInputStream getInputStream() Thu nhận thân yêu cầu dạng liệu nhị phân sử dụng ServletInputSt String getAuthType() Trả tên Authentication Scheme sử dụng để bảo vệ Servlet, ví dụ "SSL", trả null JSP không bảo vệ String getCharacterEncoding() Trả tên Mã hóa ký tự sử dụng thân yêu cầu String getContentType() Trả kiểu MIME thân yêu cầu, trả null kiểu String getContextPath() Trả phần URI yêu cầu mà dẫn context yêu cầu String getHeader(String name) Trả giá trị trường Header xác định dạng String String getMethod() Trả tên phương thức HTTP mà yêu cầu tạo, ví dụ: GET, PO PUT String getParameter(String name) Trả giá trị Parameter dạng String, trả null Param không tồn String getPathInfo() Trả thông tin path bổ sung, mà liên kết với URI mà Client gửi cầu String getProtocol() Trả tên phiên giao thức String getQueryString() Trả chuỗi truy vấn, chứa URL sau path String getRemoteAddr() Trả địa Internet Protocol (IP) Client mà gửi yêu cầu String getRemoteHost() Trả tên đầy đủ Client mà gửi yêu cầu String getRemoteUser() Trả login người sử dụng tạo yêu cầu này, người dùng xá http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/jsp /index.jsp Copyright © vietjack.com 23 24 25 26 27 28 29 30 trả null người dùng chưa xác nhận String getRequestURI() Trả phần URL yêu cầu từ tên giao thức dạng chuỗi truy dòng HTTP Request String getRequestedSessionId() Trả ID session xác định Client String getServletPath() Trả phần URL yêu cầu mà gọi JSP String[] getParameterValues(String name) Trả mảng đối tượng String chứa tất giá trị mà parameter có, trả null parameter không tồn boolean isSecure() Trả Boolean có hay khơng u cầu tạo sử dụng đường an toàn, HTTPS int getContentLength() Trả độ dài, giá trị byte, thân yêu cầu làm có sẵn Input S trả -1 độ dài int getIntHeader(String name) Trả giá trị Request header cho dạng int int getServerPort() Trả số hiệu cổng mà yêu cầu nhận Ví dụ HTTP Header Request JSP Ví dụ sau sử dụng phương thức getHeaderName() đối tượng HttpServletRequest để đọc thông tin HTTP header Phương thức trả Enumeration chứa thông tin header mà liên kết với HTTP request Khi có Enumeration, lặp Enumeration theo phương thức chuẩn: sử dụng phương thức hasMoreElements() để xác định dừng sử dụng phương thức nextElement() để nhận tên parameter HTTP Header Request Example http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/jsp /index.jsp Copyright © vietjack.com HTTP Header Request Example Header NameHeader Value(s) Bây đặt code main.jsp thử truy cập Nó cho kết sau: Tên giá trị tương ứng HTTP Header Request JSP Tên Header accept accept-language user-agent Giá trị Header */* en-us Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Tri InfoPath.2; MS-RTC LM 8) accept-encoding gzip, deflate host localhost:8080 connection Keep-Alive cache-control no-cache Để làm quen với phương thức này, bạn thử viết chương trình sử dụng phương thức theo cách thức tương tự http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... bài học online miễn phí http://vietjack.com /jsp /index .jsp Copyright © vietjack.com HTTP Header Request. .. Trang chia sẻ các bài học online miễn phí http://vietjack.com /jsp /index .jsp ... Trang chia sẻ các bài học online miễn phí http://vietjack.com /jsp /index .jsp