diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2013-04-18 14:01:32 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2013-04-18 14:02:12 +0200 |
commit | e1840e53de48c5367272de47dddab9057cb7a079 (patch) | |
tree | 0b7b2406814d6131a687c83724b5cab6ccbce2e6 /sonar-application/src | |
parent | 753e12e54a1a1a8c116a852994ac886a532a6c59 (diff) | |
download | sonarqube-e1840e53de48c5367272de47dddab9057cb7a079.tar.gz sonarqube-e1840e53de48c5367272de47dddab9057cb7a079.zip |
SONAR-3962 Remove default Jetty JSP Servlet
Diffstat (limited to 'sonar-application/src')
-rw-r--r-- | sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java | 2 | ||||
-rw-r--r-- | sonar-application/src/main/resources/org/sonar/application/webdefault.xml | 347 |
2 files changed, 349 insertions, 0 deletions
diff --git a/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java b/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java index fa49094e85f..4f0f2126bb2 100644 --- a/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java +++ b/sonar-application/src/main/java/org/sonar/application/JettyEmbedder.java @@ -93,6 +93,8 @@ public class JettyEmbedder { } WebAppContext context = new WebAppContext(getPath("/war/sonar-server"), contextPath); + // Set up the path to the custom webdefault.xml (SONAR-3962). + context.setDefaultsDescriptor("/org/sonar/application/webdefault.xml"); handlers.add(context); String filenamePattern = configuration.getProperty("sonar.web.jettyRequestLogs"); diff --git a/sonar-application/src/main/resources/org/sonar/application/webdefault.xml b/sonar-application/src/main/resources/org/sonar/application/webdefault.xml new file mode 100644 index 00000000000..75599d24cb4 --- /dev/null +++ b/sonar-application/src/main/resources/org/sonar/application/webdefault.xml @@ -0,0 +1,347 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + + <!-- Modified version of webdefault.xml shipped inside jetty-webapp in order to remove JSP servlet --> + + <!-- ===================================================================== --> + <!-- This file contains the default descriptor for web applications. --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- The intent of this descriptor is to include jetty specific or common --> + <!-- configuration for all webapps. If a context has a webdefault.xml --> + <!-- descriptor, it is applied before the contexts own web.xml file --> + <!-- --> + <!-- A context may be assigned a default descriptor by: --> + <!-- + Calling WebApplicationContext.setDefaultsDescriptor --> + <!-- + Passed an arg to addWebApplications --> + <!-- --> + <!-- This file is used both as the resource within the jetty.jar (which is --> + <!-- used as the default if no explicit defaults descriptor is set) and it --> + <!-- is copied to the etc directory of the Jetty distro and explicitly --> + <!-- by the jetty.xml file. --> + <!-- --> + <!-- ===================================================================== --> +<web-app + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" + metadata-complete="true" + version="2.5" +> + + <description> + Default web.xml file. + This file is applied to a Web application before it's own WEB_INF/web.xml file + </description> + + <!-- ==================================================================== --> + <!-- Removes static references to beans from javax.el.BeanELResolver to --> + <!-- ensure webapp classloader can be released on undeploy --> + <!-- ==================================================================== --> + <listener> + <listener-class>org.eclipse.jetty.servlet.listener.ELContextCleaner</listener-class> + </listener> + + <!-- ==================================================================== --> + <!-- Removes static cache of Methods from java.beans.Introspector to --> + <!-- ensure webapp classloader can be released on undeploy --> + <!-- ==================================================================== --> + <listener> + <listener-class>org.eclipse.jetty.servlet.listener.IntrospectorCleaner</listener-class> + </listener> + + <!-- ==================================================================== --> + <!-- The default servlet. --> + <!-- This servlet, normally mapped to /, provides the handling for static --> + <!-- content, OPTIONS and TRACE methods for the context. --> + <!-- The following initParameters are supported: --> + <!-- + * acceptRanges If true, range requests and responses are + * supported + * + * dirAllowed If true, directory listings are returned if no + * welcome file is found. Else 403 Forbidden. + * + * welcomeServlets If true, attempt to dispatch to welcome files + * that are servlets, but only after no matching static + * resources could be found. If false, then a welcome + * file must exist on disk. If "exact", then exact + * servlet matches are supported without an existing file. + * Default is true. + * + * This must be false if you want directory listings, + * but have index.jsp in your welcome file list. + * + * redirectWelcome If true, welcome files are redirected rather than + * forwarded to. + * + * gzip If set to true, then static content will be served as + * gzip content encoded if a matching resource is + * found ending with ".gz" + * + * resourceBase Set to replace the context resource base + * + * resourceCache If set, this is a context attribute name, which the servlet + * will use to look for a shared ResourceCache instance. + * + * relativeResourceBase + * Set with a pathname relative to the base of the + * servlet context root. Useful for only serving static content out + * of only specific subdirectories. + * + * aliases If True, aliases of resources are allowed (eg. symbolic + * links and caps variations). May bypass security constraints. + * + * maxCacheSize The maximum total size of the cache or 0 for no cache. + * maxCachedFileSize The maximum size of a file to cache + * maxCachedFiles The maximum number of files to cache + * + * useFileMappedBuffer + * If set to true, it will use mapped file buffer to serve static content + * when using NIO connector. Setting this value to false means that + * a direct buffer will be used instead of a mapped file buffer. + * By default, this is set to true. + * + * cacheControl If set, all static content will have this value set as the cache-control + * header. + --> + + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet> + <servlet-name>default</servlet-name> + <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> + <init-param> + <param-name>aliases</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>acceptRanges</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>dirAllowed</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>welcomeServlets</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>redirectWelcome</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>maxCacheSize</param-name> + <param-value>256000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFileSize</param-name> + <param-value>200000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFiles</param-name> + <param-value>2048</param-value> + </init-param> + <init-param> + <param-name>gzip</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>useFileMappedBuffer</param-name> + <param-value>true</param-value> + </init-param> + <!-- + <init-param> + <param-name>resourceCache</param-name> + <param-value>resourceCache</param-value> + </init-param> + --> + <!-- + <init-param> + <param-name>cacheControl</param-name> + <param-value>max-age=3600,public</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>default</servlet-name> + <url-pattern>/</url-pattern> + </servlet-mapping> + + + <!-- ==================================================================== --> + <session-config> + <session-timeout>30</session-timeout> + </session-config> + + <!-- ==================================================================== --> + <locale-encoding-mapping-list> + <locale-encoding-mapping> + <locale>ar</locale> + <encoding>ISO-8859-6</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>be</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>bg</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ca</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>cs</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>da</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>de</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>el</locale> + <encoding>ISO-8859-7</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>en</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>es</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>et</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>fi</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>fr</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>hr</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>hu</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>is</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>it</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>iw</locale> + <encoding>ISO-8859-8</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ja</locale> + <encoding>Shift_JIS</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ko</locale> + <encoding>EUC-KR</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>lt</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>lv</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>mk</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>nl</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>no</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>pl</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>pt</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ro</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ru</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sh</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sk</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sl</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sq</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sr</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sv</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>tr</locale> + <encoding>ISO-8859-9</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>uk</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>zh</locale> + <encoding>GB2312</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>zh_TW</locale> + <encoding>Big5</encoding> + </locale-encoding-mapping> + </locale-encoding-mapping-list> + + <security-constraint> + <web-resource-collection> + <web-resource-name>Disable TRACE</web-resource-name> + <url-pattern>/</url-pattern> + <http-method>TRACE</http-method> + </web-resource-collection> + <auth-constraint/> + </security-constraint> + +</web-app> |