Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как послать запрос из JavaScript в сервлет?
 
 автор: K   (09.09.2007 в 18:33)   письмо автору
 
 

Если набрать в браузере
http://localhost:8080/kotel/xservlet
то в сервлет xServlet.java в doGet/doPost запрос приходит

Но если набрать на JavaScript
request = new XMLHttpRequest();
request.overrideMimeType("text/xml");
request.open("GET","http://localhost:8080/kotel/xservlet",false);
request.send(null);
docxml=request.responseXML;
то в сервлете xServlet.java ничего не происходит

Как передать java - сервлету запрос от JavaScript в виде XML-файла и получить ответ в виде XML-файла?

   
 
 автор: Artem S.   (10.09.2007 в 09:27)   письмо автору
 
   для: K   (09.09.2007 в 18:33)
 

Возращается именно XML? Я имею ввиду указан правильный заголовок и кодировка?
Так же можно проверить что в responseText находиться

   
 
 автор: K   (11.09.2007 в 05:50)   письмо автору
 
   для: Artem S.   (10.09.2007 в 09:27)
 

Не понятен первый шаг

Как для начала послать в сервлет XML?

   
 
 автор: K   (11.09.2007 в 07:12)   письмо автору
 
   для: Artem S.   (10.09.2007 в 09:27)
 

Да тут бы просто в сервлет попасть. Если набираю в браузере
http://localhost:8080/kotel/xservlet
то в doPost/doGet сервлета поступает запрос.

А в JavaScript чтобы не писал в addr
function sobaka(){
addr="http://localhost:8080/kotel/xservlet";
alert(addr);
var request = new XMLHttpRequest();
request.overrideMimeType("text/xml");
request.open("GET",addr,false);
request.send(null);
alert(request.responseText);
}
в сервлет не попадаю, а выходит ошибка в Консоли JavaScript -
uncaught exception: 0?@5I5=> 2K7K20BL <5B>4 XMLHttpRequest.open

Т.е. даже в в doPost/doGet сервлета попасть не могу. Может XMLHttpRequest вообще с сервлетами не работает? Или как-то не так XMLHttpRequest инициализирую.

Сервлет проще некуда
public class xServlet extends HttpServlet{
public void init(ServletConfig conf) throws ServletException{
super.init(conf);
}
public void doGet(HttpServletRequest request, HttpServletResponse response){
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response){
System.out.println("doPost = пришел запрос");
}
}

   
 
 автор: Artem S.   (11.09.2007 в 08:25)   письмо автору
 
   для: K   (11.09.2007 в 07:12)
 

может стоит убрать...
request.overrideMimeType("text/xml");

попробуйте подставить другой адрес, помоему дело не в сервлете

   
 
 автор: K   (11.09.2007 в 09:20)   письмо автору
 
   для: Artem S.   (10.09.2007 в 09:27)
 

Странно, с Формы тоже не могу попасть в Севлет
<body>
<form name="missage" action="http://localhost:8080/kotel/xservlet">
<input type="button" name="b1" value="Отослать сообщение Сервлету">
<input type="text" name="t1" value="value1">
</form>
</body>

Попадаю в Сервлет только если в самом браузере набираю URL
http://localhost:8080/kotel/xservlet

   
 
 автор: K   (11.09.2007 в 10:01)   письмо автору
 
   для: Artem S.   (10.09.2007 в 09:27)
 

Ничего не помогает достучаться до сервлета. Может, для Tomcat в web.xml нужно что-то дополнительно описывать?
web.xml
---------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>xservlet</servlet-name>
<servlet-class>remote.rmiServlet</servlet-class>
<init-param>
<param-name>rmi-name</param-name>
<param-value>rmi://localhost:1099/z16</param-value>
</init-param>
<init-param>
<param-name>roads.cfg</param-name>
<param-value>roads.cfg</param-value>
</init-param>
<init-param>
<param-name>docbase</param-name>
<param-value>file://work/xmlkotel/</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xservlet</servlet-name>
<url-pattern>/xservlet/*</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xml</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cfg</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bin</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
</web-app>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования