📄 pi3httpservletresponse.java
字号:
* multiple times to set more than one cookie.
*
* @param cookie the Cookie to return to the client
*
*/
public void addCookie(Cookie cookie) {
su.addCookie(cookie);
};
/**
* Returns a boolean indicating whether the named response header
* has already been set.
*
* @param name the header name
* @return <code>true</code> if the named response header
* has already been set;
* <code>false</code> otherwise
*/
public native boolean containsHeader(String name);
/**
* Encodes the specified URL by including the session ID in it,
* or, if encoding is not needed, returns the URL unchanged.
* The implementation of this method includes the logic to
* determine whether the session ID needs to be encoded in the URL.
* For example, if the browser supports cookies, or session
* tracking is turned off, URL encoding is unnecessary.
*
* <p>For robust session tracking, all URLs emitted by a servlet
* should be run through this
* method. Otherwise, URL rewriting cannot be used with browsers
* which do not support cookies.
*
* @param url the url to be encoded.
* @return the encoded URL if encoding is needed;
* the unchanged URL otherwise.
*/
public String encodeURL(String url) {
if (useURLRewriting(url)) {
url = rewriteURL(url);
};
return url;
}
/**
* Encodes the specified URL for use in the
* <code>sendRedirect</code> method or, if encoding is not needed,
* returns the URL unchanged. The implementation of this method
* includes the logic to determine whether the session ID
* needs to be encoded in the URL. Because the rules for making
* this determination can differ from those used to decide whether to
* encode a normal link, this method is seperate from the
* <code>encodeURL</code> method.
*
* <p>All URLs sent to the <code>HttpServletResponse.sendRedirect</code>
* method should be run through this method. Otherwise, URL
* rewriting cannot be used with browsers which do not support
* cookies.
*
* @param url the url to be encoded.
* @return the encoded URL if encoding is needed;
* the unchanged URL otherwise.
*
* @see #sendRedirect
* @see #encodeUrl
*/
public String encodeRedirectURL(String url) {
if (useURLRewriting(url)) {
url = rewriteURL(url);
};
return url;
}
/**
* @deprecated As of version 2.1, use encodeURL(String url) instead
*
* @param url the url to be encoded.
* @return the encoded URL if encoding is needed;
* the unchanged URL otherwise.
*/
public String encodeUrl(String url) {
return encodeURL(url);
}
/**
* @deprecated As of version 2.1, use
* encodeRedirectURL(String url) instead
*
* @param url the url to be encoded.
* @return the encoded URL if encoding is needed;
* the unchanged URL otherwise.
*/
public String encodeRedirectUrl(String url) {
return encodeRedirectURL(url);
}
/**
* Sends an error response to the client using the specified status
* code and descriptive message. The server generally creates the
* response to look like a normal server error page.
*
* <p>If the response has already been committed, this method throws
* an IllegalStateException.
* After using this method, the response should be considered
* to be committed and should not be written to.
*
* @param sc the error status code
* @param msg the descriptive message
* @exception IOException If an input or output exception occurs
* @exception IllegalStateException If the response was committed
* before this method call
*/
public void sendError(int sc, String msg) throws IOException {
try {
sendError(sc);
}
catch (IOException e)
{
throw e;
};
}
/**
* Sends an error response to the client using the specified
* status. The server generally creates the
* response to look like a normal server error page.
*
* <p>If the response has already been committed, this method throws
* an IllegalStateException.
* After using this method, the response should be considered
* to be committed and should not be written to.
*
* @param sc the error status code
* @exception IOException If an input or output exception occurs
* @exception IllegalStateException If the response was committed
*/
public void sendError(int sc) throws IOException {
if (sout.isCommitted()) {
IllegalStateException e = new IllegalStateException();
throw e;
}
try {
sresult = su.sendError(sc);
sout.doCommit();
}
catch (IOException e)
{
throw e;
};
}
/**
* Sends a temporary redirect response to the client using the
* specified redirect location URL. This method can accept relative URLs;
* the servlet container will convert the relative URL to an absolute URL
* before sending the response to the client.
*
* <p>If the response has already been committed, this method throws
* an IllegalStateException.
* After using this method, the response should be considered
* to be committed and should not be written to.
*
* @param location the redirect location URL
* @exception IOException If an input or output exception occurs
* @exception IllegalStateException If the response was committed
*/
public void sendRedirect(String location) throws IOException {
if (sout.isCommitted()) {
IllegalStateException e = new IllegalStateException();
throw e;
}
su.setResponseVariable("Location", toAbsoluteURL(location));
setStatus(SC_MOVED_PERMANENTLY);
sout.sendHeaders();
}
/**
*
* Sets a response header with the given name and
* date-value. The date is specified in terms of
* milliseconds since the epoch. If the header had already
* been set, the new value overwrites the previous one. The
* <code>containsHeader</code> method can be used to test for the
* presence of a header before setting its value.
*
* @param name the name of the header to set
* @param value the assigned date value
*
* @see #containsHeader
* @see #addDateHeader
*/
public void setDateHeader(String name, long date) {
su.setResponseVariable(name, su.getHttpDate(date));
}
/**
*
* Adds a response header with the given name and
* date-value. The date is specified in terms of
* milliseconds since the epoch. This method allows response headers
* to have multiple values.
*
* @param name the name of the header to set
* @param value the additional date value
*
* @see #setDateHeader
*/
public void addDateHeader(String name, long date) {
su.addResponseVariable(name, su.getHttpDate(date));
}
/**
*
* Sets a response header with the given name and value.
* If the header had already been set, the new value overwrites the
* previous one. The <code>containsHeader</code> method can be
* used to test for the presence of a header before setting its
* value.
*
* @param name the name of the header
* @param value the header value
*
* @see #containsHeader
* @see #addHeader
*/
public void setHeader(String name, String value) {
su.setResponseVariable(name, value);
}
/**
* Adds a response header with the given name and value.
* This method allows response headers to have multiple values.
*
* @param name the name of the header
* @param value the additional header value
*
* @see #setHeader
*/
public void addHeader(String name, String value) {
su.addResponseVariable(name, value);
}
/**
* Sets a response header with the given name and
* integer value. If the header had already been set, the new value
* overwrites the previous one. The <code>containsHeader</code>
* method can be used to test for the presence of a header before
* setting its value.
*
* @param name the name of the header
* @param value the assigned integer value
*
* @see #containsHeader
* @see #addIntHeader
*/
public void setIntHeader(String name, int value) {
Integer i = new Integer(value);
su.setResponseVariable(name, i.toString());
}
/**
* Adds a response header with the given name and
* integer value. This method allows response headers to have multiple
* values.
*
* @param name the name of the header
* @param value the assigned integer value
*
* @see #setIntHeader
*/
public void addIntHeader(String name, int value) {
Integer i = new Integer(value);
su.addResponseVariable(name, i.toString());
}
/**
* Sets the status code for this response. This method is used to
* set the return status code when there is no error (for example,
* for the status codes SC_OK or SC_MOVED_TEMPORARILY). If there
* is an error, the <code>sendError</code> method should be used
* instead.
*
* @param sc the status code
*
* @see #sendError
*/
public native void setStatus(int sc);
/**
* @deprecated As of version 2.1, due to ambiguous meaning of the
* message parameter. To set a status code
* use <code>setStatus(int)</code>, to send an error with a description
* use <code>sendError(int, String)</code>.
*
* Sets the status code and message for this response.
*
* @param sc the status code
* @param sm the status message
*/
public void setStatus(int sc, String sm) {
setStatus(sc);
}
static {
System.loadLibrary("Pi3ServletJNI");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -