response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Login</title>");
out.println("</head>");
out.println("<body>");
HttpSession session = request.getSession();
Connection connection =
(Connection)session.getAttribute("connection");
if (connection == null) {
String userName = request.getParameter("username");
String password = request.getParameter("password");
if (userName == null || password == null) {
// prompt the user for her username and password
out.println("<form method=\"get\" action=\"Login\">");
out.println("Please specify the following to log in:<p>");
out.println("Username: <input type=\"text\" " +
"name=\"username\" size=\"30\"><p>");
out.println("Password: <input type=\"password\" " +
"name=\"password\" size=\"30\"><p>");
out.println("<input type=\"submit\" value=\"Login\">");
out.println("</form>");
}
else {
// create the connection
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@dssw2k01:1521:orcl", userName, password);
}
catch (SQLException e) {
out.println("Login doGet() " + e.getMessage());
}
if (connection != null) {
// store the connection
session.setAttribute("connection", connection);
response.sendRedirect("Login");
return;
}
}
}
else {
String logout = request.getParameter("logout");
if (logout == null) {
// test the connection
Statement statement = null;
ResultSet resultSet = null;
String userName = null;
try {
statement = connection.createStatement();
resultSet = statement.executeQuery(
"select initcap(user) from sys.dual");
if (resultSet.next())
userName = resultSet.getString(1);
}
catch (SQLException e) {
out.println("Login doGet() SQLException: " + e.getMessage() + "<p>");
}
finally {
if (resultSet != null)
try { resultSet.close(); } catch (SQLException ignore) { }
if (statement != null)
try { statement.close(); } catch (SQLException ignore) { }
}
out.println("Hello " + userName + "!<p>");
out.println("Your session ID is " + session.getId() + "<p>");
out.println("It was created on " +
new java.util.Date(session.getCreationTime()) + "<p>");
out.println("It was last accessed on " +
new java.util.Date(session.getLastAccessedTime()) + "<p>");
out.println("<form method=\"get\" action=\"Login\">");
out.println("<input type=\"submit\" name=\"logout\" " +
"value=\"Logout\">");
out.println("</form>");
}
else {
// close the connection and remove it from the session
try { connection.close(); } catch (SQLException ignore) { }
session.removeAttribute("connection");
out.println("You have been logged out.");
}
}
out.println("</body>");
out.println("</html>");