Dobrý den,

vy, ale ve filtru můžete vytvořit nový request, v něm upravit co potřebujete a zbytek metod předat původnímu requestu. Tj. vytvoříte proxy.

S pozdravem

Petr Ferschmann

Havelka, Raimund píše v Út 18. 04. 2006 v 10:04 +0200:
Ahoj,
jak zmenit URL jsem nasel viz. attach.
 
Me trapi, jak pridat do requestu http header:
Kdyz pouziji Filter/Servlet, tak HTTP request menit nemuzu (krome URL a parameters);

Muzete, prosim, poradit?

Raimund

Apache umi modifikovat header. Ma v konfiguraci direktivu: RequestHeader set/add/...

V Tomcatu jsem to nenasel ...

 


 
 



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Martin Majer
Sent: Sunday, April 16, 2006 6:53 PM
To: Java
Subject: Změna URL



Ahoj,
mám URL třeba http://www.adresa.cz/view/test a potřeboval bych ho nějak změnit na http://www.adresa.cz/view?show=test. Jak se to dá udělat? Pomocí servlet filtrů?
E-mailová zpráva příloha
-------- Přeposlaná zpráva --------
Od: Havelka, Raimund <[EMAIL PROTECTED]>
Komu: Java <[email protected]>, Martin Majer <[EMAIL PROTECTED]>
Předmět: RE: Změna URL
Datum: Tue, 18 Apr 2006 08:21:06 +0200

Ahoj, ve filtru se muze zmenit URL:
 
filter class:
 
public class TriggerFilter implements Filter {

    /** 
     * @param request the current request
     * @param response the current response
     * @param chain request handler chain
     * @exception java.io.IOException
     * @exception javax.servlet.ServletException */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
 
         HttpServletRequest httpReq = (HttpServletRequest) request;
 
        StringBuffer regUrl = httpReq.getRequestURL();
       
        reqUrl = ...

        chain.doFilter(request, response);
    }
 
 
web.xml:
    <filter>
        <filter-name>TriggerFilter</filter-name>
        <filter-class>provgw.triggerhandler.TriggerFilter</filter-class>
    </filter>
 
    <filter-mapping>
        <filter-name>TriggerFilter</filter-name>
        <servlet-name>AxisServlet</servlet-name>
    </filter-mapping>
 
    <filter-mapping>
        <filter-name>TriggerFilter</filter-name>
        <url-pattern>/services/TriggerHandlerService</url-pattern>
    </filter-mapping>
 
 
doc:
javax.servlet.http
Interface HttpServletRequest

getRequestURL

public java.lang.StringBuffer getRequestURL()
Reconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.

Because this method returns a StringBuffer, not a string, you can modify the URL easily, for example, to append query parameters.

This method is useful for creating redirect messages and for reporting errors.

Returns:
a StringBuffer object containing the reconstructed URL




From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Martin Majer
Sent: Sunday, April 16, 2006 6:53 PM
To: Java
Subject: Změna URL



Ahoj,
mám URL třeba http://www.adresa.cz/view/test a potřeboval bych ho nějak změnit na http://www.adresa.cz/view?show=test. Jak se to dá udělat? Pomocí servlet filtrů?
-- 
Petr Ferschmann

SoftEU s.r.o.
-----------------------------------
Sady Petatricatniku 31
301 00 Plzen
Czech Republic
-----------------------------------
Phone: +420 373 729 300
Fax:   +420 373 729 301
Cell:  +420 775 638 008

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Odpovedet emailem