25 Nisan 2011 Pazartesi

HTTPServletRequest İle Adres Satırındaki URL’i Almak

Merhabalar,

Basit, belki çoğunuzun bildiği ve daha önce yaptığı bir işlemi anlatacağım şimdi. HTTPServletRequest ile tarayıcının adres satırındaki URL’i almanın aslında temel yöntemi request.getQueryString() ve request.getRequestURI() metodlarından dönen String değerlerinin birleştirilmesidir. Bazı durumlarda bu yöntemler çalışmayabiliyor. Örneğin portlet içerisindeki HTTPServletRequest’de bu yöntem işe yaramıyor. Çalışmadığı başka durumlar da olabilir. Her koşulda bu veriyi alabilmenin yolu ise aşağıdaki request.getAttribute() metoduna gerekli parametreleri vererek metodu çağırmadır. Bu yöntem ile URL’in tamamı sorunsuzca alınabilir.

Aşağıda bir örneğini görebilirsiniz:
String activePage = "";
String queryString = "?"+request.getAttribute("javax.servlet.forward.query_string");
String requestURI = ""+request.getAttribute("javax.servlet.forward.request_uri");
if(requestURI == "null") {
    queryString = "?"+request.getAttribute("javax.servlet.include.query_string");
    requestURI = ""+request.getAttribute("javax.servlet.include.request_uri");
}
if(requestURI == "null") {
    queryString = "?"+request.getQueryString();
    requestURI = request.getRequestURI();
}
if(queryString.equals("?null")) {
    queryString = "";
}
activePage = requestURI+queryString;
( httpservletrequest, url, uri, request.getattribute, adres satırı, address bar, tarayıcı, browser ) 
Kaynak: http://stackoverflow.com/questions/1256562/java-httpservletrequest-get-url-in-browsers-url-bar

Hiç yorum yok:

Yorum Gönder