Class HttpServletBean
- All Implemented Interfaces:
Servlet
,ServletConfig
,Serializable
,Aware
,EnvironmentAware
,EnvironmentCapable
- Direct Known Subclasses:
FrameworkServlet
HttpServlet
which treats
its config parameters (init-param
entries within the
servlet
tag in web.xml
) as bean properties.
A handy superclass for any type of servlet. Type conversion of config parameters is automatic, with the corresponding setter method getting invoked with the converted value. It is also possible for subclasses to specify required properties. Parameters without matching bean property setter will simply be ignored.
This servlet leaves request handling to subclasses, inheriting the default
behavior of HttpServlet (doGet
, doPost
, etc).
This generic servlet base class has no dependency on the Spring
ApplicationContext
concept. Simple
servlets usually don't load their own context but rather access service
beans from the Spring root application context, accessible via the
filter's ServletContext
(see
WebApplicationContextUtils
).
The FrameworkServlet
class is a more specific servlet base
class which loads its own application context. FrameworkServlet serves
as direct base class of Spring's full-fledged DispatcherServlet
.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
addRequiredProperty
(String property) Subclasses can invoke this method to specify that this property (which must match a JavaBean property they expose) is mandatory, and must be supplied as a config parameter.protected ConfigurableEnvironment
Create and return a newStandardServletEnvironment
.Return theEnvironment
associated with this servlet.Overridden method that simply returnsnull
when no ServletConfig set yet.final void
init()
Map config parameters onto bean properties of this servlet, and invoke subclass initialization.protected void
Initialize the BeanWrapper for this HttpServletBean, possibly with custom editors.protected void
Subclasses may override this to perform custom initialization.void
setEnvironment
(Environment environment) Set theEnvironment
that this servlet runs in.Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPatch, doPost, doPut, doTrace, getLastModified, init, isSensitiveHeader, service, service
Methods inherited from class jakarta.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, log, log
-
Field Details
-
logger
Logger available to subclasses.
-
-
Constructor Details
-
HttpServletBean
public HttpServletBean()
-
-
Method Details
-
addRequiredProperty
Subclasses can invoke this method to specify that this property (which must match a JavaBean property they expose) is mandatory, and must be supplied as a config parameter. This should be called from the constructor of a subclass.This method is only relevant in case of traditional initialization driven by a ServletConfig instance.
- Parameters:
property
- name of the required property
-
setEnvironment
Set theEnvironment
that this servlet runs in.Any environment set here overrides the
StandardServletEnvironment
provided by default.- Specified by:
setEnvironment
in interfaceEnvironmentAware
- Throws:
IllegalArgumentException
- if environment is not assignable toConfigurableEnvironment
-
getEnvironment
Return theEnvironment
associated with this servlet.If none specified, a default environment will be initialized via
createEnvironment()
.- Specified by:
getEnvironment
in interfaceEnvironmentCapable
-
createEnvironment
Create and return a newStandardServletEnvironment
.Subclasses may override this in order to configure the environment or specialize the environment type returned.
-
init
Map config parameters onto bean properties of this servlet, and invoke subclass initialization.- Overrides:
init
in classGenericServlet
- Throws:
ServletException
- if bean properties are invalid (or required properties are missing), or if subclass initialization fails.
-
initBeanWrapper
Initialize the BeanWrapper for this HttpServletBean, possibly with custom editors.This default implementation is empty.
- Parameters:
bw
- the BeanWrapper to initialize- Throws:
BeansException
- if thrown by BeanWrapper methods- See Also:
-
initServletBean
Subclasses may override this to perform custom initialization. All bean properties of this servlet will have been set before this method is invoked.This default implementation is empty.
- Throws:
ServletException
- if subclass initialization fails
-
getServletName
Overridden method that simply returnsnull
when no ServletConfig set yet.- Specified by:
getServletName
in interfaceServletConfig
- Overrides:
getServletName
in classGenericServlet
- See Also:
-