powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Слежение за сессией пользователя
8 сообщений из 8, страница 1 из 1
Слежение за сессией пользователя
    #33672272
Grelloo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне надо чтобы пользователь заходил на jsp-страницу, вводил имя, пароль и после этого я мог отслеживать его действия. Если я правильно понял, то для этого хорошо подходит установка атрибутов сессии

Скажем на login.jsp пользователь заходит впечатывает свое юзернаме и пассворд, затем на check.jsp мы получаем их:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
String user = request.getParameter("username"); 
String password = request.getParameter("password"); 

//проверяем:
 if  (user ==  null  || password ==  null ) { 
  //отсылаем на login.jsp
}  else   if  (user.equals("user") && password.equals("password")) { 
  request.getSession().setAttribute("user-name", user); 
}  else  { 
  // отсылаем на login.jsp
} 

String username = (String) request.getSession().getAttribute("user-name"); 
 if  (username ==  null ) { 
  // выходим
}  else  { 
  // работаем дальше
}


Может для отслеживания пользователя лучше использовать здесь sessionID и потом передавать ее в hidden полях?

Кнопкой [ SRC] пользуйся, да?
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33672344
arhys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, не лучше.
Во-первых sessionID и так прыгает в кукишах, получить его можно
Код: plaintext
request.getHeader("Cookie")
ну и вытащить из строки.
А во-вторых за счет этого кукиша сессия и так идентифицируется однозначно, так что храни в ней данные пользователя и все. Иногда проще написать JavaBean и задействовать его с scope="session".
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33672370
коты
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33672371
коты
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у request есть спец метод для получения кук

just another freak in the Freak Kingdom
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33672464
arhysНет, не лучше.
Во-первых sessionID и так прыгает в кукишах, получить его можно
Код: plaintext
request.getHeader("Cookie")
ну и вытащить из строки.

Во-первых, не обязательно в куках.
Во-вторых, RTFM .
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33672702
Grelloo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем я сделал так
login.jsp

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page  import ="java.util.*"%>
<!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=UTF-8">
    </head>
    <body>
    <h3>JSP Page</h3>
     <%  if  (request.getParameter("userName")==
 null  && request.getParameter("password1")
 ==  null ) { %>      
    <form action="index.jsp" method="get">
  <center><br>
  <table border="0" cellpadding="4" cellspacing="2">
    <tbody>
      <tr>
        <th colspan="2" bgcolor="#ccccff"><font size="5">USER
REGISTERATION</font> <br>
        <font size="1"><sup>*</sup> Required Fields</font> </th>
      </tr>
      <tr bgcolor="#c8d8f8">
        <td colspan="2" valign="top">
        <div style="text-align: center;"> <b>User Name<sup>*</sup></b>
        <br>
        </div>
        <div style="text-align: center;"><input name="userName"
 size="10" value="" maxlength="10" type="text"> </div>
        </td>
      </tr>
      <tr bgcolor="#c8d8f8">
        <td valign="top"> <b>Password<sup>*</sup></b> <br>
        <input name="password1" size="10" value="" maxlength="10"
 type="password"></td>
        <td valign="top"> <b>Confirm Password<sup>*</sup></b> <br>
        <input name="password2" size="10" value="" maxlength="10"
 type="password"></td>
      </tr>
      <tr bgcolor="#c8d8f8">
        <td colspan="2" align="center"> <input value="Submit"
 type="submit"> </td>
      </tr>
    </tbody>
  </table>
  </center>
</form>
<% }  else  { %>     
<%! HttpSession session; %>
<%! String user, password; %> 
<% user = request.getParameter("userName");  %>
<% password = request.getParameter("password1"); %>
<%
session = request.getSession( );
session.setAttribute("user-name", user); 
session.setAttribute("pass-word", password);
%> 
    <jsp:forward page="/TestServlet" />  
<% } %>        
    </body>
</html>

В сервлете получаю соответствующие атрибуты сессии:
Код: plaintext
1.
2.
3.
HttpSession session = request.getSession();
String username = (String)session.getAttribute("user-name"); 
String password = (String)session.getAttribute("pass-word");

В приниципе мне кажется куки здесь не нужны, т. к. запоминать о пользователе ничего не надо кроме имени и пароля, которые можно извлечь из базы.
А вот насчет нескольких пользователей, то здесь возникает проблема: если захожу под одним пользователем и одновременно под другим, то первый пользователь начинает слать сообщения под именем второго. Наверное проблема в том, что я захожу с одного и того же браузера?
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33672733
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подробнее почитайте про сессии. Лучше присутствие пользователя в сессии оформить в виде бина. Есть бин в сессии - пользватель залогинился.
...
Рейтинг: 0 / 0
Слежение за сессией пользователя
    #33701560
SysCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно посмотреть тут
/topic/283282&hl=
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Слежение за сессией пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]