throws IOException, ServletException{
final String requestPath = mapping.getPath();
logger.fine("Start Request Path:" + requestPath);
WebContext context = null;
ActionForward resultForward = null;
try{
context = WebContext.get(request);
/* ensure user is logged-in (except for login page)*/
resultForward = ensureLoggedIn(context, request, response, mapping);
if(resultForward == null){
/* execute the action */
resultForward = action.execute(mapping, form, request, response);
}
}catch (Exception e){
logger.log(Level.FINE, "Exception on Request: " + requestPath, e);
/* process exception */
resultForward =
processException(request, response, e, form, mapping);
}finally{
/* release resources */
if(context != null)
context.releaseResources();
/* logging */
String resultForwardPath = (resultForward == null) ?
"none" : resultForward.getPath();
if(resultForwardPath == null){
/* the path attribute of resultForward was null */