org.springframework.web.servlet
Class HttpServletBean

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended byorg.springframework.web.servlet.HttpServletBean
All Implemented Interfaces:
Serializable, Servlet, ServletConfig
Direct Known Subclasses:
FrameworkServlet, ResourceServlet

public abstract class HttpServletBean
extends HttpServlet

Simple extension of javax.servlet.http.HttpServlet that treats its config parameters as bean properties.

A very handy superclass for any type of servlet. Type conversion is automatic. It is also possible for subclasses to specify required properties.

This servlet leaves request handling to subclasses, inheriting the default behavior of HttpServlet (doGet, doPost, etc).

This servlet superclass has no dependency on a Spring application context, in contrast to the FrameworkServlet class which loads its own context.

Author:
Rod Johnson, Juergen Hoeller
See Also:
addRequiredProperty(java.lang.String), initServletBean(), HttpServlet.doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse), HttpServlet.doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse), FrameworkServlet, Serialized Form

Field Summary
protected  Log logger
          Logger available to subclasses
 
Constructor Summary
HttpServletBean()
           
 
Method Summary
protected  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.
 void init()
          Map config parameters onto bean properties of this servlet, and invoke subclass initialization.
protected  void initBeanWrapper(BeanWrapper bw)
          Initialize the BeanWrapper for this HttpServletBean, possibly with custom editors.
protected  void initServletBean()
          Subclasses may override this to perform custom initialization.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Logger available to subclasses

Constructor Detail

HttpServletBean

public HttpServletBean()
Method Detail

addRequiredProperty

protected 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. This method would normally be called from a subclass constructor.

Parameters:
property - name of the required property

init

public final void init()
                throws ServletException
Map config parameters onto bean properties of this servlet, and invoke subclass initialization.

Throws:
ServletException - if bean properties are invalid (or required properties are missing), or if subclass initialization fails.

initBeanWrapper

protected void initBeanWrapper(BeanWrapper bw)
                        throws BeansException
Initialize the BeanWrapper for this HttpServletBean, possibly with custom editors.

Parameters:
bw - the BeanWrapper to initialize
Throws:
BeansException - if thrown by BeanWrapper methods
See Also:
BeanWrapper.registerCustomEditor(java.lang.Class, java.beans.PropertyEditor)

initServletBean

protected void initServletBean()
                        throws ServletException
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 does nothing.

Throws:
ServletException - if subclass initialization fails


Copyright (C) 2003-2004 The Spring Framework Project.