[ Pobierz całość w formacie PDF ]
.// Wykonanie tego przy pomocy kodowania wysłanego w ukrytym polu.// Traktowanie oryginalnych wartości jako surowych 8-bitowych bajtów wewnątrz//łańcuchaBufferedReader reader = new BufferedReader( new InputStreamReader(new StringBufferInputStream(tekst), kodowanie));tekst = reader.readLine();wyj.println("Otrzymane kodowanie: " + kodowanie);wyj.println("Otrzymany tekst: " + tekst);wyj.println("Otrzymany tekst (Unicode): " + doLancuchUcieczkiUnicode(tekst));}catch (Exception w) {w.printStackTrace();}}public void doPost(HttpServletRequest zad, HttpServletResponse odp)throws ServletException, IOException {doGet(zad, odp);}private static String doLancuchUcieczkiUnicode(String lan) {// utworzony według kodu w java.util.Properties.save()StringBuffer buf = new StringBuffer();int dlug = lan.length();char zn;for (int i = 0; i = ' ' && zn > 12) & 0xF));buf.append(doHeks((zn >> 8) & 0xF));buf.append(doHeks((zn >> 4) & 0xF));buf.append(doHeks((zn >> 0) & 0xF));}}}return buf.toString();} private static char doHeks(int polbajtu) {return hexCyfra[(polbajtu & 0xF)];}private static char[] hexCyfra = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};}Przykładowy wynik przedstawiony jest na rysunku 13.7.Rysunek 13.7.Obsługa rosyjskiego formularzaNajbardziej interesującą częścią powyższego serwletu jest fragment, który otrzymuje i konwertuje wysłany tekst:tekst = new String(tekst.getBytes("ISO-8859-1"), kodowanie);Wywołanie tekst.getBytes("ISO-8859-1") dokonuje konwersji tekstu do jego surowego formatubyte.Chociaż wartość parametru jest zwracana jako String, nie jest to prawdziwy łańcuch.Każdy znak wString naprawdę przechowuje jeden bajt zakodowanego tekstu, wymagając tej specjalnej konwersji.Otaczający konstruktor String tworzy następnie String z surowych bajtów przy pomocy kodowaniaokreślonego w polu kodowania.Nie wygląda to zbyt ładnie, ale działa.Bardziej eleganckim rozwiązaniem jestklasa com.oreilly.servlet.ParameterParser opisana w rozdziale 19,  Informacje dodatkowe [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • agnieszka90.opx.pl