Java Doc for RedirectHandler.java in  » Web-Server » pygmy-httpd » pygmy » handlers » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Web Server » pygmy httpd » pygmy.handlers 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   pygmy.core.AbstractHandler
      pygmy.handlers.RedirectHandler

RedirectHandler
public class RedirectHandler extends AbstractHandler (Code)

This redirects or rewrites URLs based on a regular expression. It tests the requested URLs against a regular expression. If it finds a match it then uses the substiution expression to rewrite a new URL. For a description of the regular expression language see
See Also:    http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html . This handler operates in two modes either using external redirects (i.e. 302 HTTP code), or internal redirects. The new URL expression can reference groups in the regular expression using ${<group number>}. Substitution expressions can also reference configuration properties by using the notation. For example, ${http.port} would return the port of the pygmy server.

Here is an example of a URL rule and substition expression for creating a URL to user's home directories. Remember to escape "e;\"e; character in your properties files otherwise your expression will not work. To help you debug these problems this Handler will log a message at the debug level so you can see what the regular expression has been set to.

aRedirect.class=pygmy.handlers.RedirectHandler aRedirect.rule=/~(\\w+) aRedirect.subst=/home/${1}/public_html

The new URL built from the subst expression by default will be sent back to the client in a 302 HTTP status code. But, there are cases when you don't want to expose the rewritten URL to the outside world. This handler can internally redirect so that the new URL won't be sent back to the client. In our example above we might want to keep the URL to the user's directory private. Using internal redirects the browser won't see the new URL containing: /home/chuck/public_html. It could be a serious security hole if someone is allowed to request /home/chuck!

RedirectHandler only responds to non-internal requests. This handler will not redirect or rewrite interal requests. This is so redirects don't get into an infinite loop when processing. Something to look out for when using external redirects. Most clients fail if they are redirected too many times.

Parameter NameExplanationDefault ValueRequired
ruleThe regular expression rule to use for matching on the requested URL.NoneYes
substThe string to use for rewriting a new URL that will be used in another request.NoneYes
useInternalIndicates the new URL will be internally redirected. If it is true, then the new URL will be used internally redirected. If false, then the new URL will be sent back to the client with the HTTP code specified by redirectCode.falseNo
redirectCodeThis defines the HTTP code that will be sent back when we substitue or rewrite a URL.302No, but ignored if useInternal is true.



Field Summary
final public static  ConfigOptionINTERNAL_OPTION
    
final public static  ConfigOptionREDIRECT_CODE_OPTION
    
final public static  ConfigOptionRULE_OPTION
    
final public static  ConfigOptionSUBST_OPTION
    
 booleanisInternalRedirect
    
 intredirectHttpCode
    
 Patternrule
    
 Stringsubstitution
    


Method Summary
protected  booleanhandleBody(HttpRequest request, HttpResponse response)
    
public  booleaninitialize(String handlerName, Server server)
    
protected  booleanisRequestdForHandler(HttpRequest request)
    

Field Detail
INTERNAL_OPTION
final public static ConfigOption INTERNAL_OPTION(Code)



REDIRECT_CODE_OPTION
final public static ConfigOption REDIRECT_CODE_OPTION(Code)



RULE_OPTION
final public static ConfigOption RULE_OPTION(Code)



SUBST_OPTION
final public static ConfigOption SUBST_OPTION(Code)



isInternalRedirect
boolean isInternalRedirect(Code)



redirectHttpCode
int redirectHttpCode(Code)



rule
Pattern rule(Code)



substitution
String substitution(Code)





Method Detail
handleBody
protected boolean handleBody(HttpRequest request, HttpResponse response) throws IOException(Code)



initialize
public boolean initialize(String handlerName, Server server)(Code)



isRequestdForHandler
protected boolean isRequestdForHandler(HttpRequest request)(Code)



Fields inherited from pygmy.core.AbstractHandler
final public static ConfigOption URL_PREFIX_OPTION(Code)(Java Doc)
protected String handlerName(Code)(Java Doc)
protected Server server(Code)(Java Doc)
protected String urlPrefix(Code)(Java Doc)

Methods inherited from pygmy.core.AbstractHandler
protected String getMimeType(String filename)(Code)(Java Doc)
public String getName()(Code)(Java Doc)
public String getUrlPrefix()(Code)(Java Doc)
public boolean handle(Request aRequest, Response aResponse) throws IOException(Code)(Java Doc)
protected boolean handleBody(HttpRequest request, HttpResponse response) throws IOException(Code)(Java Doc)
public boolean initialize(String handlerName, Server server)(Code)(Java Doc)
protected boolean isRequestdForHandler(HttpRequest request)(Code)(Java Doc)
public boolean shutdown(Server server)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.