Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JSP request.getParameter() gubi parametre sa nasim slovima

[es] :: Java :: JSP request.getParameter() gubi parametre sa nasim slovima

[ Pregleda: 3470 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nemojdamesmaras
Goran Milinovic
Beograd

Član broj: 75690
Poruke: 4
*.adsl.beotel.net.



Profil

icon JSP request.getParameter() gubi parametre sa nasim slovima14.08.2008. u 14:30 - pre 190 meseci
Trenutno radim neki web servis u JSP-u. Sa klijenta na server saljem podatke koji sadrze nasa slova, naravno u unicode kodiranju (% u 0161 -> š) uz pomoc GET ili POST metoda. Situacija je sledeca:

GET metod: kada zahtev dodje na server u query stringu se nalazi kompletan zahtev, sa nasim slovima zajedno (odstampam string preko getQueryString()). Ali kada izlistam nazive svih parametara (metod getParameterNames()), svaki parametar koji sadrzi nasa slova je IZBACEN - nema ga uopste.

POST metod: ponasa se potpuno isto kao i GET s tim sto ovde nema query stringa pa ne znam da li do moje jsp stranice uopste dolaze nasi karakteri. Kada odstampam ceo zahtev (System.out.print(request)) opet nema parametara sa nasim slovima!!!

Hvatao sam sa HTTP monitorom pakete direktno sa ethernet interfejsa i tamo se uredno vide nasa slova (u unicode-u naravno)!

Jel se neko susreo sa slicnim problemom??

P.S. Koristim Sun Java System Applicatio Server 9.1u1 i Netbeans kao razvojno okruzenje



Goran
 
Odgovor na temu

augustus
Novi Sad - Beograd

Član broj: 101581
Poruke: 358
*.com
Via: [es] mailing liste



+46 Profil

icon Re: JSP request.getParameter() gubi parametre sa nasim slovima14.08.2008. u 14:43 - pre 190 meseci
jesam j aali pod tomcatom...mislim da sam ubacio neki utf filter i da je
onda proradilo...googlaj malo trazeci utf filetr pa ces videti
"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-1.sezampro.yu.



+13 Profil

icon Re: JSP request.getParameter() gubi parametre sa nasim slovima14.08.2008. u 15:17 - pre 190 meseci
Code:

public class CharsetFilter implements Filter {
    private String encoding;

    public void init(FilterConfig config) throws ServletException {
        encoding = config.getInitParameter("requestEncoding");
        if (encoding == null) encoding = "UTF-8";
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
            throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        //request.setCharacterEncoding(encoding);
        request.setCharacterEncoding("UTF-8");
        next.doFilter(request, response);
    }

    public void destroy() {
    }
}
 
Odgovor na temu

augustus
Novi Sad - Beograd

Član broj: 101581
Poruke: 358
*.com
Via: [es] mailing liste



+46 Profil

icon Re: JSP request.getParameter() gubi parametre sa nasim slovima14.08.2008. u 15:21 - pre 190 meseci
e bas taj ;-)
"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
 
Odgovor na temu

retry
Beograd

Član broj: 39405
Poruke: 95
*.adsl.verat.net.



Profil

icon Re: JSP request.getParameter() gubi parametre sa nasim slovima14.08.2008. u 17:25 - pre 190 meseci
hm, cini mi se da je kod tomcata jedan URIEncoding="UTF-8" u Connector delu server.xml-a zavrsavao posao.
za SJSAS nisam siguran, ali probaj nesto slicno,mozda pomogne;
u $SJSAS_HOME/domains/domain1/config/domain.xml
Code:

<http-listener port="8080" ...>
    <property name="uriEncoding" value="UTF-8"/>
</http-listener>


@Vanja
local variable req is never read
 
Odgovor na temu

nemojdamesmaras
Goran Milinovic
Beograd

Član broj: 75690
Poruke: 4
*.adsl.beotel.net.



Profil

icon Re: JSP request.getParameter() gubi parametre sa nasim slovima14.08.2008. u 18:21 - pre 190 meseci
Probao sam sa filterom i nisam nista postigao. Koliko ja vidim u kOdu filtera, on samo postavlja
encoding zahteva na UTF-8 i prosledi dalje. I bez toga, kada na stranici pozovem getCharacterEncoding
kao rezultat dobijem UTF-8, sto znaci da je encoding dobar.

Ako mi ova logika za filter pije vodu, onda nije do toga, jer se meni bukvalno izgubi parametar koji ima
unicode za svoju vrednost. Evo ga primer ispod:
************************************
uri: /Info/faces/DataProcessor.jsp
method: POST
QueryString: null
Parameters:
Name: gr_id Value: 10
Name: PTT Value: 55555
Name: SIFZEM Value: SRB
Name: STATUS Value: A
Name: JUZER Value: ?
Name: VREME Value: ?
Name: !nativeeditor_status Value: inserted
Headers:
Name: user-agent Value: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_2; en-us) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13
Name: content-type Value: application/x-www-form-urlencoded
Name: referer Value: http://localhost:8080/Info/fac...d=233c4faadda450319c8284ee6146
Name: accept Value: */*
Name: accept-language Value: en-us
Name: accept-encoding Value: gzip, deflate
Name: content-length Value: 101
Name: connection Value: keep-alive
Name: host Value: localhost:8080
************************************

U parametrima fali MESTO kojoj je vrednost slovo š (% u 0161). Ovo je zahtev koji je stigao na filter!!! Parametar MESTO ovde i ne postoji, tako da nema sta da prosledi...

Jedino resenje koje meni pada na pamet je da sa same konekcije (URLConnection) hvatam stream i da parsiram zahtev rucno. Ajde, molim vas, spasite me ovoga : )))))

Hvala unapred!



Goran
 
Odgovor na temu

dragon.mi

Član broj: 146873
Poruke: 25
*.static.isp.telekom.rs.



Profil

icon Re: JSP request.getParameter() gubi parametre sa nasim slovima16.07.2009. u 07:33 - pre 179 meseci
Poceo sam da koristim Struts2 framework i tek kada sam malo modifikovao CharsetFilter tako da se postavlja i u response - u character encoding windows-1250 na stranama su se lepo prikazala naša slova latinice:

public class CharsetFilter implements Filter {

public void init(FilterConfig config) throws ServletException {
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
req.setCharacterEncoding("windows-1250");
resp.setCharacterEncoding("windows-1250");
next.doFilter(request, response);
}

public void destroy() {
}

}

Kada je rec o prenosu parametara preko GET metode posto koristim Tomcat 6 upravo sam postavio samo atribut URIEncoding u <Connector> node na ISO-8859-2 ( http://wiki.webratio.com/index...aracters_passing_on_the_URL%3F ):
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="ISO-8859-2" />

Struts2 je ignorisao podesavanja pomocu <constant name="struts.i18n.encoding" value="windows-1250" /> ili postavljanja character encoding-a na strani preko META taga ili page direktive.
Ne znam da li postoji drugi način za postavljanje character encodinga na windows-1250 u Struts 2?
 
Odgovor na temu

[es] :: Java :: JSP request.getParameter() gubi parametre sa nasim slovima

[ Pregleda: 3470 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.