This J2EE tip demonstrates a method of maintaining client session in servlets.
SessionTracking is mechanism introduced here since Http is a stateless
protocol. Using sessions in servlets is quite straightforward, and involves
looking up the session object associated with the current request, creating
a new session object when necessary, looking up information associated with
a session, storing information in a session, and discarding completed or
abandoned sessions.However there are alternative approaches also.
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
class SessionExample extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws
IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(true);
// Print session info
Date date = new Date(session.getCreationTime());
Date accessed = new Date(session.getLastAccessedTime());
out.println("ID " + session.getId());
out.println("Created: " + date);
out.println("Last Accessed: " + accessed);
// Set session info
String data = request.getParameter("data");
if (data != null && data.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(data, dataValue);
}
// Print session contents
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println(name + " = " + value);
}
}
}
|
-
-
Parent Category: Java EE Tips