Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переменная сервлета 
:(
    Опции темы
Grelloo
Дата 17.4.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 18.3.2006
Где: г. Екатеринбург

Репутация: нет
Всего: нет



Сервлет получает имя и пароль из login.jsp
Код
String user = request.getParameter("userName");
String password = request.getParameter("password1");

Проверяю наличие пользователья в базе данных, затем на этом же сервлете вывожу поле для ввода сообщений (что-то типа чата). Каждое сообщение и имя его пользователя должны попадать в базу данных, но вместо этого я получаю null, когда пытаюсь получить user с помощью 
Код
request.getParameter("userName");

Как мне сделать чтобы эта переменная не сбрасывалась?   
PM MAIL ICQ   Вверх
COVD
Дата 17.4.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



если вы хотите, чтобы вместе с сообщением приходило и юзернейм, то надо его явно каждый раз посылать. Что пошлете, то и получите на серверной стороне. Если это HTML форма, значит должен быть туда вписан такой параметр и определено его значение.  
PM MAIL   Вверх
Goliath
Дата 17.4.2006, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 1.3.2005

Репутация: нет
Всего: 5



Самый простой метод поместить ее в сессию! 
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
Tirael
Дата 17.4.2006, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Как Вы передает данные от login.jsp в сервлет.

Код сервлета и login.jsp в СТУДИЮ !! smile  
--------------------
 
PM MAIL   Вверх
Grelloo
Дата 17.4.2006, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 18.3.2006
Где: г. Екатеринбург

Репутация: нет
Всего: нет



Передаю из login.jsp
<input name="userName" size="10" value="" maxlength="10" type="text">
Получаю:
String user = request.getParameter("userName");
Может мне через атрибуты сессии это сделать. То бишь получить в login.jsp сессию установить username в качестве атрибута, потом вызывать эту же сессию в сервлете и получить этот параметр?
Да, еще параллельно вопрос: как отслеживать сессию (через куки бы не хотелось, вдруг отключат)?
 
PM MAIL ICQ   Вверх
Grelloo
Дата 18.4.2006, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 18.3.2006
Где: г. Екатеринбург

Репутация: нет
Всего: нет



В общем я сделал так
login.jsp

Код

<%@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>


[code=java]


В сервлете получаю соответствующие атрибуты сессии:
Код

HttpSession session = request.getSession();
String username = (String)session.getAttribute("user-name"); 
String password = (String)session.getAttribute("pass-word");


В приниципе мне кажется куки здесь не нужны, т. к. запоминать о пользователе ничего не надо кроме имени и пароля, которые можно извлечь из базы. 
А вот насчет нескольких пользователей, то здесь возникает проблема: если захожу под одним пользователем и одновременно под другим, то первый пользователь начинает слать сообщения под именем второго. Наверное проблема в том, что я захожу с одного и того же браузера? 

 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.