## org.springframework.mock.web
Class MockServletContext

    java.lang.Object
      org.springframework.mock.web.MockServletContext

All Implemented Interfaces:
  ServletContext

    public class MockServletContext

extends Object
implements ServletContext

Mock implementation of the `ServletContext` interface.

Used for testing the Spring web framework; only rarely necessary for testing application controllers. As long as application components don't explicitly access the ServletContext, ClassPathXmlApplicationContext or FileSystemXmlApplicationContext can be used to load the context files for testing, even for DispatcherServlet context definitions.

For setting up a full WebApplicationContext in a test environment, you can use XmlWebApplicationContext (or GenericWebApplicationContext), passing in an appropriate MockServletContext instance. You might want to configure your MockServletContext with a FileSystemResourceLoader in that case, to make your resource paths interpreted as relative file system locations.

A common setup is to point your JVM working directory to the root of your web application directory, in combination with filesystem-based resource loading. This allows to load the context files as used in the web application, with relative paths getting interpreted correctly. Such a setup will work with both FileSystemXmlApplicationContext (which will load straight from the file system) and XmlWebApplicationContext with an underlying MockServletContext (as long as the MockServletContext has been configured with a FileSystemResourceLoader).

Since:
  1.0.2
Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `MockServletContext(org.springframework.core.io.ResourceLoader)`, `XmlWebApplicationContext`, `GenericWebApplicationContext`, `ClassPathXmlApplicationContext`, `FileSystemXmlApplicationContext`

Constructor Summary
`MockServletContext()` Create a new MockServletContext, using no base path and a DefaultResourceLoader (i.e.
`MockServletContext(ResourceLoader resourceLoader)` Create a new MockServletContext, using the specified ResourceLoader and no base path.
`MockServletContext(String resourceBasePath)` Create a new MockServletContext, using a DefaultResourceLoader.
`MockServletContext(String resourceBasePath, ResourceLoader resourceLoader)` Create a new MockServletContext.

Method Summary
`void` `addInitParameter(String name, String value)`
`Object` `getAttribute(String name)`
`Enumeration<String>` `getAttributeNames()`
`ServletContext` `getContext(String contextPath)`
`String` `getContextPath()`
`String` `getInitParameter(String name)`
`Enumeration<String>` `getInitParameterNames()`
`int` `getMajorVersion()`
`String` `getMimeType(String filePath)`
`int` `getMinorVersion()`
`RequestDispatcher` `getNamedDispatcher(String path)`
`String` `getRealPath(String path)`
`RequestDispatcher` `getRequestDispatcher(String path)`
`URL` `getResource(String path)`
`InputStream` `getResourceAsStream(String path)`
`protected String` `getResourceLocation(String path)` Build a full resource location for the given path, prepending the resource base path of this MockServletContext.
`Set<String>` `getResourcePaths(String path)`
`String` `getServerInfo()`
`Servlet` `getServlet(String name)`
`String` `getServletContextName()`
`Enumeration<String>` `getServletNames()`
`Enumeration<Servlet>` `getServlets()`
`void` `log(Exception ex, String message)`
`void` `log(String message)`
`void` `log(String message, Throwable ex)`
`void` `registerContext(String contextPath, ServletContext context)`
`void` `removeAttribute(String name)`
`void` `setAttribute(String name, Object value)`
`void` `setContextPath(String contextPath)`
`void` `setMinorVersion(int minorVersion)`
`void` `setServletContextName(String servletContextName)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MockServletContext

    public MockServletContext()

  Create a new MockServletContext, using no base path and a DefaultResourceLoader (i.e. the classpath root as WAR root).

  See Also:
    `DefaultResourceLoader`

### MockServletContext

    public MockServletContext(String resourceBasePath)

  Create a new MockServletContext, using a DefaultResourceLoader.

  Parameters:
    `resourceBasePath` - the WAR root directory (should not end with a slash)
  See Also:
    `DefaultResourceLoader`

### MockServletContext

    public MockServletContext(ResourceLoader resourceLoader)

  Create a new MockServletContext, using the specified ResourceLoader and no base path.

  Parameters:
    `resourceLoader` - the ResourceLoader to use (or null for the default)

### MockServletContext

    public MockServletContext(String resourceBasePath,
                              ResourceLoader resourceLoader)

  Create a new MockServletContext.

  Parameters:
    `resourceBasePath` - the WAR root directory (should not end with a slash)
    `resourceLoader` - the ResourceLoader to use (or null for the default)

Method Detail

### getResourceLocation

    protected String getResourceLocation(String path)

  Build a full resource location for the given path, prepending the resource base path of this MockServletContext.

  Parameters:
    `path` - the path as specified
  Returns:
    the full resource path

### setContextPath

    public void setContextPath(String contextPath)

### getContextPath

    public String getContextPath()

  Specified by:
    `getContextPath` in interface `ServletContext`

### registerContext

    public void registerContext(String contextPath,
                                ServletContext context)

### getContext

    public ServletContext getContext(String contextPath)

  Specified by:
    `getContext` in interface `ServletContext`

### getMajorVersion

    public int getMajorVersion()

  Specified by:
    `getMajorVersion` in interface `ServletContext`

### setMinorVersion

    public void setMinorVersion(int minorVersion)

### getMinorVersion

    public int getMinorVersion()

  Specified by:
    `getMinorVersion` in interface `ServletContext`

### getMimeType

    public String getMimeType(String filePath)

  Specified by:
    `getMimeType` in interface `ServletContext`

### getResourcePaths

    public Set<String> getResourcePaths(String path)

  Specified by:
    `getResourcePaths` in interface `ServletContext`

### getResource

    public URL getResource(String path)
                    throws MalformedURLException

  Specified by:
    `getResource` in interface `ServletContext`
  Throws:
    `MalformedURLException`

### getResourceAsStream

    public InputStream getResourceAsStream(String path)

  Specified by:
    `getResourceAsStream` in interface `ServletContext`

### getRequestDispatcher

    public RequestDispatcher getRequestDispatcher(String path)

  Specified by:
    `getRequestDispatcher` in interface `ServletContext`

### getNamedDispatcher

    public RequestDispatcher getNamedDispatcher(String path)

  Specified by:
    `getNamedDispatcher` in interface `ServletContext`

### getServlet

    public Servlet getServlet(String name)

  Specified by:
    `getServlet` in interface `ServletContext`

### getServlets

    public Enumeration<Servlet> getServlets()

  Specified by:
    `getServlets` in interface `ServletContext`

### getServletNames

    public Enumeration<String> getServletNames()

  Specified by:
    `getServletNames` in interface `ServletContext`

### log

    public void log(String message)

  Specified by:
    `log` in interface `ServletContext`

### log

    public void log(Exception ex,
                    String message)

  Specified by:
    `log` in interface `ServletContext`

### log

    public void log(String message,
                    Throwable ex)

  Specified by:
    `log` in interface `ServletContext`

### getRealPath

    public String getRealPath(String path)

  Specified by:
    `getRealPath` in interface `ServletContext`

### getServerInfo

    public String getServerInfo()

  Specified by:
    `getServerInfo` in interface `ServletContext`

### getInitParameter

    public String getInitParameter(String name)

  Specified by:
    `getInitParameter` in interface `ServletContext`

### addInitParameter

    public void addInitParameter(String name,
                                 String value)

### getInitParameterNames

    public Enumeration<String> getInitParameterNames()

  Specified by:
    `getInitParameterNames` in interface `ServletContext`

### getAttribute

    public Object getAttribute(String name)

  Specified by:
    `getAttribute` in interface `ServletContext`

### getAttributeNames

    public Enumeration<String> getAttributeNames()

  Specified by:
    `getAttributeNames` in interface `ServletContext`

### setAttribute

    public void setAttribute(String name,
                             Object value)

  Specified by:
    `setAttribute` in interface `ServletContext`

### removeAttribute

    public void removeAttribute(String name)

  Specified by:
    `removeAttribute` in interface `ServletContext`

### setServletContextName

    public void setServletContextName(String servletContextName)

### getServletContextName

    public String getServletContextName()

  Specified by:
    `getServletContextName` in interface `ServletContext`