Для клиента мне нужно написать сервлет, который может печатать значения в сообщении формы. Форма размещена на другом сервере, и выглядит примерно так:Перекрестная ссылка на сообщение для сайта tomcat не работает
<form action="http://myserver/myServlet" method="POST">
<input type="text" id="someName" value="someInterestingValue"/>
<input type="submit" value="submit" />
</form>
У меня есть сервер Tomcat 5.0.28 доступный, работает на Java 1.4 JDK, так что я сделал простой сервлет:
public class ProxyServlet extends HttpServlet {
public void doPost(HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException {
PrintWriter out = res.getWriter();
Enumeration a =req.getAttributeNames();
while (a.hasMoreElements()){
String attrname = (String) a.nextElement();
out.println(attrname+"="+req.getAttribute(attrname)+"<br/>");
}
out.close();
}
}
Когда я иду на сервлет по URL-адресу, все выглядит так, как ожидалось. Когда я отправляю запрос GET с некоторыми параметрами, я могу видеть их как атрибуты в отладчике в методе doGet() (метод был оставлен для краткости).
Однако в doPost() поля моей формы, кажется, отсутствуют. Я просмотрел лог-файлы Tomcat, и ничего особенного не занесено в журнал. Я попытался добавить crossdomain.xml в некоторые каталоги, но не нашел способ изменить это поведение.
Так, чтобы быть ясным: форма, указанная выше, находится на сервере A. Мой сервлет работает на существующем унаследованном приложении Tomcat/Java, размещенном на сервере B. Когда форма имеет тип «POST», ни одно из полей не приходит к Servlet на сервере B. Apache НЕ «впереди» Tomcat.
Есть ли какие-то настройки конфигурации, которых я не хватает в Tomcat? Любые советы или предложения, где смотреть дальше? Справка с благодарностью.
А, это пропустило мой глаз. Было бы слишком очевидно, да. Это помогло бы больше, если бы вы на самом деле сказали, что 'getParameter()' stuff также не работает. Тем не менее, рад, что вы решили это самостоятельно. – BalusC
Да, мой плохой, у меня был исходный код getParameter(), но я думал, что могу потерять его, чтобы сделать вопрос немного короче. – Rolf