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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> слетает кодировка параметров при form авторизаци 
:(
    Опции темы
Vigo
Дата 1.11.2006, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вобщем есть пачка JSP на 4-м коте, все это под form авторизацией 
есть characterencoding filter, везде в страничках прописано
<%@ page contentType="text/html;charset=windows-1251" %>
и 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
в обычном режиме все ок, но когда истекает время сессии при переходе с JSP1 
на JSP2(к примеру)  и кот ридеректит на форму ввода пароля для авторизации, 
то после собственно авторизации все текстовые параметры в русской кодировке 
приходят на JSP2 в виде ???? 
как это победить и  можно ли обойтись без конструкций типа  String.getbytes 
ибо подключение фильтра было и сделано что бы избавиться от них


PM MAIL   Вверх
Devorior
Дата 1.11.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может фильтр криво написан?  smile 
Сталкивался с такой же проблемой, билось однозначно в сервлетах (из-за перехода в кодировку по-умолчанию)

У меня стоит вот такой кусок:

Код

public void init(FilterConfig filterConfig) throws ServletException {
        encoding = filterConfig.getInitParameter("requestEncoding");
        if (encoding == null) encoding = "Cp1251";
        properties.clear();
        for (Enumeration e = filterConfig.getInitParameterNames(); e.hasMoreElements();) {
            String parameterName = (String) e.nextElement();
            properties.setProperty(parameterName, filterConfig.getInitParameter(parameterName));
        }
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain next) throws IOException, ServletException {
        if (next != null) {
            request.setCharacterEncoding(encoding);
            next.doFilter(request, response);
        }
    }

PM MAIL ICQ   Вверх
Vigo
Дата 1.11.2006, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



не , фильтр классический из примеров кота.... там все просто.... он работает 
проблема именно при переходе с промежуточной (повторной авторизацией)   гдето там кодировка слетает smile(
PM MAIL   Вверх
Devorior
Дата 1.11.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



распечатай кодировку на входах/выходах, сразу увидишь. Может кусок вторичной авторизации на которую подозрение скинь сюда, пока не очень понятно что происходит
PM MAIL ICQ   Вверх
Vigo
Дата 2.11.2006, 03:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вобщем кодировка везде выходит нужная - Cp1251 даже на странице авторизации.
происходит все так 
jsp1
Код

<%@page contentType="text/html;charset=windows-1251"%> 
<%@page language="java"%>
<HTML>
<HEAD>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ВЦ РБ ВСЖД</title>
</head>
<BODY BGCOLOR="#E7E6DA" link="#4B648C" vlink="#4B648C" alink="#4B648C">
      <form action="12.jsp" method="post">
        <input name="text" type="text" id="text" value=" тут по русски">
      </form>
</BODY>
</HTML>


авторизация стандартная form-based т.е. в web.xml приложения написано :
Код

   <security-constraint>
      <web-resource-collection>
         <web-resource-name>АРМ ЗМ</web-resource-name>
         <url-pattern>/11.jsp</url-pattern>
         <url-pattern>/12.jsp</url-pattern>
         <http-method>GET</http-method>
         <http-method>POST</http-method>
     <http-method>PUT</http-method>
      </web-resource-collection>
      <auth-constraint>
     <role-name>asuzm</role-name>
      </auth-constraint>
    </security-constraint>

    <login-config>
      <auth-method>FORM</auth-method>
      <form-login-config>
        <form-login-page>/auth/login.jsp</form-login-page>
        <form-error-page>/auth/error.html</form-error-page>
      </form-login-config>
    </login-config>

    <security-role>
      <role-name>asuzm</role-name>
    </security-role>


на страничке  /auth/login.jsp  вообще java нет , только поля под логин и пароль
jsp2:
Код

<%@page contentType="text/html;charset=windows-1251"%> 
<%@page language="java"%>
<%@page import="java.util.*,java.lang.*,
                mill.tools.tools" %>
<HTML>
<HEAD>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ВЦ РБ ВСЖД</title>
</head>
<BODY BGCOLOR="#E7E6DA" link="#4B648C" vlink="#4B648C" alink="#4B648C">
<%=tools.getRString(request,"text")%>(здесь видим ??????)
<br>
<%=new String(((String)(tools.getRString(request,"text"))).getBytes("ISO-8859-1"),"Cp1251")%>  (тут текст нормальный )
</BODY>
</HTML>

(tools.get.. это тот же обернутый request.getparameter)
так вот если при переходе с jsp1 на jsp2 истек срок жизни сессии то кот в соответствии со спекой ридеректит на login.jsp а только потом уже на jsp2 при этом кодировка слетает (правда если post поменять на get на jsp1 то все ок).... 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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