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>
Constructor and Description |
---|
AbstractResourceSerlvlet() |
Modifier and Type | Method and Description |
---|---|
void |
addAdditionalHeader(AdditionalHeader additionalHeader) |
List<AdditionalHeader> |
getAdditionalHeaders() |
void |
init() |
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.
|
void |
setAdditionalHeaders(List<AdditionalHeader> additionalHeaders) |
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
protected void propagateAdditionalHeaders(javax.servlet.http.HttpServletResponse resp, String resolvedPath, String mimeType)
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.public void setAdditionalHeaders(List<AdditionalHeader> additionalHeaders)
additionalHeaders
- Additional headers to be sent based on path and/or MIME type
regex matching.public void addAdditionalHeader(AdditionalHeader additionalHeader)
additionalHeader
- An additional header to send.public List<AdditionalHeader> getAdditionalHeaders()
public void init() throws javax.servlet.ServletException
init
in class javax.servlet.GenericServlet
javax.servlet.ServletException
Copyright © 2018 Clazzes.org. All rights reserved.