Ajax достигли китайцев решить на первом плане появляется кулисами китайских искажен

Решение заключается в стойке регистрации в два раза кодирования , фон , как только декодирование может быть.

Файл JSP Прием

1 вар текст = "张三" ;
3 вар имя пользователя = encodeURI (encodeURI (текст));

Фоновый код сервлета

. 1 Строка имя пользователя = URLDecoder.decode ( "соответствующее поле", "UTF-8") ;

Простые случаи проверки Войти.

Описание случая: Для того, чтобы проверить запрос Ajax фоновой проблема консоли китайского мусора решена.

Простой экран Логина, введите имя пользователя, если имя пользователя будет предложено ввести имя пользователя не «Имя пользователя не может быть пустым», если имя пользователя вводится как «John Doe», а затем запрашивает имя пользователя уже занятое другими не советов.

Главная страница index.jsp

1  <% - 
2    Создано IntelliJ IDEA.
3    Пользователь: hejjon
 4    Дата : 2 019 / 6 / 3 
5    Время : 10 : 19 
6 Для того,    чтобы изменить это использовать шаблон File | Настройки | Шаблоны файлов.
7  - %> 
8  <% @ страница CONTENTTYPE = " текст / html; кодировка = UTF-8 " язык = " ява "  %> 
9  <% 
10      Строка путь =request.getContextPath ();
11      Строка BasePath = request.getScheme () +  " : // "  + request.getServerName () +  " : "  + request.getServerPort ()
 12              + путь +  " / " ;
13  %> 
14  < HTML > 
15  < голова > 
16      < базовая HREF = "<% = BasePath%>" > 
17      < название >用户登录界面<> 
18      < сценарий типа = "текст / JavaScript" > 
19          вар XHR;
20          Функция изменения () {
 21  
22              вар Val = document.getElementById ( " uname " ) .value;
23              вар uname = encodeURI (encodeURI (Val));
24  
25 ,              если (uname ===  "" ) {
 26                  document.getElementById ( " namespan " ) .innerHTML =  " 用户名不能为空" ;
27              } еще {
 28                  // создавать объекты XHR 
29                  XHR =  новый новый XMLHttpRequest ();
 30                  // установить соединение с сервером 
31                  xhr.open ( " GET " , " сервлет / Вход в uname =? "  + Uname, истина );
 32                  / / функция обратного вызова 
33                  xhr.onreadystatechange = Процесс;
 34                  // посылать данные 
35                  xhr.send ( нуль );
 36              }
37              
38          }
 39           
40          функции процесса () {
 41 ,             если (xhr.readyState ==  4  && xhr.status ==  200 ) {
 42                 // 接收后台响应
43                 вар текст = xhr.responseText;
44                 document.getElementById ( " namespan " ) .innerHTML = текст;
45             }
 46          }
 47      </ сценарий > 
48  </ голова > 
49  <тела > 
50  < р > 
51      用户: < входной тип = "текст" название = "uname" ID = "uname" ONBLUR = "изменение ()" /> < пролет ID = "namespan" > </ промежуток > 
52  </ р > 
53  < р > 
54      密码: < входной тип = "пароль" имя = "PWD" ID = "PWD" /> 
55  </ Р > 
56  </ тело> 
57  </ HTML >

 

Фон LoginServlet.java

1  импорт javax.servlet.ServletException;
2  импорт javax.servlet.annotation.WebServlet;
3  импорта javax.servlet.http.HttpServlet;
4  импорт javax.servlet.http.HttpServletRequest;
5  импортных javax.servlet.http.HttpServletResponse;
6  импорта java.io.IOException;
7  импорт java.io.PrintWriter;
8  импорта java.net.URLDecoder;
9  
10  
11  @WebServlet ( "/ сервлет / Логин")
 12  класс LoginServlet общественных простирается HttpServlet {
 13      @Override
 14     пустот служба защищена (The HttpServletRequest REQ, то HttpServletResponse RESP) бросает ServletException, IOException {
 15          // установить формат текста фон ответа
 16          resp.setContentType ( "текст / HTML; кодировка = UTF - 8" . );
 . 17          // приема запроса на прием
 18          Строка uname URLDecoder.decode = (req.getParameter ( далее "uname"));
 . 19  
20          // System.out.println (The uname);
 21  
22          PrintWriter resp.getWriter OUT = ();
 23          IF (.equals "John Doe" (uname )) {
 24              out.print ( "имя пользователя уже занято");
 25          } {еще
 26              out.print ( "имя пользователя доступно");
27          }
 28     }
 29  }
 30     

 

рекомендация

отwww.cnblogs.com/hejjon/p/10966438.html
рекомендация