|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.mock.web.MockServletContext
public class MockServletContext
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).
MockServletContext(org.springframework.core.io.ResourceLoader)
,
XmlWebApplicationContext
,
GenericWebApplicationContext
,
ClassPathXmlApplicationContext
,
FileSystemXmlApplicationContext
Nested Class Summary | |
---|---|
private static class |
MockServletContext.MimeTypeResolver
Inner factory class used to just introduce a Java Activation Framework dependency when actually asked to resolve a MIME type. |
Field Summary | |
---|---|
private java.util.Map<java.lang.String,java.lang.Object> |
attributes
|
private java.lang.String |
contextPath
|
private java.util.Map<java.lang.String,javax.servlet.ServletContext> |
contexts
|
private java.util.Map<java.lang.String,java.lang.String> |
initParameters
|
private Log |
logger
|
private int |
minorVersion
|
private java.lang.String |
resourceBasePath
|
private ResourceLoader |
resourceLoader
|
private java.lang.String |
servletContextName
|
private static java.lang.String |
TEMP_DIR_SYSTEM_PROPERTY
|
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(java.lang.String resourceBasePath)
Create a new MockServletContext, using a DefaultResourceLoader. |
|
MockServletContext(java.lang.String resourceBasePath,
ResourceLoader resourceLoader)
Create a new MockServletContext. |
Method Summary | |
---|---|
void |
addInitParameter(java.lang.String name,
java.lang.String value)
|
java.lang.Object |
getAttribute(java.lang.String name)
|
java.util.Enumeration<java.lang.String> |
getAttributeNames()
|
javax.servlet.ServletContext |
getContext(java.lang.String contextPath)
|
java.lang.String |
getContextPath()
|
java.lang.String |
getInitParameter(java.lang.String name)
|
java.util.Enumeration<java.lang.String> |
getInitParameterNames()
|
int |
getMajorVersion()
|
java.lang.String |
getMimeType(java.lang.String filePath)
|
int |
getMinorVersion()
|
javax.servlet.RequestDispatcher |
getNamedDispatcher(java.lang.String path)
|
java.lang.String |
getRealPath(java.lang.String path)
|
javax.servlet.RequestDispatcher |
getRequestDispatcher(java.lang.String path)
|
java.net.URL |
getResource(java.lang.String path)
|
java.io.InputStream |
getResourceAsStream(java.lang.String path)
|
protected java.lang.String |
getResourceLocation(java.lang.String path)
Build a full resource location for the given path, prepending the resource base path of this MockServletContext. |
java.util.Set<java.lang.String> |
getResourcePaths(java.lang.String path)
|
java.lang.String |
getServerInfo()
|
javax.servlet.Servlet |
getServlet(java.lang.String name)
|
java.lang.String |
getServletContextName()
|
java.util.Enumeration<java.lang.String> |
getServletNames()
|
java.util.Enumeration<javax.servlet.Servlet> |
getServlets()
|
void |
log(java.lang.Exception ex,
java.lang.String message)
|
void |
log(java.lang.String message)
|
void |
log(java.lang.String message,
java.lang.Throwable ex)
|
void |
registerContext(java.lang.String contextPath,
javax.servlet.ServletContext context)
|
void |
removeAttribute(java.lang.String name)
|
void |
setAttribute(java.lang.String name,
java.lang.Object value)
|
void |
setContextPath(java.lang.String contextPath)
|
void |
setMinorVersion(int minorVersion)
|
void |
setServletContextName(java.lang.String servletContextName)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String TEMP_DIR_SYSTEM_PROPERTY
private final Log logger
private final ResourceLoader resourceLoader
private final java.lang.String resourceBasePath
private java.lang.String contextPath
private int minorVersion
private final java.util.Map<java.lang.String,javax.servlet.ServletContext> contexts
private final java.util.Map<java.lang.String,java.lang.String> initParameters
private final java.util.Map<java.lang.String,java.lang.Object> attributes
private java.lang.String servletContextName
Constructor Detail |
---|
public MockServletContext()
DefaultResourceLoader
public MockServletContext(java.lang.String resourceBasePath)
resourceBasePath
- the WAR root directory (should not end with a slash)DefaultResourceLoader
public MockServletContext(ResourceLoader resourceLoader)
resourceLoader
- the ResourceLoader to use (or null for the default)public MockServletContext(java.lang.String resourceBasePath, ResourceLoader resourceLoader)
resourceBasePath
- the WAR root directory (should not end with a slash)resourceLoader
- the ResourceLoader to use (or null for the default)Method Detail |
---|
protected java.lang.String getResourceLocation(java.lang.String path)
path
- the path as specified
public void setContextPath(java.lang.String contextPath)
public java.lang.String getContextPath()
public void registerContext(java.lang.String contextPath, javax.servlet.ServletContext context)
public javax.servlet.ServletContext getContext(java.lang.String contextPath)
getContext
in interface javax.servlet.ServletContext
public int getMajorVersion()
getMajorVersion
in interface javax.servlet.ServletContext
public void setMinorVersion(int minorVersion)
public int getMinorVersion()
getMinorVersion
in interface javax.servlet.ServletContext
public java.lang.String getMimeType(java.lang.String filePath)
getMimeType
in interface javax.servlet.ServletContext
public java.util.Set<java.lang.String> getResourcePaths(java.lang.String path)
getResourcePaths
in interface javax.servlet.ServletContext
public java.net.URL getResource(java.lang.String path) throws java.net.MalformedURLException
getResource
in interface javax.servlet.ServletContext
java.net.MalformedURLException
public java.io.InputStream getResourceAsStream(java.lang.String path)
getResourceAsStream
in interface javax.servlet.ServletContext
public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
getRequestDispatcher
in interface javax.servlet.ServletContext
public javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String path)
getNamedDispatcher
in interface javax.servlet.ServletContext
public javax.servlet.Servlet getServlet(java.lang.String name)
getServlet
in interface javax.servlet.ServletContext
public java.util.Enumeration<javax.servlet.Servlet> getServlets()
getServlets
in interface javax.servlet.ServletContext
public java.util.Enumeration<java.lang.String> getServletNames()
getServletNames
in interface javax.servlet.ServletContext
public void log(java.lang.String message)
log
in interface javax.servlet.ServletContext
public void log(java.lang.Exception ex, java.lang.String message)
log
in interface javax.servlet.ServletContext
public void log(java.lang.String message, java.lang.Throwable ex)
log
in interface javax.servlet.ServletContext
public java.lang.String getRealPath(java.lang.String path)
getRealPath
in interface javax.servlet.ServletContext
public java.lang.String getServerInfo()
getServerInfo
in interface javax.servlet.ServletContext
public java.lang.String getInitParameter(java.lang.String name)
getInitParameter
in interface javax.servlet.ServletContext
public void addInitParameter(java.lang.String name, java.lang.String value)
public java.util.Enumeration<java.lang.String> getInitParameterNames()
getInitParameterNames
in interface javax.servlet.ServletContext
public java.lang.Object getAttribute(java.lang.String name)
getAttribute
in interface javax.servlet.ServletContext
public java.util.Enumeration<java.lang.String> getAttributeNames()
getAttributeNames
in interface javax.servlet.ServletContext
public void setAttribute(java.lang.String name, java.lang.Object value)
setAttribute
in interface javax.servlet.ServletContext
public void removeAttribute(java.lang.String name)
removeAttribute
in interface javax.servlet.ServletContext
public void setServletContextName(java.lang.String servletContextName)
public java.lang.String getServletContextName()
getServletContextName
in interface javax.servlet.ServletContext
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |