org.codehaus.groovy.grails.web.servlet
Class GrailsDispatcherServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.springframework.web.servlet.HttpServletBean
org.springframework.web.servlet.FrameworkServlet
org.springframework.web.servlet.DispatcherServlet
org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet
- All Implemented Interfaces:
- Serializable, EventListener, Servlet, ServletConfig, ApplicationListener
- Direct Known Subclasses:
- ErrorHandlingServlet
public class GrailsDispatcherServlet
- extends DispatcherServlet
Servlet that handles incoming requests for Grails.
This servlet loads the Spring configuration based on the Grails application
in the parent application context.
- Since:
- Jul 2, 2005
- Author:
- Steven Devijver, Graeme Rocher
- See Also:
- Serialized Form
Fields inherited from class org.springframework.web.servlet.DispatcherServlet |
HANDLER_ADAPTER_BEAN_NAME, HANDLER_EXCEPTION_RESOLVER_BEAN_NAME, HANDLER_EXECUTION_CHAIN_ATTRIBUTE, HANDLER_MAPPING_BEAN_NAME, LOCALE_RESOLVER_ATTRIBUTE, LOCALE_RESOLVER_BEAN_NAME, MULTIPART_RESOLVER_BEAN_NAME, PAGE_NOT_FOUND_LOG_CATEGORY, pageNotFoundLogger, REQUEST_TO_VIEW_NAME_TRANSLATOR_BEAN_NAME, THEME_RESOLVER_ATTRIBUTE, THEME_RESOLVER_BEAN_NAME, THEME_SOURCE_ATTRIBUTE, VIEW_RESOLVER_BEAN_NAME, WEB_APPLICATION_CONTEXT_ATTRIBUTE |
Methods inherited from class org.springframework.web.servlet.DispatcherServlet |
buildLocaleContext, cleanupMultipart, createDefaultStrategy, doService, getDefaultStrategies, getDefaultStrategy, getDefaultViewName, getHandlerAdapter, getLastModified, getMultipartResolver, getThemeSource, initStrategies, noHandlerFound, onRefresh, processHandlerException, render, resolveViewName, setCleanupAfterInclude, setDetectAllHandlerAdapters, setDetectAllHandlerExceptionResolvers, setDetectAllHandlerMappings, setDetectAllViewResolvers, setThreadContextInheritable |
Methods inherited from class org.springframework.web.servlet.FrameworkServlet |
doDelete, doGet, doPost, doPut, getContextClass, getContextConfigLocation, getNamespace, getServletContextAttributeName, getUsernameForRequest, getWebApplicationContext, initServletBean, initWebApplicationContext, isPublishContext, isPublishEvents, onApplicationEvent, postProcessWebApplicationContext, processRequest, refresh, setContextClass, setContextConfigLocation, setNamespace, setPublishContext, setPublishEvents |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
interceptors
protected HandlerInterceptor[] interceptors
multipartResolver
protected MultipartResolver multipartResolver
GrailsDispatcherServlet
public GrailsDispatcherServlet()
initFrameworkServlet
protected void initFrameworkServlet()
throws ServletException,
BeansException
- Overrides:
initFrameworkServlet
in class FrameworkServlet
- Throws:
ServletException
BeansException
createWebApplicationContext
protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent)
throws BeansException
- Overrides:
createWebApplicationContext
in class FrameworkServlet
- Throws:
BeansException
establishInterceptors
protected HandlerInterceptor[] establishInterceptors(WebApplicationContext webContext)
- Evalutes the given WebApplicationContext for all HandlerInterceptor and WebRequestInterceptor instances
- Parameters:
webContext
- The WebApplicationContext
- Returns:
- An array of HandlerInterceptor instances
destroy
public void destroy()
- Specified by:
destroy
in interface Servlet
- Overrides:
destroy
in class FrameworkServlet
setApplication
public void setApplication(GrailsApplication application)
doDispatch
protected void doDispatch(HttpServletRequest request,
HttpServletResponse response)
throws Exception
- Overrides:
doDispatch
in class DispatcherServlet
- Throws:
Exception
useWrappedOrOriginalResponse
protected HttpServletResponse useWrappedOrOriginalResponse(HttpServletResponse response)
copyParamsFromPreviousRequest
protected void copyParamsFromPreviousRequest(GrailsWebRequest previousRequestAttributes,
GrailsWebRequest requestAttributes)
triggerAfterCompletion
protected void triggerAfterCompletion(HandlerExecutionChain mappedHandler,
int interceptorIndex,
HttpServletRequest request,
HttpServletResponse response,
Exception ex)
throws Exception
- Trigger afterCompletion callbacks on the mapped HandlerInterceptors.
Will just invoke afterCompletion for all interceptors whose preHandle
invocation has successfully completed and returned true.
- Parameters:
mappedHandler
- the mapped HandlerExecutionChaininterceptorIndex
- index of last interceptor that successfully completedex
- Exception thrown on handler execution, or null
if none
- Throws:
Exception
- See Also:
HandlerInterceptor.afterCompletion(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception)
checkMultipart
protected HttpServletRequest checkMultipart(HttpServletRequest request)
throws MultipartException
- Convert the request into a multipart request, and make multipart resolver available.
If no multipart resolver is set, simply use the existing request.
- Overrides:
checkMultipart
in class DispatcherServlet
- Parameters:
request
- current HTTP request
- Returns:
- the processed request (multipart wrapper if necessary)
- Throws:
MultipartException
getHandler
protected HandlerExecutionChain getHandler(HttpServletRequest request,
boolean cache)
throws Exception
- Overrides the default behaviour to establish the handler from the GrailsApplication instance
- Overrides:
getHandler
in class DispatcherServlet
- Parameters:
request
- The requestcache
- Whether to cache the Handler in the request
- Returns:
- The HandlerExecutionChain
- Throws:
Exception
Copyright (c) 2005-2006 The Grails project