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
FieldsFields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidaddRequiredProperty(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 ConfigurableEnvironmentCreate and return a newStandardServletEnvironment.Return theEnvironmentassociated with this servlet.Overridden method that simply returnsnullwhen no ServletConfig set yet.final voidinit()Map config parameters onto bean properties of this servlet, and invoke subclass initialization.protected voidInitialize the BeanWrapper for this HttpServletBean, possibly with custom editors.protected voidSubclasses may override this to perform custom initialization.voidsetEnvironment(Environment environment) Set theEnvironmentthat this servlet runs in.Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, init, service, serviceMethods 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 theEnvironmentthat this servlet runs in.Any environment set here overrides the
StandardServletEnvironmentprovided by default.- Specified by:
setEnvironmentin interfaceEnvironmentAware- Throws:
IllegalArgumentException- if environment is not assignable toConfigurableEnvironment
-
getEnvironment
Return theEnvironmentassociated with this servlet.If none specified, a default environment will be initialized via
createEnvironment().- Specified by:
getEnvironmentin 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:
initin 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 returnsnullwhen no ServletConfig set yet.- Specified by:
getServletNamein interfaceServletConfig- Overrides:
getServletNamein classGenericServlet- See Also:
-