Получить usersession из ID (первичный ключ SQL) в приложении JSP / Java - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь показать всю информацию пользователя учетной записи после входа в систему. Это работает нормально, когда я даю идентификатор вручную, но мне нужно получить информацию из учетной записи входа. Форма входа в систему работает, создание учетных записей работает, но я не могу получить идентификатор для текущей пользовательской сессии для отображения информации. У меня есть класс DAO, который выбирает учетные записи из идентификатора, и это работает. Но мне нужно иметь возможность выбрать идентификатор вошедшего в систему пользователя и дать в качестве параметра. Спасибо за помощь.

Вот мой код:

<%
 if(session.getAttribute("sessionModel")!= null) {

UserSession model = (UserSession)request.getSession().getAttribute("sessionModel");
account account1 = AccountDAO.getAccountFromID(model.getUserId());
System.out.println(account1);
 }
%>

Servlet: 
@WebServlet("/UserSession")
public class UserSession extends HttpServlet implements Serializable {
    private static final long serialVersionUID = 1L;
    private long userId = -1;   

    public UserSession() {

    }

    public void login(long userId) {
        this.userId = userId;
    }

    public void logout() {
        this.userId = -1;
    }

    public boolean isLoggedIn() {
        return (userId != -1);
    }

    public long getUserId() {
        return userId;
    }

}



JAVA code: 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();

        doGet(request, response);

        String name = request.getParameter("name");
        String pass = request.getParameter("pass");
        try {

            DB_Connection obj_DB_Connection = new DB_Connection();
            Connection connection=obj_DB_Connection.get_Connection();

        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery("select user_name, password from users where user_name ='"+name+"'and password = '"+pass+"' ");

         if(rs.next()) {
             HttpSession session = request.getSession();
             session.setAttribute("sessionModel", name);
             response.sendRedirect("Logged_in.jsp?name="+name+"");

         } else {
             response.sendRedirect("LogIn.jsp");
         }
        }
        catch (Exception e){System.out.println(e);
        }   

    } 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...