2

Login.jsp

    <%
        /* Getting Database connection*/
        Connection connection = ConnectionFactory.getInstance()
                .getConnection();
        if (connection == null) {
            System.out.print("Error in getting DB connection");
        }

        /* requesting user login credentials*/
        String login_name = request.getParameter("username");
        String login_pass = request.getParameter("password");

        if ((login_name != null && login_name.trim() != "")
                || (login_pass != null && login_pass.trim() != "")) {

            String query = "SELECT USER_NAME,PASSWORD from MEMBERS where USER_NAME='"
                    + login_name + "'";
            PreparedStatement ps = connection.prepareStatement(query);
            ResultSet rs = ps.executeQuery();
            String USER_NAME = null;
            String PASSWORD = null;
            while (rs.next()) {
                USER_NAME = rs.getString("USER_NAME");
                PASSWORD = rs.getString("PASSWORD");
            }

            //verifying with database 
            if ((USER_NAME.equals(login_name) && PASSWORD
                    .equals(login_pass))) {
                //starting session
                session.setAttribute("UserName", USER_NAME);

                System.out.println(session.getCreationTime());
                out.print("<head> <meta http-equiv=\"Refresh\" content=\"0;url=./home.jsp\" > </head>");

            } else {
                out.println("Login Failed");
            }
        } else {
            out.println("Please Enter Your Credentials");
            %>
    <jsp:include page="./login.html"></jsp:include>
    <%

        }
%>

Home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Home</title>
</head>
<body>
    Hi, <%= session.getAttribute("UserName") %>


<% System.out.println(session.getCreationTime());%>
</body>
</html>

Home.jsp displaying Hi,null why? I understood that the home .jsp is creating new session but how to make use of existing session? Can any body help to resolve this please?

NorthCat
  • 9,643
  • 16
  • 47
  • 50
Sagar Pudi
  • 4,634
  • 3
  • 32
  • 51

3 Answers3

0

try adding this declaration to your page:

<%@ page session="false" %>

This will prevent a session from being created when a JSP is served. Besides I believe its not about the session, its about the value of USER_NAME being set. try debugging the value of USER_NAME being set in login.jsp

underdog
  • 4,447
  • 9
  • 44
  • 89
  • If you have a page that doesn't need to be involved in a session then we need to place <%@ page session="false" %> – Sagar Pudi Mar 25 '15 at 07:13
0

I don't see the session declaration, try getting & setting session using request as follows:

Login.jsp

request.getSession().setAttribute("name", yourStringObject);

Home.jsp

yourStringObject = (String) request.getSession().getAttribute("name");

And don't forget to remove objects from the session:

request.getSession().removeAttribute("name");
Sasha
  • 1,500
  • 4
  • 14
  • 25
0

First do

session=request.getSession();

then Set or Get Attribute From Session

Karan shah
  • 175
  • 15