📄 ecsservletresponse.java
字号:
/*
* Copyright 2000-2001,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jetspeed.util.servlet;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Locale;
/**
*
* EcsServletResponse is an HttpServletResponse implementation that
* wraps an existing HttpServletResponse and redirects its output to
* an alternate OutputStream.
*
* @author <a href="raphael@apache.org">Rapha雔 Luta</a>
*/
public class EcsServletResponse implements HttpServletResponse
{
/** The wrapped ServletResponse */
private HttpServletResponse rsp;
/** The new OutputStream to use */
private EcsServletOutputStream sout;
/** The PrintWriter to use if defined */
private PrintWriter writer;
/** state flag: has getOutputStream() already been called ? */
private boolean outUsed = false;
/** state flag: has getWriter() already been called ? */
private boolean writerUsed = false;
/** Build a Response
*
* @param rsp the base HttpServletResponse to wrap
* @param out the OutputStream to be used for writing data
*/
public EcsServletResponse(HttpServletResponse rsp, OutputStream out) {
this.rsp = rsp;
this.sout = new EcsServletOutputStream(out);
}
/**
* @see javax.servlet.ServletResponse#getCharacterEncoding
*/
public String getCharacterEncoding()
{
return rsp.getCharacterEncoding();
}
/**
* @see javax.servlet.ServletResponse#getOutputStream
*/
public ServletOutputStream getOutputStream() throws IOException
{
if (writerUsed)
{
throw new IllegalStateException("Writer already used");
}
this.outUsed = true;
return this.sout;
}
/**
* @see javax.servlet.ServletResponse#getWriter
*/
public PrintWriter getWriter() throws IOException
{
if (outUsed)
{
throw new IllegalStateException("OutputStream already in use");
}
if (writer==null)
{
this.writer = new PrintWriter(this.sout);
}
this.writerUsed = true;
return writer;
}
/**
* @see javax.servlet.ServletResponse#setContentLength
*/
public void setContentLength(int len)
{
// silently fail
}
/**
* @see javax.servlet.ServletResponse#setContentType
*/
public void setContentType(String type)
{
// silently fail
}
/**
* @see javax.servlet.ServletResponse#setBufferSize
*/
public void setBufferSize(int size)
{
// silently fail
}
/**
* @see javax.servlet.ServletResponse#getBufferSize
*/
public int getBufferSize()
{
return rsp.getBufferSize();
}
/**
* @see javax.servlet.ServletResponse#flushBuffer
*/
public void flushBuffer() throws IOException
{
this.sout.flush();
}
/**
* @see javax.servlet.ServletResponse#isCommitted
*/
public boolean isCommitted()
{
// we don't implement reset() so always claim
// the data is committed
return true;
}
/**
* @see javax.servlet.ServletResponse#reset
*/
public void reset()
{
// silently fail
}
/**
* @see javax.servlet.ServletResponse#setLocale
*/
public void setLocale(Locale loc)
{
// we can safely ignore this
}
/**
* @see javax.servlet.ServletResponse#getLocale
*/
public Locale getLocale()
{
return rsp.getLocale();
}
/**
* @see javax.servlet.http.HttpServletResponse#addCookie
*/
public void addCookie(Cookie cookie)
{
rsp.addCookie(cookie);
}
/**
* @see javax.servlet.http.HttpServletResponse#containsHeader
*/
public boolean containsHeader(String name)
{
return rsp.containsHeader(name);
}
/**
* @see javax.servlet.http.HttpServletResponse#encodeURL
*/
public String encodeURL(String url)
{
return rsp.encodeURL(url);
}
/**
* @see javax.servlet.http.HttpServletResponse#encodeRedirectURL
*/
public String encodeRedirectURL(String url)
{
return rsp.encodeRedirectURL(url);
}
/**
* @see javax.servlet.http.HttpServletResponse#encodeUrl
*/
public String encodeUrl(String url)
{
return rsp.encodeUrl(url);
}
/**
* @see javax.servlet.http.HttpServletResponse#encodeRedirectUrl
*/
public String encodeRedirectUrl(String url)
{
return rsp.encodeRedirectUrl(url);
}
/**
* @see javax.servlet.http.HttpServletResponse#sendError
*/
public void sendError(int sc, String msg) throws IOException
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#sendError
*/
public void sendError(int sc) throws IOException
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#sendRedirect
*/
public void sendRedirect(String location) throws IOException
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#setDateHeader
*/
public void setDateHeader(String name, long date)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#addDateHeader
*/
public void addDateHeader(String name, long date)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#setHeader
*/
public void setHeader(String name, String value)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#addHeader
*/
public void addHeader(String name, String value)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#setIntHeader
*/
public void setIntHeader(String name, int value)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#addIntHeader
*/
public void addIntHeader(String name, int value)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#setStatus
*/
public void setStatus(int sc)
{
// silently fail
}
/**
* @see javax.servlet.http.HttpServletResponse#setStatus
*/
public void setStatus(int sc, String sm)
{
// silently fail
}
public void resetBuffer()
{
// silently fail
//added by Ben Woodward
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -