Для клиента мне нужно написать сервлет, который может печатать значения в форме сообщения. Форма размещена на другом сервере и выглядит примерно так:
<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", ни одно из полей не достигает Сервлет на сервере B. Apache НЕ "впереди" Tomcat.
Есть ли какие-то настройки конфигурации, которых мне не хватает в Tomcat?
Любые советы или предложения, где искать дальше?
Помощь очень ценится.