本文整理汇总了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);
}
}
}
}