Вход на сайт
Вопросик из области Web-Programmierung, Java
5645 просмотров
Перейти к просмотру всей ветки
в ответ MrSanders 08.09.15 22:13, Последний раз изменено 09.09.15 17:08 (v0id*)
В ответ на:
Легко и ненапряжно 100500-ми способами. Кто ж знает что у вас используется, ни кода ни конфигурации я пока что не увидел.
Легко и ненапряжно 100500-ми способами. Кто ж знает что у вас используется, ни кода ни конфигурации я пока что не увидел.
Не понял. Я ведь запостил код сервлета, который Вы просили, а что еще надо?
В ответ на:
ну так посмотрите на этот метод, который вызывает sendRequest и передает ему пароль с логином. Может это User.logon(...) делает?
ну так посмотрите на этот метод, который вызывает sendRequest и передает ему пароль с логином. Может это User.logon(...) делает?
Это doRequest(ServletTransfer- - obj) делает.
В ответ на:
Или все работает исключительно через GeneralServerAdapter_Servlet.doRequest(ServerTransfer- -)?
Или все работает исключительно через GeneralServerAdapter_Servlet.doRequest(ServerTransfer- -)?
Да.
В ответ на:
Это будет сторона клиента (апплета) Мне интересно что происходит на стороне сервера (сервлета).
sendRequest посылает данные на URL, который хранится в поле m_servlet. Проверьте что именно этот метод используется для общения с сервлетом. С каким URL-ем он открывает соединение? Что именно шлет серверу? Дебаггер или просто систем.аутов понапихайте.
Это будет сторона клиента (апплета) Мне интересно что происходит на стороне сервера (сервлета).
sendRequest посылает данные на URL, который хранится в поле m_servlet. Проверьте что именно этот метод используется для общения с сервлетом. С каким URL-ем он открывает соединение? Что именно шлет серверу? Дебаггер или просто систем.аутов понапихайте.
Да, пришлось понапихать, поскольку Эклипс с сервлетом не работает:
m_servlet2: http://sv........com:8160/ICM6/servlet/de.novadata.pp.servlet.ndServlet
in = sendRequest(obj);
System.out.println("doRequest2: doRequest: " + in):
doRequest2: doRequest: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@396c7
System.out.println("doRequest3: doRequest: " + obj);
doRequest3: doRequest: de.novadata.pp.base- -s.ServletTransfer- -@5f3bad
В ответ на:
У сервлета должен вызываться метод doPost(...)
У сервлета должен вызываться метод doPost(...)
Дык и вызывается:
showInfo("ndServlet.doPost, getAttribute(KEY_BINDING_LISTENER) <> this");
В ответ на:
Найдите у себя класс, который extends HttpServler (или у вас своя реализация интерфейса Servlet? тогда implements Servlet) и посмотрите что же он делает c входящими данными.
Найдите у себя класс, который extends HttpServler (или у вас своя реализация интерфейса Servlet? тогда implements Servlet) и посмотрите что же он делает c входящими данными.
Нет, extends, я ж постил уже:
public class ndServlet extends HttpServlet implements SingleThreadModel,
HttpSessionBindingListener
В ответ на:
Может, у вас как-то кусками копируется текст, и ndServlet все же extend HttpServlet? Еще раз спрашиваю - вы вообще смотрите что и как вставляете? Это же понять невозможно... ndServlet.doPost оборвался в середине метода. Что происходит после
Может, у вас как-то кусками копируется текст, и ndServlet все же extend HttpServlet? Еще раз спрашиваю - вы вообще смотрите что и как вставляете? Это же понять невозможно... ndServlet.doPost оборвался в середине метода. Что происходит после
if (session.getAttribute(KEY_BINDING_LISTENER) != this)
session.setAttribute(KEY_BINDING_LISTENER, this);
else
showInfo("ndServlet.doPost, getAttribute(KEY_BINDING_LISTENER) <> this");
Привожу конец эту методу с этого места и до конца:
if (session.getAttribute(KEY_BINDING_LISTENER) != this)
session.setAttribute(KEY_BINDING_LISTENER, this);
else
showInfo("ndServlet.doPost, getAttribute(KEY_BINDING_LISTENER) <> this");
// save the Prefix to be used for server communication from this servlet
setServerNamePrefix(objTransfer.getServerNamePrefix());
if (objAdapter instanceof GeneralServerAdapter)
{
GeneralServerAdapter adapt = (GeneralServerAdapter)objAdapter;
adapt.setServerNamePrefix(this.getServerNamePrefix());
}
// set current sessionid in Adapter as the access key
if (objAdapter instanceof GeneralServerAdapter_RMI)
{
GeneralServerAdapter_RMI adapt = (GeneralServerAdapter_RMI)objAdapter;
adapt.setAccessKey(session.getId());
showInfo("ndServlet.doPost, SessionID(access key) set: " + session.getId());
// also use the session id as request id
adapt.setRequestId(session.getId());
// the adapter should handle special communication issues
// in case the servlet should also do it on its own
adapt.setHandleSpecialCommunication(c_fSpecialCommunicationSupport);
}
AnalyzeSupport timeSup2 = new AnalyzeSupport();
showInfo("ndServlet.doPost, Method: " + met.getName());
objResult = met.invoke(objAdapter, params);
timeSup2.showTimeUsage("ndServlet.doPost RMI-Invocation-Time:");
}
else
{
// special communication
showInfo("getNextDataBlock...");
objResult = this.getNextDataBlock((ndCommunication- -)objTransfer.getData- -());
}
if (objResult != null)
{
// now build the response - -
objTransfer.setData- -((Serializable)this.getResult- -(objResult));
// ...and send it back to the requestor
response.setContentType("java-internal/" + objResult.getClass().getName());
}
else
{
objTransfer.setData- - (null);
response.setContentType("java-internal/null");
}
// now write the - - to the response output stream
this.write- -(response, objTransfer);
timeSup.showTimeUsage("PP_Servlet Request-Time:");
}
catch (Throwable e)
{
GeneralException ex;
if (e instanceof GeneralException)
ex = (GeneralException)e;
else
ex = new GeneralException(e);
// ...and send it back to the requestor
response.setContentType("text/html");
ServletTransfer- - objTransfer = new ServletTransfer- -();
objTransfer.setData- -(new Vector<- ->());
objTransfer.setException(ex);
// now write the - - to the response output stream
this.write- -(response, objTransfer);
}
}
В ответ на:
У вас в логи выводится session got: xxxxxxx (на 01.09.2015 12:27:23 DCC_4 (25) I: request for access key: 540C407B5B9122D19AFC1588C2A49579 не похоже) из
showInfo("session got: " + session.getId());
У вас в логи выводится session got: xxxxxxx (на 01.09.2015 12:27:23 DCC_4 (25) I: request for access key: 540C407B5B9122D19AFC1588C2A49579 не похоже) из
showInfo("session got: " + session.getId());
Тут я сначала херню написал, прошу пардонов.
Просто это место на консоль не выводится, но есть в томкатовском логе:
05.09.2015 02:57:25 I: PP_Servlet (02:57:25):ndServlet.doPost, Method: getAttentionLogs
at de.novadata.pp.servlet.ndServlet.doPost(ndServlet.java:231)
05.09.2015 02:57:38 I: PP_Servlet (02:57:38):ndServlet.doPost, getAttribute(KEY_BINDING_LISTENER) <> this
05.09.2015 02:57:38 I: PP_Servlet (02:57:38):ndServlet.doPost, SessionID(access key) set: 10C7257FBFB48F1755DDEC4A20194520
System.out.println("session got: " + session.getId());
09.09.2015 16:59:27 I: PP_Servlet (16:59:27):session got: 596099E13516A03E708161FEE9B16F99
session got: 596099E13516A03E708161FEE9B16F99
P.S. Cлово "<\Object>" тут почему-то не перевариваривается из него делается "- -". Там, где эта фигня встречается, надо читать ее как <Обжект>. \[/pre] тоже где-то выполняется, где-то нет.
Эй, фуфло, готовься к шмону, ты на стрём поставлен у ворот...
Присоединяйтесь: https://t.me/kudy_vadis