tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeanfrancois Arcand <jfarc...@apache.org>
Subject Re: org.apache.catalina.HttpRequest.setRequestURI() and valves
Date Thu, 15 Jan 2004 18:26:24 GMT


Green, Jeffrey wrote:

>Regarding the last post on this topic:
>
>1) sendRedirect() doesn't seem to work because ValveBase's invoke() method
>takes an org.apache.catalina.Response object and that class has no
>sendRedirect() method.  Am I missing something here?
>  
>
Yes :-) Downcast the object to 
((HttpServletResponse)response).sendRedirect(...)

>2) if I put the valve at the engine level, will it be invoked before the
>Mapper, allowing me to call setRequestURI()?
>  
>
No.

>3) that looks as you say, to be no trivial task, so I'll avoid it.  
>  
>
I really think sendRedirect is a way you should explore

>Thanks again for the responses.
>  
>
-- Jeanfrancois

>
>
>
>  
>
>>Aaah.  I see.  Unfortunately sendRedirect() does not work at the valve 
>>level.
>>
>>    
>>
>That's not true ;-) SunOne AppServ is using that technique :-) Why are 
>you saying it doesn't work at the valve level?
>
>  
>
>>I could use that solution only if I implemented the redirect for each 
>>specific webapp, but this is a bit too much code duplication to be 
>>productive / condusive to change.
>>
>>    
>>
>Why? It depends where you put the valve? Remember you can also place 
>your valve at the engine level.
>
>  
>
>>It seems that this decision has crippled
>>some of Tomcat's functionality - whereas before, I could redirect 
>>requests across a whole host, now I can only do that per webapp.
>>Was anything else implemented to achieve such functionality instead? 
>>
>>    
>>
>Yes, by using the mapper directly. But that's a lot of works (you need 
>to understand how the mapper works, etc.).  The main object to look at 
>is MappingData where the result of the mapping is stored.
>
>-- Jeanfrancois
>
>
>
>
>  
>
>>Thanks
>>again.
>>
>>-----Original Message-----
>>From: Jeanfrancois Arcand [mailto:jfarcand@apache.org]
>>Sent: Thursday, January 15, 2004 11:21 AM
>>To: Tomcat Users List
>>Subject: Re: org.apache.catalina.HttpRequest.setRequestURI() and valves
>>
>>
>>
>>
>>Green, Jeffrey wrote:
>>
>> 
>>
>>    
>>
>>>Hello all.  Using valves in Tomcat 4, we successfully managed to
>>>intercept requests to specific contexts and direct them elsewhere.  For 
>>>example, we could intercept all requests to /SECRETWEBAPP and redirect
>>>      
>>>
>them
>  
>
>>>   
>>>
>>>      
>>>
>>to /.
>> 
>>
>>    
>>
>>>In order to accomplish this, we used valves which would call
>>>setRequestURI("/") on all requests that were prefixed with
>>>"/SECRETWEBAPP". Unfortunately, this technique no longer seems to work 
>>>with Tomcat 5.  Does anyone know if anything changed regarding such 
>>>usage of this method or if there is a better way to do this?
>>>
>>>
>>>   
>>>
>>>      
>>>
>>Yes, the HTTP Mapper has been completely re-written. The mapping occurs
>>*before* entering the pipeline (valve) instead of *after* in Tomcat 4. 
>>You may want to try a re-direct instead. Something like:
>>
>>if ( bla bla)
>>               hresponse.sendRedirect(
>>                       hresponse.encodeRedirectURL("/"));
>>
>>
>>-- Jeanfrancois
>>
>>
>> 
>>
>>    
>>
>>>Thanks.
>>>
>>>----------------------------------------------------------------------
>>>-
>>>-------
>>>This message is intended only for the personal and confidential use of the
>>>designated recipient(s) named above.  If you are not the intended
>>>      
>>>
>recipient
>  
>
>>>   
>>>
>>>      
>>>
>>of
>> 
>>
>>    
>>
>>>this message you are hereby notified that any review, dissemination, 
>>>distribution or copying of this message is strictly prohibited.  This 
>>>communication is for information purposes only and should not be 
>>>regarded
>>>   
>>>
>>>      
>>>
>>as
>> 
>>
>>    
>>
>>>an offer to sell or as a solicitation of an offer to buy any financial 
>>>product, an official confirmation of any transaction, or as an 
>>>official statement of Lehman Brothers.  Email transmission cannot be 
>>>guaranteed to
>>>   
>>>
>>>      
>>>
>>be
>> 
>>
>>    
>>
>>>secure or error-free.  Therefore, we do not represent that this 
>>>information
>>>   
>>>
>>>      
>>>
>>is
>> 
>>
>>    
>>
>>>complete or accurate and it should not be relied upon as such.  All 
>>>information is subject to change without notice.
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>>
>>>
>>>
>>>
>>>   
>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
>>
>>-----------------------------------------------------------------------
>>-------
>>This message is intended only for the personal and confidential use of the
>>designated recipient(s) named above.  If you are not the intended recipient
>>    
>>
>of
>  
>
>>this message you are hereby notified that any review, dissemination,
>>distribution or copying of this message is strictly prohibited.  This
>>communication is for information purposes only and should not be regarded
>>    
>>
>as
>  
>
>>an offer to sell or as a solicitation of an offer to buy any financial
>>product, an official confirmation of any transaction, or as an official
>>statement of Lehman Brothers.  Email transmission cannot be guaranteed to
>>    
>>
>be
>  
>
>>secure or error-free.  Therefore, we do not represent that this information
>>    
>>
>is
>  
>
>>complete or accurate and it should not be relied upon as such.  All
>>information is subject to change without notice.
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
>> 
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
>
>------------------------------------------------------------------------------
>This message is intended only for the personal and confidential use of the
>designated recipient(s) named above.  If you are not the intended recipient of
>this message you are hereby notified that any review, dissemination,
>distribution or copying of this message is strictly prohibited.  This
>communication is for information purposes only and should not be regarded as
>an offer to sell or as a solicitation of an offer to buy any financial
>product, an official confirmation of any transaction, or as an official
>statement of Lehman Brothers.  Email transmission cannot be guaranteed to be
>secure or error-free.  Therefore, we do not represent that this information is
>complete or accurate and it should not be relied upon as such.  All
>information is subject to change without notice.
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message