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.
Returns:
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.
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 |
smime.p7s
Description: S/MIME cryptographic signature
