Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Вопросик из области Web-Programmierung, Java

09.09.15 14:18
Re: Вопросик из области Web-Programmierung, Java
 
v0id* патриот
v0id*
в ответ MrSanders 08.09.15 22:13, Последний раз изменено 09.09.15 17:08 (v0id*)
В ответ на:
Легко и ненапряжно 100500-ми способами. Кто ж знает что у вас используется, ни кода ни конфигурации я пока что не увидел.

Не понял. Я ведь запостил код сервлета, который Вы просили, а что еще надо?
В ответ на:
ну так посмотрите на этот метод, который вызывает sendRequest и передает ему пароль с логином. Может это User.logon(...) делает?

Это doRequest(ServletTransfer- - obj) делает.
В ответ на:
Или все работает исключительно через GeneralServerAdapter_Servlet.doRequest(ServerTransfer- -)?

Да.
В ответ на:
Это будет сторона клиента (апплета) Мне интересно что происходит на стороне сервера (сервлета).
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(...)

Дык и вызывается:
showInfo("ndServlet.doPost, getAttribute(KEY_BINDING_LISTENER) <> this");
В ответ на:
Найдите у себя класс, который extends HttpServler (или у вас своя реализация интерфейса Servlet? тогда implements Servlet) и посмотрите что же он делает c входящими данными.

Нет, extends, я ж постил уже:
public class ndServlet extends HttpServlet implements SingleThreadModel,
HttpSessionBindingListener
В ответ на:
Может, у вас как-то кусками копируется текст, и 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());

Тут я сначала херню написал, прошу пардонов.
Просто это место на консоль не выводится, но есть в томкатовском логе:
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
 

Перейти на