当前位置: 首页>>代码示例>>Java>>正文


Java Response.setStatus方法代码示例

本文整理汇总了Java中org.apache.catalina.connector.Response.setStatus方法的典型用法代码示例。如果您正苦于以下问题:Java Response.setStatus方法的具体用法?Java Response.setStatus怎么用?Java Response.setStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.catalina.connector.Response的用法示例。


在下文中一共展示了Response.setStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: invoke

import org.apache.catalina.connector.Response; //导入方法依赖的package包/类
@Override
public void invoke (Request request, Response response) throws IOException,
   ServletException
{
   // valve disabled or previous valve sent an error, return
   if (!isEnable() || response.isError())
   {
      getNext().invoke(request, response);
      return;
   }

   final AccessInformation ai = new AccessInformation();
   ai.setConnectionStatus(new PendingConnectionStatus());

   // To be sure not to retrieve the same date trough concurrency calls.
   synchronized (this)
   {
      ai.setStartTimestamp(System.nanoTime());
      ai.setStartDate (new Date ());
   }
   try
   {
      this.doLog(request, response, ai);
   }
   finally
   {
      Element cached_element = new Element(UUID.randomUUID(), ai);
      getCache().put(cached_element);

      try
      {
         // Log of the pending request command.
         if (isUseLogger()) LOGGER.info ("Access " + ai);

         getNext().invoke(request, response);
      }
      catch (Throwable e)
      {
         response.addHeader("cause-message",
            e.getClass().getSimpleName() + " : " + e.getMessage());
         //ai.setConnectionStatus(new FailureConnectionStatus(e));
         response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR);
         //throw e;
      }
      finally
      {
         ai.setReponseSize(response.getContentLength());
         ai.setWrittenResponseSize(response.getContentWritten());

         if (response.getStatus()>=400)
         {
            String message = RequestUtil.filter(response.getMessage());
            if (message==null)
            {
               // The cause-message has been inserted into the reponse header
               // at error handler time. It no message is retrieved in the
               // standard response, the cause-message is used.
               message = response.getHeader("cause-message");
            }
            Throwable throwable = null;
            if (message != null) throwable = new Throwable(message);
            else throwable = (Throwable) request.getAttribute(
               RequestDispatcher.ERROR_EXCEPTION);
            if (throwable==null) throwable = new Throwable();

            ai.setConnectionStatus(new FailureConnectionStatus(throwable));
         }
         else
            ai.setConnectionStatus(new SuccessConnectionStatus());

         ai.setEndTimestamp(System.nanoTime());
         if ((getPattern()==null) || ai.getRequest().matches(getPattern()))
         {
            cached_element.updateUpdateStatistics();
            if (isUseLogger()) LOGGER.info ("Access " + ai);
         }
      }
   }
}
 
开发者ID:SentinelDataHub,项目名称:dhus-core,代码行数:80,代码来源:AccessValve.java


注:本文中的org.apache.catalina.connector.Response.setStatus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。