Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Слежение за сессией пользователя / 8 сообщений из 8, страница 1 из 1
17.04.2006, 22:10
    #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
18.04.2006, 00:02
    #33672344
arhys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слежение за сессией пользователя
Нет, не лучше.
Во-первых sessionID и так прыгает в кукишах, получить его можно
Код: plaintext
request.getHeader("Cookie")
ну и вытащить из строки.
А во-вторых за счет этого кукиша сессия и так идентифицируется однозначно, так что храни в ней данные пользователя и все. Иногда проще написать JavaBean и задействовать его с scope="session".
...
Рейтинг: 0 / 0
18.04.2006, 01:30
    #33672370
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слежение за сессией пользователя
...
Рейтинг: 0 / 0
18.04.2006, 01:30
    #33672371
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слежение за сессией пользователя
у request есть спец метод для получения кук

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

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


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