powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / servlet + jsp + ajax
14 сообщений из 14, страница 1 из 1
servlet + jsp + ajax
    #38857224
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, уважаемые форумчане!
помогите разобраться с servlet + jsp + ajax
надо реализовать проверку занятости серию и номера поспорта во время заполнения формы, т.е. если такой паспорт уже существует в БД то сообщение "Пользователь с такими паспортными данными уже существует", иначе сообщение "Дабро!"
для этого реализавол JAVA класс PassportCheck.java для поиска в БД:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
........
Users psernum = new Users();
psernum = sel.getUsersFindByPassportSN(passportSN);
if(psernum != null){
respornse.setContentType("application/text");
respornse.getWriter.print(psernum);
}
........



в JSP странице:
Код: html
1.
2.
3.
4.
.......
серия-номер паспорта: <input type = "text" name="passportSN" onblur="checkpSN(this.value);"/>
<span id="check_pSN"></span>
.......



ну уже сам javascript (checkpassportSN.js):
P.S. раньше не сталкивался с ним по этому взял из примеров в интернете...
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
/* Функция, создающая экземпляр XMLHTTP */
function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function checkpSN(passportSN) {
    var xmlhttp = getXmlHttp();// Создаём объект XMLHTTP
    xmlhttp.open('POST', 'passportcheck', true);// Открываем асинхронное соединение
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');// Отправляем тип содержимого
    xmlhttp.send("passportSN=" + encodeURIComponent(passportSN));// Отправляем POST-запрос
    xmlhttp.onreadystatechange = function () {
        // Ждём ответа от сервера
        if (xmlhttp.readyState == 4) {
            // Ответ пришёл
            if (xmlhttp.status == 200) {
                // Сервер вернул код 200 (что хорошо)
                if (xmlhttp.responseText)
                    document.getElementById("check_pSN").innerHTML = "zanyat!";
                else 
                    document.getElementById("check_pSN").innerHTML = "svoboden!";
            }
        }
    };
}



как бы все хорошо, все передается обработка проходит нормально в сервере но вот не понимаю как получить ответ от сервера...
З.Ы. т.е. после ввода данных и изменения курсора всегда ответ zanyat!
подскажите пожалуйста как правильно реализовать все это.
заранее благодарен!
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38857348
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
посмотреть отправку и ответ в отладчике JS
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38857579
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Спасибо за Ваш ответ.
посмотрел отладчиком и обнаружил что JS всегда получает в качестве responseText объект, т.е. всегда if(xmlhttp.responseText) true и из-за этого я получаю всегда один и тот же ответ что занять!
это не совсем правильно...
З.Ы. как передать информацию из сервлета на Ajax?
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38857606
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
пиши на клиента в поток 0 или 1
Если 1 в JS поймал, то паспорт в БД есть.
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38857612
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
http//приложение/IsYesPassport?number=12345
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38857656
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

извините но не совсем понятно...
я должен проверить есть ли такая строка с такими данными т.е.
psernum = sel.getUsersFindByPassportSN(passportSN);
if(psernum != null){
здесь как бы присваиваю 1
и передаю значение
}else {
а тут присваиваю 0
и передаю значение
}

а на ажаксе проверяю значение == 1 если да то уже существует....

я правильно понял?
если да как передать этот значение и как получить в ажаксе?
если можно чуть поподробнее пожалуйста.
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38857693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффаря правильно понял?
да
if .....
respornse.getWriter.print('1');
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38858025
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
извините меня, но как точнее с чем сравнить этот отправленный "1" или "0" вот так что ли? if (xmlhttp.responseText == 1)
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38858056
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Ну а что мешает попробовать прямо в коде чем в форуме писать? Именно так.
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38858057
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

все огромное спасибо Вам!
все получилось... проблема была в том что я все время писалrespornse.getWriter.print( "1" );а надо было просто respornse.getWriter.print('1');
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38859147
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Если Вы используете AJAX, то почему не пользуетесь JQuery?

С использованием JQuery, инициализация проверки на стороне клиента превращается в несколько строк кода:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$('input[id="passportSN"]').focusout(function () {
    $.ajax({
		type:  "POST",
		url:   "passportcheck",
		async: "false",
		cache: "false",
		data:  "passportSN=" + this.value
	    }).done(function (data) {
		if (data !== "0") {
		    $.alert("Пользователь с такими паспортными данными уже существует",
 			      "Внимание !",
			      function () {
				$('input[id="passportSN"]').focus();
				}
                    );
		}
	     });
   });


На стороне сервера точно также:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
	    throws ServletException, IOException {
	response.setContentType("text/html;charset=UTF-8");
        ...
	Users psernum = sel.getUsersFindByPassportSN(passportSN);
            try (PrintWriter out = response.getWriter()) {
		out.write((psernum!=null ? "1" : "0"));
	    }
	...

    }
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38859151
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,

Спасибо Вам! как бы уже сделал не совсем так как Вы показали но уже работает...
теперь думаю над постраничным выводом данных... ну это уже другая тема наверное :))
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38859154
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарAlex Kuznetsov,

Спасибо Вам! как бы уже сделал не совсем так как Вы показали но уже работает...
теперь думаю над постраничным выводом данных... ну это уже другая тема наверное :))
Пожалуйста.
Постраничный вывод данных - это отдельная тема и здесь лучше её не начинать, дабы не вводить людей в заблуждение.
...
Рейтинг: 0 / 0
servlet + jsp + ajax
    #38859158
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsov,

да по этому я сам сказал что это уже другая тема...
для начала я сам поишу может найду, что не понятно вот тогда и буду спрашивать у знающих...
З.Ы. а эту тему можем закрыть.
Всем огромное спасибо!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / servlet + jsp + ajax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]