Giới thiệu Seesion (Servlet & JSP)


Hôm nay mình sẻ giới thiệu cho các bạn về đối tượng seesion trong ví dụ của servlet  & jsp.

Seesion (Phiên làm việc): Các bạn cứ hiểu đơn giãn nó là 1 bác bảo vệ đứng trước cổng trường vậy và thời gian sống của một seesion là khoảng thời gian từ khi bắt đầu học cho đến khi kết thúc. Đối với trình duyệt củng vậy đối tượng seesion tồn tại từ lúc bắt đầu ứng dụng cho đến khi rời ứng dụng đó.

Mình xin giới thiệu một vài thuộc tính cơ bản:

1-Truy cập vào Seesion object

  • Gọi request.getSession() để lấy đối tượng HttpSession (đây là một bảng băm liên kết với mổi user)

2-Tìm kiếm thông tin liên kết với Session.

  • gọi getAttribute trên đối tượng HttpSession. khi gọi ta phải cast nó trở về loại thích hợp. (Nhớ là phải kiểm tra null ^^!).

3-Lưu trử thông tin trong một Seesion.

  • Sử dụng setAttribute với 1 key và 1 value tương tứng với key đó.

4-getAttributeNames : Trả về tên của tấc cả các thuộc tính trong session.

5- getId : Trả về một bảng băm nó củng để xác định user

6 -isNew : Xác định nếu session này là của 1 new client.

và còn rất nhiều các bạn tham khảo click.

Sau đây là một ví dụ cơ bản về đối tượng Seesion: các bạn tạo ra 1 gói và đặt tên sao củng được ^^!. cấu trúc như mình. Mình tạo 1 servlet là TestSession.

@WebServlet("/test-session")
public class TestSession extends HttpServlet {
 @Override
 public void doGet(HttpServletRequest request,
 HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html");
 HttpSession session = request.getSession();
 synchronized(session) {
 String heading;
 Integer count =
 (Integer)session.getAttribute("count");
 if (count == null) {
 count = 0;
 heading = "Welcome to Kobe";
 } else {
 heading = "Welcome Back";
 count = count + 1;
 }
 session.setAttribute("count", count);
 PrintWriter out = response.getWriter();
 String title = "Session";
 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=\"#B041FF\">\n" +
 "<CENTER>\n" +
 "<H1>" + heading + "</H1>\n" +
 "<H2>Information on Your Session:</H2>\n" +
 "<TABLE BORDER=1>\n" +
 "<TR BGCOLOR=\"#FDF5E6\">\n" +
 " <TH>Info Type<TH>Value\n" +
 "<TR>\n" +
 " <TD>ID\n" +
 " <TD>" + session.getId() + "\n" +
 "<TR>\n" +
 " <TD>Creation Time\n" +
 " <TD>" +
 new Date(session.getCreationTime()) + "\n" +
 "<TR>\n" +
 " <TD>Time of Last Access\n" +
 " <TD>" +
 new Date(session.getLastAccessedTime()) + "\n" +
 "<TR>\n" +
 " <TD>Number of Previous Accesses\n" +
 " <TD>" + count + "\n" +
 "</TABLE>\n" +
 "</CENTER></BODY></HTML>");
 }
 }

}



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: