org.clazzes.util.http
Class AbstractResourceSerlvlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.clazzes.util.http.AbstractResourceSerlvlet
- All Implemented Interfaces:
- Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
- Direct Known Subclasses:
- ResourceServlet
public class AbstractResourceSerlvlet
- extends javax.servlet.http.HttpServlet
An abstract base servlet, which provides the additional header functionality
for concrete implementations.
Implementation od his servlet may be configured through initialization parameters
inside a classical servlet container like in the following web.xml
example:
<servlet>
...
<init-param>
<param-name>additionalHeader.0</param-name>
<param-value>X-Frame-Options: DENY</param-value>
</init-param>
<init-param>
<param-name>additionalHeader.0.mimeTypeRegex</param-name>
<param-value>text/html</param-value>
</init-param>
<init-param>
<param-name>additionalHeader.1</param-name>
<param-value>X-Frame-Options: SAMEORIGIN</param-value>
</init-param>
<init-param>
<param-name>additionalHeader.1.pathRegex</param-name>
<param-value>.*\.cache\.html</param-value>
</init-param>
<init-param>
<param-name>additionalHeader.2</param-name>
<param-value>X-UA-Compatible: IE=edge</param-value>
</init-param>
<init-param>
<param-name>additionalHeader.2.mimeTypeRegex</param-name>
<param-value>text/html</param-value>
</init-param>
</servlet>
In OSGi frameworks it is recommended to set up implementation od this servlet using
blueprint or a similar technology using the supplied bean property setters like in the
following example:
<bean id="resourceServlet" class="...implementation of AbstractResourceServlet...">
...
<bp:property name="additionalHeaders">
<bp:list>
<bp:bean class="org.clazzes.util.http.AdditionalHeader">
<bp:property name="header" value="X-Frame-Options"/>
<bp:property name="value" value="DENY"/>
<bp:property name="mimeTypeRegex" value="text/html"/>
</bp:bean>
<bp:bean class="org.clazzes.util.http.AdditionalHeader">
<bp:property name="header" value="X-Frame-Options"/>
<bp:property name="value" value="SAMEORIGIN"/>
<bp:property name="pathRegex" value=".*\.cache\.html"/>
</bp:bean>
<bp:bean class="org.clazzes.util.http.AdditionalHeader">
<bp:property name="header" value="X-UA-Compatible"/>
<bp:property name="value" value="IE=edge"/>
<bp:property name="mimeTypeRegex" value="text/html"/>
</bp:bean>
</bp:list>
</bp:property>
</bean>
- See Also:
- Serialized Form
Methods inherited from class javax.servlet.http.HttpServlet |
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service |
Methods inherited from class javax.servlet.GenericServlet |
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractResourceSerlvlet
public AbstractResourceSerlvlet()
propagateAdditionalHeaders
protected void propagateAdditionalHeaders(javax.servlet.http.HttpServletResponse resp,
String resolvedPath,
String mimeType)
- Set matching additional headers on the given servlet response based on
the given resolved path and MIME tpye.
- Parameters:
resp
- The servlet response to set matching additional headers on.resolvedPath
- The resolved path starting with a slash or an empty string, if
there was no path component after the serlvet's own path.mimeType
- The MIME type of the delivered resource or null
,
if no MIME type match should be performed.
setAdditionalHeaders
public void setAdditionalHeaders(List<AdditionalHeader> additionalHeaders)
- Parameters:
additionalHeaders
- Additional headers to be sent based on path and/or MIME type
regex matching.
addAdditionalHeader
public void addAdditionalHeader(AdditionalHeader additionalHeader)
- Parameters:
additionalHeader
- An additional header to send.
getAdditionalHeaders
public List<AdditionalHeader> getAdditionalHeaders()
- Returns:
- Additional headers to be sent.
init
public void init()
throws javax.servlet.ServletException
- Overrides:
init
in class javax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
Copyright © 2013. All Rights Reserved.