Skip to content

Commit

Permalink
add StaticFileWrapperServlet to abstract default servlet usage. #889
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenolen committed Mar 16, 2016
1 parent 77f2eb4 commit ca90925
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 17 deletions.
52 changes: 52 additions & 0 deletions src/org/ohmage/jee/servlet/StaticFileWrapperServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*******************************************************************************
* Copyright 2016 The Regents of the University of California
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/

package org.ohmage.jee.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
* Handler for abstracting defaultservlets between different servlet containers.
* This is used to serve the few static files we have in our root directory.
*
* @author Steve Nolen
*/
public class StaticFileWrapperServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
ServletContext sc = getServletConfig().getServletContext();
RequestDispatcher rd = null;
// Tomcat, Jetty, Wildfly use default
rd = sc.getNamedDispatcher("default");
// weblogic uses FileServlet
if (rd == null) {
rd = sc.getNamedDispatcher("FileServlet");
}
rd.forward(req, resp);
}
}
23 changes: 6 additions & 17 deletions web/WEB-INF/web-no_ssl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,38 +82,27 @@

<!-- The default Tomcat Servlet used to locate and serve static content -->
<!-- SN: commenting this as it is uncessary in tomcat7, and makes ohmage tomcat-dependent -->
<!--
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<servlet-name>StaticFileWrapper</servlet-name>
<servlet-class>org.ohmage.jee.servlet.StaticFileWrapperServlet</servlet-class>
</servlet>
-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<servlet-name>StaticFileWrapper</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>default</servlet-name>
<servlet-name>StaticFileWrapper</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>default</servlet-name>
<servlet-name>StaticFileWrapper</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>default</servlet-name>
<servlet-name>StaticFileWrapper</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>

Expand Down

0 comments on commit ca90925

Please sign in to comment.