社区
Java SE
帖子详情
package javax.servlet does not exist到底表达了什么?
mashaw
2003-07-15 04:15:27
怎么样才能把它除掉
...全文
60
6
打赏
收藏
package javax.servlet does not exist到底表达了什么?
怎么样才能把它除掉
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mashaw
2003-07-16
打赏
举报
回复
是不是要把servlet.jar拷到该目录下
分不够可加
wyqiang
2003-07-15
打赏
举报
回复
我真搞不清为啥要学java servlet 没啥好学的
看懂了的人才知到我就是那样想的
ji_jian24
2003-07-15
打赏
举报
回复
表明你该好好学e文了
zuoyangguang
2003-07-15
打赏
举报
回复
不用下载,有tomcat吗,在common\lib下就有
mashaw
2003-07-15
打赏
举报
回复
哪里能够下载到?
jokerjava
2003-07-15
打赏
举报
回复
javax.servlet 没有找到这个包
需要单独下载 servlet.jar包
servlet
2.4doc
Overview
Package
Class Tree Deprecated Index Help PREV NEXT FRAMES NO FRAMES A B C D E F G H I J L P R S U V -------------------------------------------------------------------------------- A addCookie(Cookie) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object. addCookie(Cookie) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Adds the specified cookie to the response. addDateHeader(String, long) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object. addDateHeader(String, long) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Adds a response header with the given name and date-value. addHeader(String, String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object. addHeader(String, String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Adds a response header with the given name and value. addIntHeader(String, int) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object. addIntHeader(String, int) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Adds a response header with the given name and integer value. attributeAdded(HttpSessionBindingEvent) - Method in interface
java
x.
servlet
.http.HttpSessionAttributeListener Notification that an attribute has been added to a session. attributeAdded(
Servlet
ContextAttributeEvent) - Method in interface
java
x.
servlet
.
Servlet
ContextAttributeListener Notification that a new attribute was added to the
servlet
context. attributeAdded(
Servlet
RequestAttributeEvent) - Method in interface
java
x.
servlet
.
Servlet
RequestAttributeListener Notification that a new attribute was added to the
servlet
request. attributeRemoved(HttpSessionBindingEvent) - Method in interface
java
x.
servlet
.http.HttpSessionAttributeListener Notification that an attribute has been removed from a session. attributeRemoved(
Servlet
ContextAttributeEvent) - Method in interface
java
x.
servlet
.
Servlet
ContextAttributeListener Notification that an
exist
ing attribute has been removed from the
servlet
context. attributeRemoved(
Servlet
RequestAttributeEvent) - Method in interface
java
x.
servlet
.
Servlet
RequestAttributeListener Notification that a new attribute was removed from the
servlet
request. attributeReplaced(HttpSessionBindingEvent) - Method in interface
java
x.
servlet
.http.HttpSessionAttributeListener Notification that an attribute has been replaced in a session. attributeReplaced(
Servlet
ContextAttributeEvent) - Method in interface
java
x.
servlet
.
Servlet
ContextAttributeListener Notification that an attribute on the
servlet
context has been replaced. attributeReplaced(
Servlet
RequestAttributeEvent) - Method in interface
java
x.
servlet
.
Servlet
RequestAttributeListener Notification that an attribute was replaced on the
servlet
request. -------------------------------------------------------------------------------- B BASIC_AUTH - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Request String identifier for Basic authentication. -------------------------------------------------------------------------------- C CLIENT_CERT_AUTH - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Request String identifier for Client Certificate authentication. clone() - Method in class
java
x.
servlet
.http.Cookie Overrides the standard
java
.lang.Object.clone method to return a copy of this cookie. containsHeader(String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call containsHeader(String name) on the wrapped response object. containsHeader(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Returns a boolean indicating whether the named response header has already been set. contextDestroyed(
Servlet
ContextEvent) - Method in interface
java
x.
servlet
.
Servlet
ContextListener Notification that the
servlet
context is about to be shut down. contextInitialized(
Servlet
ContextEvent) - Method in interface
java
x.
servlet
.
Servlet
ContextListener Notification that the web application initialization process is starting. Cookie - class
java
x.
servlet
.http.Cookie. Creates a cookie, a small amount of information sent by a
servlet
to a Web browser, saved by the browser, and later sent back to the server. Cookie(String, String) - Constructor for class
java
x.
servlet
.http.Cookie Constructs a cookie with a specified name and value. -------------------------------------------------------------------------------- D destroy() - Method in interface
java
x.
servlet
.Filter Called by the web container to indicate to a filter that it is being taken out of service. destroy() - Method in interface
java
x.
servlet
.
Servlet
Called by the
servlet
container to indicate to a
servlet
that the
servlet
is being taken out of service. destroy() - Method in class
java
x.
servlet
.Generic
Servlet
Called by the
servlet
container to indicate to a
servlet
that the
servlet
is being taken out of service. DIGEST_AUTH - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Request String identifier for Digest authentication. doDelete(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Called by the server (via the service method) to allow a
servlet
to handle a DELETE request. doFilter(
Servlet
Request,
Servlet
Response) - Method in interface
java
x.
servlet
.FilterChain Causes the next filter in the chain to be invoked, or if the calling filter is the last filter in the chain, causes the resource at the end of the chain to be invoked. doFilter(
Servlet
Request,
Servlet
Response, FilterChain) - Method in interface
java
x.
servlet
.Filter The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. doGet(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Called by the server (via the service method) to allow a
servlet
to handle a GET request. doHead(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Receives an HTTP HEAD request from the protected service method and handles the request. doOptions(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Called by the server (via the service method) to allow a
servlet
to handle a OPTIONS request. doPost(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Called by the server (via the service method) to allow a
servlet
to handle a POST request. doPut(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Called by the server (via the service method) to allow a
servlet
to handle a PUT request. doTrace(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Called by the server (via the service method) to allow a
servlet
to handle a TRACE request. -------------------------------------------------------------------------------- E encodeRedirectUrl(String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to return encodeRedirectUrl(String url) on the wrapped response object. encodeRedirectUrl(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Deprecated. As of version 2.1, use encodeRedirectURL(String url) instead encodeRedirectURL(String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object. encodeRedirectURL(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged. encodeUrl(String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call encodeUrl(String url) on the wrapped response object. encodeUrl(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Deprecated. As of version 2.1, use encodeURL(String url) instead encodeURL(String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call encodeURL(String url) on the wrapped response object. encodeURL(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. -------------------------------------------------------------------------------- F Filter - interface
java
x.
servlet
.Filter. A filter is an object that performs filtering tasks on either the request to a resource (a
servlet
or static content), or on the response from a resource, or both. Filters perform filtering in the doFilter method. FilterChain - interface
java
x.
servlet
.FilterChain. A FilterChain is an object provided by the
servlet
container to the developer giving a view into the invocation chain of a filtered request for a resource. FilterConfig - interface
java
x.
servlet
.FilterConfig. A filter configuration object used by a
servlet
container to pass information to a filter during initialization. flushBuffer() - Method in interface
java
x.
servlet
.
Servlet
Response Forces any content in the buffer to be written to the client. flushBuffer() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to call flushBuffer() on the wrapped response object. FORM_AUTH - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Request String identifier for Form authentication. forward(
Servlet
Request,
Servlet
Response) - Method in interface
java
x.
servlet
.RequestDispatcher Forwards a request from a
servlet
to another resource (
servlet
, JSP file, or HTML file) on the server. -------------------------------------------------------------------------------- G Generic
Servlet
- class
java
x.
servlet
.Generic
Servlet
. Defines a generic, protocol-independent
servlet
. Generic
Servlet
() - Constructor for class
java
x.
servlet
.Generic
Servlet
Does nothing. getAttribute(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns the
servlet
container attribute with the given name, or null if there is no attribute by that name. getAttribute(String) - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to call getAttribute(String name) on the wrapped request object. getAttribute(String) - Method in interface
java
x.
servlet
.
Servlet
Request Returns the value of the named attribute as an Object, or null if no attribute of the given name
exist
s. getAttribute(String) - Method in interface
java
x.
servlet
.http.HttpSession Returns the object bound with the specified name in this session, or null if no object is bound under the name. getAttributeNames() - Method in interface
java
x.
servlet
.
Servlet
Context Returns an Enumeration containing the attribute names available within this
servlet
context. getAttributeNames() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getAttributeNames() on the wrapped request object. getAttributeNames() - Method in interface
java
x.
servlet
.
Servlet
Request Returns an Enumeration containing the names of the attributes available to this request. getAttributeNames() - Method in interface
java
x.
servlet
.http.HttpSession Returns an Enumeration of String objects containing the names of all the objects bound to this session. getAuthType() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the name of the authentication scheme used to protect the
servlet
. getAuthType() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getAuthType() on the wrapped request object. getBufferSize() - Method in interface
java
x.
servlet
.
Servlet
Response Returns the actual buffer size used for the response. getBufferSize() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return getBufferSize() on the wrapped response object. getCharacterEncoding() - Method in interface
java
x.
servlet
.
Servlet
Response Returns the name of the character encoding (MIME charset) used for the body sent in this response. getCharacterEncoding() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getCharacterEncoding() on the wrapped request object. getCharacterEncoding() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the name of the character encoding used in the body of this request. getCharacterEncoding() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return getCharacterEncoding() on the wrapped response object. getComment() - Method in class
java
x.
servlet
.http.Cookie Returns the comment describing the purpose of this cookie, or null if the cookie has no comment. getContentLength() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getContentLength() on the wrapped request object. getContentLength() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known. getContentType() - Method in interface
java
x.
servlet
.
Servlet
Response Returns the content type used for the MIME body sent in this response. getContentType() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getContentType() on the wrapped request object. getContentType() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the MIME type of the body of the request, or null if the type is not known. getContentType() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return getContentType() on the wrapped response object. getContext(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a
Servlet
Context object that corresponds to a specified URL on the server. getContextPath() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the portion of the request URI that indicates the context of the request. getContextPath() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getContextPath() on the wrapped request object. getCookies() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns an array containing all of the Cookie objects the client sent with this request. getCookies() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getCookies() on the wrapped request object. getCreationTime() - Method in interface
java
x.
servlet
.http.HttpSession Returns the time when this session was created, measured in milliseconds since midnight January 1, 1970 GMT. getDateHeader(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the value of the specified request header as a long value that represents a Date object. getDateHeader(String) - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getDateHeader(String name) on the wrapped request object. getDomain() - Method in class
java
x.
servlet
.http.Cookie Returns the domain name set for this cookie. getFilterName() - Method in interface
java
x.
servlet
.FilterConfig Returns the filter-name of this filter as defined in the deployment descriptor. getHeader(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the value of the specified request header as a String. getHeader(String) - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getHeader(String name) on the wrapped request object. getHeaderNames() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns an enumeration of all the header names this request contains. getHeaderNames() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getHeaderNames() on the wrapped request object. getHeaders(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns all the values of the specified request header as an Enumeration of String objects. getHeaders(String) - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getHeaders(String name) on the wrapped request object. getId() - Method in interface
java
x.
servlet
.http.HttpSession Returns a string containing the unique identifier assigned to this session. getIds() - Method in interface
java
x.
servlet
.http.HttpSessionContext Deprecated. As of
Java
Servlet
API 2.1 with no replacement. This method must return an empty Enumeration and will be removed in a future version of this API. getInitParameter(String) - Method in interface
java
x.
servlet
.FilterConfig Returns a String containing the value of the named initialization parameter, or null if the parameter does not
exist
. getInitParameter(String) - Method in interface
java
x.
servlet
.
Servlet
Config Returns a String containing the value of the named initialization parameter, or null if the parameter does not
exist
. getInitParameter(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a String containing the value of the named context-wide initialization parameter, or null if the parameter does not
exist
. getInitParameter(String) - Method in class
java
x.
servlet
.Generic
Servlet
Returns a String containing the value of the named initialization parameter, or null if the parameter does not
exist
. getInitParameterNames() - Method in interface
java
x.
servlet
.FilterConfig Returns the names of the filter's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the filter has no initialization parameters. getInitParameterNames() - Method in interface
java
x.
servlet
.
Servlet
Config Returns the names of the
servlet
's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the
servlet
has no initialization parameters. getInitParameterNames() - Method in interface
java
x.
servlet
.
Servlet
Context Returns the names of the context's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the context has no initialization parameters. getInitParameterNames() - Method in class
java
x.
servlet
.Generic
Servlet
Returns the names of the
servlet
's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the
servlet
has no initialization parameters. getInputStream() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getInputStream() on the wrapped request object. getInputStream() - Method in interface
java
x.
servlet
.
Servlet
Request Retrieves the body of the request as binary data using a
Servlet
InputStream. getIntHeader(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the value of the specified request header as an int. getIntHeader(String) - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getIntHeader(String name) on the wrapped request object. getLastAccessedTime() - Method in interface
java
x.
servlet
.http.HttpSession Returns the last time the client sent a request associated with this session, as the number of milliseconds since midnight January 1, 1970 GMT, and marked by the time the container received the request. getLastModified(Http
Servlet
Request) - Method in class
java
x.
servlet
.http.Http
Servlet
Returns the time the Http
Servlet
Request object was last modified, in milliseconds since midnight January 1, 1970 GMT. getLocalAddr() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getLocalAddr() on the wrapped request object. getLocalAddr() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the Internet Protocol (IP) address of the interface on which the request was received. getLocale() - Method in interface
java
x.
servlet
.
Servlet
Response Returns the locale specified for this response using the
Servlet
Response.setLocale(
java
.util.Locale) method. getLocale() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getLocale() on the wrapped request object. getLocale() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the preferred Locale that the client will accept content in, based on the Accept-Language header. getLocale() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return getLocale() on the wrapped response object. getLocales() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getLocales() on the wrapped request object. getLocales() - Method in interface
java
x.
servlet
.
Servlet
Request Returns an Enumeration of Locale objects indicating, in decreasing order starting with the preferred locale, the locales that are acceptable to the client based on the Accept-Language header. getLocalName() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getLocalName() on the wrapped request object. getLocalName() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the host name of the Internet Protocol (IP) interface on which the request was received. getLocalPort() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getLocalPort() on the wrapped request object. getLocalPort() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the Internet Protocol (IP) port number of the interface on which the request was received. getMajorVersion() - Method in interface
java
x.
servlet
.
Servlet
Context Returns the major version of the
Java
Servlet
API that this
servlet
container supports. getMaxAge() - Method in class
java
x.
servlet
.http.Cookie Returns the maximum age of the cookie, specified in seconds, By default, -1 indicating the cookie will persist until browser shutdown. getMaxInactiveInterval() - Method in interface
java
x.
servlet
.http.HttpSession Returns the maximum time interval, in seconds, that the
servlet
container will keep this session open between client accesses. getMethod() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. getMethod() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getMethod() on the wrapped request object. getMimeType(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns the MIME type of the specified file, or null if the MIME type is not known. getMinorVersion() - Method in interface
java
x.
servlet
.
Servlet
Context Returns the minor version of the
Servlet
API that this
servlet
container supports. getName() - Method in class
java
x.
servlet
.
Servlet
ContextAttributeEvent Return the name of the attribute that changed on the
Servlet
Context. getName() - Method in class
java
x.
servlet
.
Servlet
RequestAttributeEvent Return the name of the attribute that changed on the
Servlet
Request getName() - Method in class
java
x.
servlet
.http.HttpSessionBindingEvent Returns the name with which the attribute is bound to or unbound from the session. getName() - Method in class
java
x.
servlet
.http.Cookie Returns the name of the cookie. getNamedDispatcher(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a RequestDispatcher object that acts as a wrapper for the named
servlet
. getOutputStream() - Method in interface
java
x.
servlet
.
Servlet
Response Returns a
Servlet
OutputStream suitable for writing binary data in the response. getOutputStream() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return getOutputStream() on the wrapped response object. getParameter(String) - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getParameter(String name) on the wrapped request object. getParameter(String) - Method in interface
java
x.
servlet
.
Servlet
Request Returns the value of a request parameter as a String, or null if the parameter does not
exist
. getParameterMap() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getParameterMap() on the wrapped request object. getParameterMap() - Method in interface
java
x.
servlet
.
Servlet
Request Returns a
java
.util.Map of the parameters of this request. getParameterNames() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getParameterNames() on the wrapped request object. getParameterNames() - Method in interface
java
x.
servlet
.
Servlet
Request Returns an Enumeration of String objects containing the names of the parameters contained in this request. getParameterValues(String) - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getParameterValues(String name) on the wrapped request object. getParameterValues(String) - Method in interface
java
x.
servlet
.
Servlet
Request Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not
exist
. getPath() - Method in class
java
x.
servlet
.http.Cookie Returns the path on the server to which the browser returns this cookie. getPathInfo() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns any extra path information associated with the URL the client sent when it made this request. getPathInfo() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getPathInfo() on the wrapped request object. getPathTranslated() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns any extra path information after the
servlet
name but before the query string, and translates it to a real path. getPathTranslated() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getPathTranslated() on the wrapped request object. getProtocol() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getProtocol() on the wrapped request object. getProtocol() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the name and version of the protocol the request uses in the form protocol/majorVersion.minorVersion, for example, HTTP/1.1. getQueryString() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the query string that is contained in the request URL after the path. getQueryString() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getQueryString() on the wrapped request object. getReader() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getReader() on the wrapped request object. getReader() - Method in interface
java
x.
servlet
.
Servlet
Request Retrieves the body of the request as character data using a BufferedReader. getRealPath(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a String containing the real path for a given virtual path. getRealPath(String) - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getRealPath(String path) on the wrapped request object. getRealPath(String) - Method in interface
java
x.
servlet
.
Servlet
Request Deprecated. As of Version 2.1 of the
Java
Servlet
API, use
Servlet
Context.getRealPath(
java
.lang.String) instead. getRemoteAddr() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getRemoteAddr() on the wrapped request object. getRemoteAddr() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the Internet Protocol (IP) address of the client or last proxy that sent the request. getRemoteHost() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getRemoteHost() on the wrapped request object. getRemoteHost() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the fully qualified name of the client or the last proxy that sent the request. getRemotePort() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getRemotePort() on the wrapped request object. getRemotePort() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the Internet Protocol (IP) source port of the client or last proxy that sent the request. getRemoteUser() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated. getRemoteUser() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getRemoteUser() on the wrapped request object. getRequest() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper Return the wrapped request object. getRequestDispatcher(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a RequestDispatcher object that acts as a wrapper for the resource located at the given path. getRequestDispatcher(String) - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getRequestDispatcher(String path) on the wrapped request object. getRequestDispatcher(String) - Method in interface
java
x.
servlet
.
Servlet
Request Returns a RequestDispatcher object that acts as a wrapper for the resource located at the given path. getRequestedSessionId() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the session ID specified by the client. getRequestedSessionId() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getRequestedSessionId() on the wrapped request object. getRequestURI() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request. getRequestURI() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getRequestURI() on the wrapped request object. getRequestURL() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Reconstructs the URL the client used to make the request. getRequestURL() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getRequestURL() on the wrapped request object. getRequestURL(Http
Servlet
Request) - Static method in class
java
x.
servlet
.http.HttpUtils Deprecated. Reconstructs the URL the client used to make the request, using information in the Http
Servlet
Request object. getResource(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a URL to the resource that is mapped to a specified path. getResourceAsStream(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns the resource located at the named path as an InputStream object. getResourcePaths(String) - Method in interface
java
x.
servlet
.
Servlet
Context Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path matches the supplied path argument. getResponse() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper Return the wrapped
Servlet
Response object. getRootCause() - Method in class
java
x.
servlet
.
Servlet
Exception Returns the exception that caused this
servlet
exception. getScheme() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getScheme() on the wrapped request object. getScheme() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the name of the scheme used to make this request, for example, http, https, or ftp. getSecure() - Method in class
java
x.
servlet
.http.Cookie Returns true if the browser is sending cookies only over a secure protocol, or false if the browser can send cookies using any protocol. getServerInfo() - Method in interface
java
x.
servlet
.
Servlet
Context Returns the name and version of the
servlet
container on which the
servlet
is running. getServerName() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getServerName() on the wrapped request object. getServerName() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the host name of the server to which the request was sent. getServerPort() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return getServerPort() on the wrapped request object. getServerPort() - Method in interface
java
x.
servlet
.
Servlet
Request Returns the port number to which the request was sent. get
Servlet
() - Method in class
java
x.
servlet
.UnavailableException Deprecated. As of
Java
Servlet
API 2.2, with no replacement. Returns the
servlet
that is reporting its unavailability. get
Servlet
(String) - Method in interface
java
x.
servlet
.
Servlet
Context Deprecated. As of
Java
Servlet
API 2.1, with no direct replacement. This method was originally defined to retrieve a
servlet
from a
Servlet
Context. In this version, this method always returns null and remains only to preserve binary compatibility. This method will be permanently removed in a future version of the
Java
Servlet
API. In lieu of this method,
servlet
s can share information using the
Servlet
Context class and can perform shared business logic by invoking methods on common non-
servlet
classes. get
Servlet
Config() - Method in interface
java
x.
servlet
.
Servlet
Returns a
Servlet
Config object, which contains initialization and startup parameters for this
servlet
. get
Servlet
Config() - Method in class
java
x.
servlet
.Generic
Servlet
Returns this
servlet
's
Servlet
Config object. get
Servlet
Context() - Method in class
java
x.
servlet
.
Servlet
RequestEvent Returns the
Servlet
Context of this web application. get
Servlet
Context() - Method in interface
java
x.
servlet
.FilterConfig Returns a reference to the
Servlet
Context in which the caller is executing. get
Servlet
Context() - Method in interface
java
x.
servlet
.
Servlet
Config Returns a reference to the
Servlet
Context in which the caller is executing. get
Servlet
Context() - Method in class
java
x.
servlet
.
Servlet
ContextEvent Return the
Servlet
Context that changed. get
Servlet
Context() - Method in class
java
x.
servlet
.Generic
Servlet
Returns a reference to the
Servlet
Context in which this
servlet
is running. get
Servlet
Context() - Method in interface
java
x.
servlet
.http.HttpSession Returns the
Servlet
Context to which this session belongs. get
Servlet
ContextName() - Method in interface
java
x.
servlet
.
Servlet
Context Returns the name of this web application corresponding to this
Servlet
Context as specified in the deployment descriptor for this web application by the display-name element. get
Servlet
Info() - Method in interface
java
x.
servlet
.
Servlet
Returns information about the
servlet
, such as author, version, and copyright. get
Servlet
Info() - Method in class
java
x.
servlet
.Generic
Servlet
Returns information about the
servlet
, such as author, version, and copyright. get
Servlet
Name() - Method in interface
java
x.
servlet
.
Servlet
Config Returns the name of this
servlet
instance. get
Servlet
Name() - Method in class
java
x.
servlet
.Generic
Servlet
Returns the name of this
servlet
instance. get
Servlet
Names() - Method in interface
java
x.
servlet
.
Servlet
Context Deprecated. As of
Java
Servlet
API 2.1, with no replacement. This method was originally defined to return an Enumeration of all the
servlet
names known to this context. In this version, this method always returns an empty Enumeration and remains only to preserve binary compatibility. This method will be permanently removed in a future version of the
Java
Servlet
API. get
Servlet
Path() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the part of this request's URL that calls the
servlet
. get
Servlet
Path() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return get
Servlet
Path() on the wrapped request object. get
Servlet
Request() - Method in class
java
x.
servlet
.
Servlet
RequestEvent Returns the
Servlet
Request that is changing. get
Servlet
s() - Method in interface
java
x.
servlet
.
Servlet
Context Deprecated. As of
Java
Servlet
API 2.0, with no replacement. This method was originally defined to return an Enumeration of all the
servlet
s known to this
servlet
context. In this version, this method always returns an empty enumeration and remains only to preserve binary compatibility. This method will be permanently removed in a future version of the
Java
Servlet
API. getSession() - Method in class
java
x.
servlet
.http.HttpSessionEvent Return the session that changed. getSession() - Method in class
java
x.
servlet
.http.HttpSessionBindingEvent Return the session that changed. getSession() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the current session associated with this request, or if the request does not have a session, creates one. getSession() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getSession() on the wrapped request object. getSession(boolean) - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns the current HttpSession associated with this request or, if there is no current session and create is true, returns a new session. getSession(boolean) - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getSession(boolean create) on the wrapped request object. getSession(String) - Method in interface
java
x.
servlet
.http.HttpSessionContext Deprecated. As of
Java
Servlet
API 2.1 with no replacement. This method must return null and will be removed in a future version of this API. getSessionContext() - Method in interface
java
x.
servlet
.http.HttpSession Deprecated. As of Version 2.1, this method is deprecated and has no replacement. It will be removed in a future version of the
Java
Servlet
API. getUnavailableSeconds() - Method in class
java
x.
servlet
.UnavailableException Returns the number of seconds the
servlet
expects to be temporarily unavailable. getUserPrincipal() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns a
java
.security.Principal object containing the name of the current authenticated user. getUserPrincipal() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return getUserPrincipal() on the wrapped request object. getValue() - Method in class
java
x.
servlet
.
Servlet
ContextAttributeEvent Returns the value of the attribute that has been added, removed, or replaced. getValue() - Method in class
java
x.
servlet
.
Servlet
RequestAttributeEvent Returns the value of the attribute that has been added, removed or replaced. getValue() - Method in class
java
x.
servlet
.http.HttpSessionBindingEvent Returns the value of the attribute that has been added, removed or replaced. getValue() - Method in class
java
x.
servlet
.http.Cookie Returns the value of the cookie. getValue(String) - Method in interface
java
x.
servlet
.http.HttpSession Deprecated. As of Version 2.2, this method is replaced by HttpSession.getAttribute(
java
.lang.String). getValueNames() - Method in interface
java
x.
servlet
.http.HttpSession Deprecated. As of Version 2.2, this method is replaced by HttpSession.getAttributeNames() getVersion() - Method in class
java
x.
servlet
.http.Cookie Returns the version of the protocol this cookie complies with. getWriter() - Method in interface
java
x.
servlet
.
Servlet
Response Returns a PrintWriter object that can send character text to the client. getWriter() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return getWriter() on the wrapped response object. -------------------------------------------------------------------------------- H Http
Servlet
- class
java
x.
servlet
.http.Http
Servlet
. Provides an abstract class to be subclassed to create an HTTP
servlet
suitable for a Web site. Http
Servlet
() - Constructor for class
java
x.
servlet
.http.Http
Servlet
Does nothing, because this is an abstract class. Http
Servlet
Request - interface
java
x.
servlet
.http.Http
Servlet
Request. Extends the
Servlet
Request interface to provide request information for HTTP
servlet
s. Http
Servlet
RequestWrapper - class
java
x.
servlet
.http.Http
Servlet
RequestWrapper. Provides a convenient implementation of the Http
Servlet
Request interface that can be subclassed by developers wishing to adapt the request to a
Servlet
. Http
Servlet
RequestWrapper(Http
Servlet
Request) - Constructor for class
java
x.
servlet
.http.Http
Servlet
RequestWrapper Constructs a request object wrapping the given request. Http
Servlet
Response - interface
java
x.
servlet
.http.Http
Servlet
Response. Extends the
Servlet
Response interface to provide HTTP-specific functionality in sending a response. Http
Servlet
ResponseWrapper - class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper. Provides a convenient implementation of the Http
Servlet
Response interface that can be subclassed by developers wishing to adapt the response from a
Servlet
. Http
Servlet
ResponseWrapper(Http
Servlet
Response) - Constructor for class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper Constructs a response adaptor wrapping the given response. HttpSession - interface
java
x.
servlet
.http.HttpSession. Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user. HttpSessionActivationListener - interface
java
x.
servlet
.http.HttpSessionActivationListener. Objects that are bound to a session may listen to container events notifying them that sessions will be passivated and that session will be activated. HttpSessionAttributeListener - interface
java
x.
servlet
.http.HttpSessionAttributeListener. This listener interface can be implemented in order to get notifications of changes to the attribute lists of sessions within this web application. HttpSessionBindingEvent - class
java
x.
servlet
.http.HttpSessionBindingEvent. Events of this type are either sent to an object that implements HttpSessionBindingListener when it is bound or unbound from a session, or to a HttpSessionAttributeListener that has been configured in the deployment descriptor when any attribute is bound, unbound or replaced in a session. HttpSessionBindingEvent(HttpSession, String) - Constructor for class
java
x.
servlet
.http.HttpSessionBindingEvent Constructs an event that notifies an object that it has been bound to or unbound from a session. HttpSessionBindingEvent(HttpSession, String, Object) - Constructor for class
java
x.
servlet
.http.HttpSessionBindingEvent Constructs an event that notifies an object that it has been bound to or unbound from a session. HttpSessionBindingListener - interface
java
x.
servlet
.http.HttpSessionBindingListener. Causes an object to be notified when it is bound to or unbound from a session. HttpSessionContext - interface
java
x.
servlet
.http.HttpSessionContext. Deprecated. As of
Java
(tm)
Servlet
API 2.1 for security reasons, with no replacement. This interface will be removed in a future version of this API. HttpSessionEvent - class
java
x.
servlet
.http.HttpSessionEvent. This is the class representing event notifications for changes to sessions within a web application. HttpSessionEvent(HttpSession) - Constructor for class
java
x.
servlet
.http.HttpSessionEvent Construct a session event from the given source. HttpSessionListener - interface
java
x.
servlet
.http.HttpSessionListener. Implementations of this interface are notified of changes to the list of active sessions in a web application. HttpUtils - class
java
x.
servlet
.http.HttpUtils. Deprecated. As of
Java
(tm)
Servlet
API 2.3. These methods were only useful with the default encoding and have been moved to the request interfaces. HttpUtils() - Constructor for class
java
x.
servlet
.http.HttpUtils Deprecated. Constructs an empty HttpUtils object. -------------------------------------------------------------------------------- I include(
Servlet
Request,
Servlet
Response) - Method in interface
java
x.
servlet
.RequestDispatcher Includes the content of a resource (
servlet
, JSP page, HTML file) in the response. init() - Method in class
java
x.
servlet
.Generic
Servlet
A convenience method which can be overridden so that there's no need to call super.init(config). init(FilterConfig) - Method in interface
java
x.
servlet
.Filter Called by the web container to indicate to a filter that it is being placed into service. init(
Servlet
Config) - Method in interface
java
x.
servlet
.
Servlet
Called by the
servlet
container to indicate to a
servlet
that the
servlet
is being placed into service. init(
Servlet
Config) - Method in class
java
x.
servlet
.Generic
Servlet
Called by the
servlet
container to indicate to a
servlet
that the
servlet
is being placed into service. invalidate() - Method in interface
java
x.
servlet
.http.HttpSession Invalidates this session then unbinds any objects bound to it. isCommitted() - Method in interface
java
x.
servlet
.
Servlet
Response Returns a boolean indicating if the response has been committed. isCommitted() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to return isCommitted() on the wrapped response object. isNew() - Method in interface
java
x.
servlet
.http.HttpSession Returns true if the client does not yet know about the session or if the client chooses not to join the session. isPermanent() - Method in class
java
x.
servlet
.UnavailableException Returns a boolean indicating whether the
servlet
is permanently unavailable. isRequestedSessionIdFromCookie() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Checks whether the requested session ID came in as a cookie. isRequestedSessionIdFromCookie() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return isRequestedSessionIdFromCookie() on the wrapped request object. isRequestedSessionIdFromUrl() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Deprecated. As of Version 2.1 of the
Java
Servlet
API, use Http
Servlet
Request.isRequestedSessionIdFromURL() instead. isRequestedSessionIdFromUrl() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return isRequestedSessionIdFromUrl() on the wrapped request object. isRequestedSessionIdFromURL() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Checks whether the requested session ID came in as part of the request URL. isRequestedSessionIdFromURL() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return isRequestedSessionIdFromURL() on the wrapped request object. isRequestedSessionIdValid() - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Checks whether the requested session ID is still valid. isRequestedSessionIdValid() - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return isRequestedSessionIdValid() on the wrapped request object. isSecure() - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to return isSecure() on the wrapped request object. isSecure() - Method in interface
java
x.
servlet
.
Servlet
Request Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS. isUserInRole(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Request Returns a boolean indicating whether the authenticated user is included in the specified logical "role". isUserInRole(String) - Method in class
java
x.
servlet
.http.Http
Servlet
RequestWrapper The default behavior of this method is to return isUserInRole(String role) on the wrapped request object. -------------------------------------------------------------------------------- J
java
x.
servlet
-
package
java
x.
servlet
This chapter describes the
java
x.
servlet
package
.
java
x.
servlet
.http -
package
java
x.
servlet
.http This chapter describes the
java
x.
servlet
.http
package
. -------------------------------------------------------------------------------- L log(Exception, String) - Method in interface
java
x.
servlet
.
Servlet
Context Deprecated. As of
Java
Servlet
API 2.1, use
Servlet
Context.log(String message, Throwable throwable) instead. This method was originally defined to write an exception's stack trace and an explanatory error message to the
servlet
log file. log(String) - Method in interface
java
x.
servlet
.
Servlet
Context Writes the specified message to a
servlet
log file, usually an event log. log(String) - Method in class
java
x.
servlet
.Generic
Servlet
Writes the specified message to a
servlet
log file, prepended by the
servlet
's name. log(String, Throwable) - Method in interface
java
x.
servlet
.
Servlet
Context Writes an explanatory message and a stack trace for a given Throwable exception to the
servlet
log file. log(String, Throwable) - Method in class
java
x.
servlet
.Generic
Servlet
Writes an explanatory message and a stack trace for a given Throwable exception to the
servlet
log file, prepended by the
servlet
's name. -------------------------------------------------------------------------------- P parsePostData(int,
Servlet
InputStream) - Static method in class
java
x.
servlet
.http.HttpUtils Deprecated. Parses data from an HTML form that the client sends to the server using the HTTP POST method and the application/x-www-form-urlencoded MIME type. parseQueryString(String) - Static method in class
java
x.
servlet
.http.HttpUtils Deprecated. Parses a query string passed from the client to the server and builds a HashTable object with key-value pairs. print(boolean) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a boolean value to the client, with no carriage return-line feed (CRLF) character at the end. print(char) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a character to the client, with no carriage return-line feed (CRLF) at the end. print(double) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a double value to the client, with no carriage return-line feed (CRLF) at the end. print(float) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a float value to the client, with no carriage return-line feed (CRLF) at the end. print(int) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes an int to the client, with no carriage return-line feed (CRLF) at the end. print(long) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a long value to the client, with no carriage return-line feed (CRLF) at the end. print(String) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a String to the client, without a carriage return-line feed (CRLF) character at the end. println() - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a carriage return-line feed (CRLF) to the client. println(boolean) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a boolean value to the client, followed by a carriage return-line feed (CRLF). println(char) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a character to the client, followed by a carriage return-line feed (CRLF). println(double) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a double value to the client, followed by a carriage return-line feed (CRLF). println(float) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a float value to the client, followed by a carriage return-line feed (CRLF). println(int) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes an int to the client, followed by a carriage return-line feed (CRLF) character. println(long) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a long value to the client, followed by a carriage return-line feed (CRLF). println(String) - Method in class
java
x.
servlet
.
Servlet
OutputStream Writes a String to the client, followed by a carriage return-line feed (CRLF). putValue(String, Object) - Method in interface
java
x.
servlet
.http.HttpSession Deprecated. As of Version 2.2, this method is replaced by HttpSession.setAttribute(
java
.lang.String,
java
.lang.Object) -------------------------------------------------------------------------------- R readLine(byte[], int, int) - Method in class
java
x.
servlet
.
Servlet
InputStream Reads the input stream, one line at a time. removeAttribute(String) - Method in interface
java
x.
servlet
.
Servlet
Context Removes the attribute with the given name from the
servlet
context. removeAttribute(String) - Method in class
java
x.
servlet
.
Servlet
RequestWrapper The default behavior of this method is to call removeAttribute(String name) on the wrapped request object. removeAttribute(String) - Method in interface
java
x.
servlet
.
Servlet
Request Removes an attribute from this request. removeAttribute(String) - Method in interface
java
x.
servlet
.http.HttpSession Removes the object bound with the specified name from this session. removeValue(String) - Method in interface
java
x.
servlet
.http.HttpSession Deprecated. As of Version 2.2, this method is replaced by HttpSession.removeAttribute(
java
.lang.String) requestDestroyed(
Servlet
RequestEvent) - Method in interface
java
x.
servlet
.
Servlet
RequestListener The request is about to go out of scope of the web application. RequestDispatcher - interface
java
x.
servlet
.RequestDispatcher. Defines an object that receives requests from the client and sends them to any resource (such as a
servlet
, HTML file, or JSP file) on the server. requestInitialized(
Servlet
RequestEvent) - Method in interface
java
x.
servlet
.
Servlet
RequestListener The request is about to come into scope of the web application. reset() - Method in interface
java
x.
servlet
.
Servlet
Response Clears any data that
exist
s in the buffer as well as the status code and headers. reset() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to call reset() on the wrapped response object. resetBuffer() - Method in interface
java
x.
servlet
.
Servlet
Response Clears the content of the underlying buffer in the response without clearing headers or status code. resetBuffer() - Method in class
java
x.
servlet
.
Servlet
ResponseWrapper The default behavior of this method is to call resetBuffer() on the wrapped response object. -------------------------------------------------------------------------------- S SC_ACCEPTED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (202) indicating that a request was accepted for processing, but was not completed. SC_BAD_GATEWAY - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (502) indicating that the HTTP server received an invalid response from a server it consulted when acting as a proxy or gateway. SC_BAD_REQUEST - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (400) indicating the request sent by the client was syntactically incorrect. SC_CONFLICT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (409) indicating that the request could not be completed due to a conflict with the current state of the resource. SC_CONTINUE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (100) indicating the client can continue. SC_CREATED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (201) indicating the request succeeded and created a new resource on the server. SC_EXPECTATION_FAILED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (417) indicating that the server could not meet the expectation given in the Expect request header. SC_FORBIDDEN - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (403) indicating the server understood the request but refused to fulfill it. SC_FOUND - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (302) indicating that the resource reside temporarily under a different URI. SC_GATEWAY_TIMEOUT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (504) indicating that the server did not receive a timely response from the upstream server while acting as a gateway or proxy. SC_GONE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (410) indicating that the resource is no longer available at the server and no forwarding address is known. SC_HTTP_VERSION_NOT_SUPPORTED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (505) indicating that the server does not support or refuses to support the HTTP protocol version that was used in the request message. SC_INTERNAL_SERVER_ERROR - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (500) indicating an error inside the HTTP server which prevented it from fulfilling the request. SC_LENGTH_REQUIRED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (411) indicating that the request cannot be handled without a defined Content-Length. SC_METHOD_NOT_ALLOWED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (405) indicating that the method specified in the Request-Line is not allowed for the resource identified by the Request-URI. SC_MOVED_PERMANENTLY - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (301) indicating that the resource has permanently moved to a new location, and that future references should use a new URI with their requests. SC_MOVED_TEMPORARILY - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (302) indicating that the resource has temporarily moved to another location, but that future references should still use the original URI to access the resource. SC_MULTIPLE_CHOICES - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (300) indicating that the requested resource corresponds to any one of a set of representations, each with its own specific location. SC_NO_CONTENT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (204) indicating that the request succeeded but that there was no new information to return. SC_NON_AUTHORITATIVE_INFORMATION - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (203) indicating that the meta information presented by the client did not originate from the server. SC_NOT_ACCEPTABLE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (406) indicating that the resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request. SC_NOT_FOUND - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (404) indicating that the requested resource is not available. SC_NOT_IMPLEMENTED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (501) indicating the HTTP server does not support the functionality needed to fulfill the request. SC_NOT_MODIFIED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (304) indicating that a conditional GET operation found that the resource was available and not modified. SC_OK - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (200) indicating the request succeeded normally. SC_PARTIAL_CONTENT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (206) indicating that the server has fulfilled the partial GET request for the resource. SC_PAYMENT_REQUIRED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (402) reserved for future use. SC_PRECONDITION_FAILED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (412) indicating that the precondition given in one or more of the request-header fields evaluated to false when it was tested on the server. SC_PROXY_AUTHENTICATION_REQUIRED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (407) indicating that the client MUST first authenticate itself with the proxy. SC_REQUEST_ENTITY_TOO_LARGE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (413) indicating that the server is refusing to process the request because the request entity is larger than the server is willing or able to process. SC_REQUEST_TIMEOUT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (408) indicating that the client did not produce a request within the time that the server was prepared to wait. SC_REQUEST_URI_TOO_LONG - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (414) indicating that the server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. SC_REQUESTED_RANGE_NOT_SATISFIABLE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (416) indicating that the server cannot serve the requested byte range. SC_RESET_CONTENT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (205) indicating that the agent SHOULD reset the document view which caused the request to be sent. SC_SEE_OTHER - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (303) indicating that the response to the request can be found under a different URI. SC_SERVICE_UNAVAILABLE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (503) indicating that the HTTP server is temporarily overloaded, and unable to handle the request. SC_SWITCHING_PROTOCOLS - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (101) indicating the server is switching protocols according to Upgrade header. SC_TEMPORARY_REDIRECT - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (307) indicating that the requested resource resides temporarily under a different URI. SC_UNAUTHORIZED - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (401) indicating that the request requires HTTP authentication. SC_UNSUPPORTED_MEDIA_TYPE - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (415) indicating that the server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method. SC_USE_PROXY - Static variable in interface
java
x.
servlet
.http.Http
Servlet
Response Status code (305) indicating that the requested resource MUST be accessed through the proxy given by the Location field. sendError(int) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call sendError(int sc) on the wrapped response object. sendError(int) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Sends an error response to the client using the specified status code and clearing the buffer. sendError(int, String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object. sendError(int, String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Sends an error response to the client using the specified status. sendRedirect(String) - Method in class
java
x.
servlet
.http.Http
Servlet
ResponseWrapper The default behavior of this method is to return sendRedirect(String location) on the wrapped response object. sendRedirect(String) - Method in interface
java
x.
servlet
.http.Http
Servlet
Response Sends a temporary redirect response to the client using the specified redirect location URL. service(Http
Servlet
Request, Http
Servlet
Response) - Method in class
java
x.
servlet
.http.Http
Servlet
Receives standard HTTP requests from the public service method and dispatches them to the doXXX methods defined in this class. service(
Servlet
Request,
Servlet
Response) - Method in interfac
Java
邮件开发Fundamentals of the
Java
Mail API
Fundamentals of the
Java
Mail API Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Table of Contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Tutorial tips 2 2. Introducing the
Java
Mail API 3 3. Reviewing related protocols 4 4. Installing
Java
Mail 6 5. Reviewing the core classes 8 6. Using the
Java
Mail API 13 7. Searching with SearchTerm 21 8. Exercises 22 9. Wrapup 32 Fundamentals of the
Java
Mail API Page 1 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 1. Tutorial tips Should I take this tutorial? Looking to incorporate mail facilities into your platform-independent
Java
solutions? Look no further than the
Java
Mail API, which offers a protocol-independent model for working with IMAP, POP, SMTP, MIME, and all those other Internet-related messaging protocols. With the help of the
Java
Beans Activation Framework (JAF), your applications can now be mail-enabled through the
Java
Mail API. Concepts After completing this module you will understand the: * Basics of the Internet mail protocols SMTP, POP3, IMAP, and MIME * Architecture of the
Java
Mail framework * Connections between the
Java
Mail API and the
Java
Beans Activation Framework Objectives By the end of this module you will be able to: * Send and read mail using the
Java
Mail API * Deal with sending and receiving attachments * Work with HTML messages * Use search terms to search for messages Prerequisites Instructions on how to download and install the
Java
Mail API are contained in the course. In addition, you will need a development environment such as the JDK 1.1.6+ or the
Java
2 Platform, Standard Edition (J2SE) 1.2.x or 1.3.x. A general familiarity with object-oriented programming concepts and the
Java
programming language is necessary. The
Java
language essentials tutorial can help. copyright 1996-2000 Magelang Institute dba jGuru Contact jGuru has been dedicated to promoting the growth of the
Java
technology community through evangelism, education, and software since 1995. You can find out more about their activities, including their huge collection of FAQs at jGuru.com . To send feedback to jGuru about this course, send mail to producer@jguru.com . Course author: Formerly with jGuru.com , John Zukowski does strategic
Java
consulting for JZ Ventures, Inc. His latest book is titled
Java
Collections from Apress . Fundamentals of the
Java
Mail API Page 2 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 2. Introducing the
Java
Mail API What is the
Java
Mail API? The
Java
Mail API is an optional
package
(standard extension) for reading, composing, and sending electronic messages. You use the
package
to create Mail User Agent (MUA) type programs, similar to Eudora, pine, and Microsoft Outlook. The API's main purpose is not for transporting, delivering, and forwarding messages; this is the purview of applications such as sendmail and other Mail Transfer Agent (MTA) type programs. MUA-type programs let users read and write e-mail, whereas MUAs rely on MTAs to handle the actual delivery. The
Java
Mail API is designed to provide protocol-independent access for sending and receiving messages by dividing the API into two parts: * The first part of the API is the focus of this course --basically, how to send and receive messages independent of the provider/protocol. * The second part speaks the protocol-specific languages, like SMTP, POP, IMAP, and NNTP. With the
Java
Mail API, in order to communicate with a server, you need a provider for a protocol. The creation of protocol-specific providers is not covered in this course because Sun provides a sufficient set for free. Fundamentals of the
Java
Mail API Page 3 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 3. Reviewing related protocols Introduction Before looking into the
Java
Mail API specifics, let's step back and take a look at the protocols used with the API. There are basically four that you'll come to know and love: * SMTP * POP * IMAP * MIME You will also run across NNTP and some others. Understanding the basics of all the protocols will help you understand how to use the
Java
Mail API. While the API is designed to be protocol agnostic, you can't overcome the limitations of the underlying protocols. If a capability isn't supported by a chosen protocol, the
Java
Mail API doesn't magically add the capability on top of it. (As you'll soon see, this can be a problem when working with POP.) SMTP The Simple Mail Transfer Protocol (SMTP) is defined by RFC 821 . It defines the mechanism for delivery of e-mail. In the context of the
Java
Mail API, your
Java
Mail-based program will communicate with your company or Internet Service Provider's (ISP's) SMTP server. That SMTP server will relay the message on to the SMTP server of the recipient(s) to eventually be acquired by the user(s) through POP or IMAP. This does not require your SMTP server to be an open relay, as authentication is supported, but it is your responsibility to ensure the SMTP server is configured properly. There is nothing in the
Java
Mail API for tasks like configuring a server to relay messages or to add and remove e-mail accounts. POP POP stands for Post Office Protocol. Currently in version 3, also known as POP3, RFC 1939 defines this protocol. POP is the mechanism most people on the Internet use to get their mail. It defines support for a single mailbox for each user. That is all it does, and that is also the source of a lot of confusion. Much of what people are familiar with when using POP, like the ability to see how many new mail messages they have, are not supported by POP at all. These capabilities are built into programs like Eudora or Microsoft Outlook, which remember things like the last mail received and calculate how many are new for you. So, when using the
Java
Mail API, if you want this type of information, you have to calculate it yourself. IMAP IMAP is a more advanced protocol for receiving messages. Defined in RFC 2060 , IMAP stands for Internet Message Access Protocol, and is currently in version 4, also known as IMAP4. When using IMAP, your mail server must support the protocol. You can't just change your program to use IMAP instead of POP and expect everything in IMAP to be supported. Assuming your mail server supports IMAP, your
Java
Mail-based program can take Fundamentals of the
Java
Mail API Page 4 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks advantage of users having multiple folders on the server and these folders can be shared by multiple users. Due to the more advanced capabilities, you might think IMAP would be used by everyone. It isn't. It places a much heavier burden on the mail server, requiring the server to receive the new messages, deliver them to users when requested, and maintain them in multiple folders for each user. While this does centralize backups, as users' long-term mail folders get larger and larger, everyone suffers when disk space is exhausted. With POP, saved messages get offloaded from the mail server. MIME MIME stands for Multipurpose Internet Mail Extensions. It is not a mail transfer protocol. Instead, it defines the content of what is transferred: the format of the messages, attachments, and so on. There are many different documents that take effect here: RFC 822 , RFC 2045 , RFC 2046 , and RFC 2047 . As a user of the
Java
Mail API, you usually don't need to worry about these formats. However, these formats do
exist
and are used by your programs. NNTP and others Because of the split of the
Java
Mail API between provider and everything else, you can easily add support for additional protocols. Sun maintains a list of third-party providers that take advantage of protocols for which Sun does not provide out-of-the-box support. You'll find support for NNTP (Network News Transport Protocol) [newsgroups], S/MIME (Secure Multipurpose Internet Mail Extensions), and more. Fundamentals of the
Java
Mail API Page 5 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 4. Installing
Java
Mail Introduction There are two versions of the
Java
Mail API commonly used today: 1.2 and 1.1.3. All the examples in this course will work with both. While 1.2 is the latest, 1.1.3 is the version included with the 1.2.1 version of the
Java
2 Platform, Enterprise Edition (J2EE), so it is still commonly used. The version of the
Java
Mail API you want to use affects what you download and install. All will work with JDK 1.1.6+,
Java
2 Platform, Standard Edition (J2SE) version 1.2.x, and J2SE version 1.3.x. Note: After installing Sun's
Java
Mail implementation, you can find many example programs in the demo directory. Installing
Java
Mail 1.2 To use the
Java
Mail 1.2 API, download the
Java
Mail 1.2 implementation, unbundle the
java
mail-1_2.zip file, and add the mail.jar file to your CLASSPATH. The 1.2 implementation comes with an SMTP, IMAP4, and POP3 provider besides the core classes. After installing
Java
Mail 1.2, install the
Java
Beans Activation Framework. Installing
Java
Mail 1.1.3 To use the
Java
Mail 1.1.3 API, download the
Java
Mail 1.1.3 implementation, unbundle the
java
mail1_1_3.zip file, and add the mail.jar file to your CLASSPATH. The 1.1.3 implementation comes with an SMTP and IMAP4 provider, besides the core classes. If you want to access a POP server with
Java
Mail 1.1.3, download and install a POP3 provider. Sun has one available separate from the
Java
Mail implementation. After downloading and unbundling pop31_1_1.zip, add pop3.jar to your CLASSPATH, too. After installing
Java
Mail 1.1.3, install the
Java
Beans Activation Framework. Installing the
Java
Beans Activation Framework All versions of the
Java
Mail API require the
Java
Beans Activation Framework. The framework adds support for typing arbitrary blocks of data and handling it accordingly. This doesn't sound like much, but it is your basic MIME-type support found in many browsers and mail tools today. After downloading the framework, unbundle the jaf1_0_1.zip file, and add the activation.jar file to your CLASSPATH. For
Java
Mail 1.2 users, you should now have added mail.jar and activation.jar to your CLASSPATH. For
Java
Mail 1.1.3 users, you should now have added mail.jar, pop3.jar, and activation.jar to your CLASSPATH. If you have no plans of using POP3, you don't Fundamentals of the
Java
Mail API Page 6 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks need to add pop3.jar to your CLASSPATH. If you don't want to change the CLASSPATH environment variable, copy the jar files to your lib/ext directory under the
Java
Runtime Environment (JRE) directory. For instance, for the J2SE 1.3 release, the default directory would be C:\jdk1.3\jre\lib\ext on a Windows platform. Using
Java
Mail with the
Java
2 Enterprise Edition If you use J2EE, there is nothing special you have to do to use the basic
Java
Mail API; it comes with the J2EE classes. Just make sure the j2ee.jar file is in your CLASSPATH and you're all set. For J2EE 1.2.1, the POP3 provider comes separately, so download and follow the steps to include the POP3 provider as shown in the previous section "Installing
Java
Mail 1.1.3." J2EE 1.3 users get the POP3 provider with J2EE so do not require the separate installation. Neither installation requires you to install the
Java
Beans Activation Framework. Exercise Exercise 1. How to set up a
Java
Mail environment on page 22 Fundamentals of the
Java
Mail API Page 7 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 5. Reviewing the core classes Introduction Before taking a how-to approach at looking at the
Java
Mail classes in depth, this section walks you through the core classes that make up the API: Session, Message, Address, Authenticator, Transport, Store, and Folder. All these classes are found in the top-level
package
for the
Java
Mail API,
java
x.mail, though you'll frequently find yourself using subclasses found in the
java
x.mail.internet
package
. Session The Session class defines a basic mail session. It is through this session that everything else works. The Session object takes advantage of a
java
.util.Properties object to get information like mail server, username, password, and other information that can be shared across your entire application. The constructors for the class are private. You can get a single default session that can be shared with the getDefaultInstance() method: Properties props = new Properties(); // fill props with any information Session session = Session.getDefaultInstance(props, null); Or, you can create a unique session with getInstance(): Properties props = new Properties(); // fill props with any information Session session = Session.getDefaultInstance(props, null); In both cases, the null argument is an Authenticator object that is not being used at this time. In most cases, it is sufficient to use the shared session, even if working with mail sessions for multiple user mailboxes. You can add the username and password combination in at a later step in the communication process, keeping everything separate. Message Once you have your Session object, it is time to move on to creating the message to send. This is done with a type of Message . Because Message is an abstract class, you must work with a subclass, in most cases
java
x.mail.internet.MimeMessage .A MimeMessage is an e-mail message that understands MIME types and headers, as defined in the different RFCs. Message headers are restricted to US-ASCII characters only, though non-ASCII characters can be encoded in certain header fields. To create a Message, pass along the Session object to the MimeMessage constructor: MimeMessage message = new MimeMessage(session); Fundamentals of the
Java
Mail API Page 8 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Note: There are other constructors, like for creating messages from RFC822-formatted input streams. Once you have your message, you can set its parts, as Message implements the Part interface (with MimeMessage implementing MimePart ). The basic mechanism to set the content is the setContent() method, with arguments for the content and the mime type: message.setContent("Hello", "text/plain"); If, however, you know you are working with a MimeMessage and your message is plain text, you can use its setText() method, which only requires the actual content, defaulting to the MIME type of text/plain: message.setText("Hello"); For plain text messages, the latter form is the preferred mechanism to set the content. For sending other kinds of messages, like HTML messages, use the former. For setting the subject, use the setSubject() method: message.setSubject("First"); Address Once you've created the Session and the Message, as well as filled the message with content, it is time to address your letter with an Address . Like Message, Address is an abstract class. You use the
java
x.mail.internet.InternetAddress class. To create an address with just the e-mail address, pass the e-mail address to the constructor: Address address = new InternetAddress("president@whitehouse.gov"); If you want a name to appear next to the e-mail address, you can pass that along to the constructor, too: Address address = new InternetAddress("president@whitehouse.gov", "George Bush"); You will need to create address objects for the message's from field as well as the to field. Unless your mail server prevents you, there is nothing stopping you from sending a message that appears to be from anyone. Once you've created the addresses, you connect them to a message in one of two ways. For identifying the sender, you use the setFrom() and setReplyTo() methods. message.setFrom(address) If your message needs to show multiple from addresses, use the addFrom() method: Fundamentals of the
Java
Mail API Page 9 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Address address[] = ...; message.addFrom(address); For identifying the message recipients, you use the addRecipient() method. This method requires a Message.RecipientType besides the address. message.addRecipient(type, address) The three predefined types of address are: * Message.RecipientType.TO * Message.RecipientType.CC * Message.RecipientType.BCC So, if the message was to go to the vice president, sending a carbon copy to the first lady, the following would be appropriate: Address toAddress = new InternetAddress("vice.president@whitehouse.gov"); Address ccAddress = new InternetAddress("first.lady@whitehouse.gov"); message.addRecipient(Message.RecipientType.TO, toAddress); message.addRecipient(Message.RecipientType.CC, ccAddress); The
Java
Mail API provides no mechanism to check for the validity of an e-mail address. While you can program in support to scan for valid characters (as defined by RFC 822) or verify the MX (mail exchange) record yourself, these are all beyond the scope of the
Java
Mail API. Authenticator Like the
java
.net classes, the
Java
Mail API can take advantage of an Authenticator to access protected resources via a username and password. For the
Java
Mail API, that resource is the mail server. The
Java
Mail Authenticator is found in the
java
x.mail
package
and is different from the
java
.net class of the same name. The two don't share the same Authenticator as the
Java
Mail API works with
Java
1.1, which didn't have the
java
.net variety. To use the Authenticator, you subclass the abstract class and return a PasswordAuthentication instance from the getPasswordAuthentication() method. You must register the Authenticator with the session when created. Then, your Authenticator will be notified when authentication is necessary. You could pop up a window or read the username and password from a configuration file (though if not encrypted is not secure), returning them to the caller as a PasswordAuthentication object. Properties props = new Properties(); // fill props with any information Authenticator auth = new MyAuthenticator(); Session session = Session.getDefaultInstance(props, auth); Transport The final part of sending a message is to use the Transport class. This class speaks the Fundamentals of the
Java
Mail API Page 10 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks protocol-specific language for sending the message (usually SMTP). It's an abstract class and works something like Session. You can use the default version of the class by just calling the static send() method: Transport.send(message); Or, you can get a specific instance from the session for your protocol, pass along the username and password (blank if unnecessary), send the message, and close the connection: message.saveChanges(); // implicit with send() Transport transport = session.getTransport("smtp"); transport.connect(host, username, password); transport.sendMessage(message, message.getAllRecipients()); transport.close(); This latter way is best when you need to send multiple messages, as it will keep the connection with the mail server active between messages. The basic send() mechanism makes a separate connection to the server for each method call. Note: To watch the mail commands go by to the mail server, set the debug flag with session.setDebug(true). Store and folder Getting messages starts similarly to sending messages with a Session. However, after getting the session, you connect to a Store , quite possibly with a username and password or Authenticator. Like Transport, you tell the Store what protocol to use: // Store store = session.getStore("imap"); Store store = session.getStore("pop3"); store.connect(host, username, password); After connecting to the Store, you can then get a Folder , which must be opened before you can read messages from it: Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message message[] = folder.getMessages(); For POP3, the only folder available is the INBOX. If you are using IMAP, you can have other folders available. Note: Sun's providers are meant to be smart. While Message message[] = folder.getMessages(); might look like a slow operation reading every message from the server, only when you actually need to get a part of the message is the message content retrieved. Once you have a Message to read, you can get its content with getContent() or write its content to a stream with writeTo(). The getContent() method only gets the message content, while writeTo() output includes headers. Fundamentals of the
Java
Mail API Page 11 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks System.out.println(((MimeMessage)message).getContent()); Once you're done reading mail, close the connection to the folder and store. folder.close(aBoolean); store.close(); The boolean passed to the close() method of folder states whether or not to update the folder by removing deleted messages. Moving on Essentially, understanding how to use these seven classes is all you need for nearly everything with the
Java
Mail API. Most of the other capabilities of the
Java
Mail API build off these seven classes to do something a little different or in a particular way, like if the content is an attachment. Certain tasks, like searching, are isolated and are discussed later. Fundamentals of the
Java
Mail API Page 12 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 6. Using the
Java
Mail API Introduction You've seen how to work with the core parts of the
Java
Mail API. In the following sections you'll find a how-to approach for connecting the pieces to do specific tasks. Sending messages Sending an e-mail message involves getting a session, creating and filling a message, and sending it. You can specify your SMTP server by setting the mail.smtp.host property for the Properties object passed when getting the Session: String host = ...; String from = ...; String to = ...; // Get system properties Properties props = System.getProperties(); // Setup mail server props.put("mail.smtp.host", host); // Get session Session session = Session.getDefaultInstance(props, null); // Define message MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject("Hello
Java
Mail"); message.setText("Welcome to
Java
Mail"); // Send message Transport.send(message); You should place the code in a try-catch block, as setting up the message and sending it can throw exceptions. Exercise: Exercise 2. How to send your first message on page 23 Fetching messages For reading mail, you get a session, get and connect to an appropriate store for your mailbox, open the appropriate folder, and get your messages. Also, don't forget to close the connection when done. String host = ...; String username = ...; String password = ...; // Create empty properties Properties props = new Properties(); // Get session Session session = Session.getDefaultInstance(props, null); Fundamentals of the
Java
Mail API Page 13 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks // Get the store Store store = session.getStore("pop3"); store.connect(host, username, password); // Get folder Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); // Get directory Message message[] = folder.getMessages(); for (int i=0, n=message.length; i
JavaMail API Page 14 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Just because a flag
exist
s doesn't mean the flag is supported by all mail servers or providers. For instance, except for deleting messages, the POP protocol supports none of them. Checking for new mail is not a POP task but a task built into mail clients. To find out what flags are supported, ask the folder with getPermanentFlags(). To delete messages, you set the message's DELETED flag: message.setFlag(Flags.Flag.DELETED, true); Open up the folder in READ_WRITE mode first though: folder.open(Folder.READ_WRITE); Then, when you are done processing all messages, close the folder, passing in a true value to expunge the deleted messages. folder.close(true); There is an expunge() method of Folder that can be used to delete the messages. However, it doesn't work for Sun's POP3 provider. Other providers may or may not implement the capabilities. It will more than likely be implemented for IMAP providers. Because POP only supports single access to the mailbox, you have to close the folder to delete the messages with Sun's provider. To unset a flag, just pass false to the setFlag() method. To see if a flag is set, check it with isSet(). Authenticating yourself You learned that you can use an Authenticator to prompt for username and password when needed, instead of passing them in as strings. Here you'll actually see how to more fully use authentication. Instead of connecting to the Store with the host, username, and password, you configure the Properties to have the host, and tell the Session about your custom Authenticator instance, as shown here: // Setup properties Properties props = System.getProperties(); props.put("mail.pop3.host", host); // Setup authentication, get session Authenticator auth = new PopupAuthenticator(); Session session = Session.getDefaultInstance(props, auth); // Get the store Store store = session.getStore("pop3"); store.connect(); You then subclass Authenticator and return a PasswordAuthentication object from the getPasswordAuthentication() method. The following is one such implementation, with a single field for both. (This isn't a Project Swing tutorial; just enter the two parts in the one field, separated by a comma.) Fundamentals of the
Java
Mail API Page 15 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks import
java
x.mail.*; import
java
x.swing.*; import
java
.util.*; public class PopupAuthenticator extends Authenticator { public PasswordAuthentication getPasswordAuthentication() { String username, password; String result = JOptionPane.showInputDialog( "Enter 'username,password'"); StringTokenizer st = new StringTokenizer(result, ","); username = st.nextToken(); password = st.nextToken(); return new PasswordAuthentication(username, password); } } Because the PopupAuthenticator relies on Swing, it will start up the event-handling thread for AWT. This basically requires you to add a call to System.exit() in your code to stop the program. Replying to messages The Message class includes a reply() method to configure a new Message with the proper recipient and subject, adding "Re: " if not already there. This does not add any content to the message, only copying the from or reply-to header to the new recipient. The method takes a boolean parameter indicating whether to reply to only the sender (false) or reply to all (true). MimeMessage reply = (MimeMessage)message.reply(false); reply.setFrom(new InternetAddress("president@whitehouse.gov")); reply.setText("Thanks"); Transport.send(reply); To configure the reply-to address when sending a message, use the setReplyTo() method. Exercise: Exercise 4. How to reply to mail on page 27 Forwarding messages Forwarding messages is a little more involved. There is no single method to call, and you build up the message to forward by working with the parts that make up a message. A mail message can be made up of multiple parts. Each part is a BodyPart , or more specifically, a MimeBodyPart when working with MIME messages. The different body parts get combined into a container called Multipart or, again, more specifically a MimeMultipart . To forward a message, you create one part for the text of your message and a second part with the message to forward, and combine the two into a multipart. Then you add the multipart to a properly addressed message and send it. That's essentially it. To copy the content from one message to another, just copy over its Fundamentals of the
Java
Mail API Page 16 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks DataHandler , a class from the
Java
Beans Activation Framework. // Create the message to forward Message forward = new MimeMessage(session); // Fill in header forward.setSubject("Fwd: " + message.getSubject()); forward.setFrom(new InternetAddress(from)); forward.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Create your new message part BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText( "Here you go with the original message:\n\n"); // Create a multi-part to combine the parts Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // Create and fill part for the forwarded content messageBodyPart = new MimeBodyPart(); messageBodyPart.setDataHandler(message.getDataHandler()); // Add part to multi part multipart.addBodyPart(messageBodyPart); // Associate multi-part with message forward.setContent(multipart); // Send message Transport.send(forward); Working with attachments Attachments are resources associated with a mail message, usually kept outside of the message like a text file, spreadsheet, or image. As with common mail programs like Eudora and pine, you can attach resources to your mail message with the
Java
Mail API and get those attachments when you receive the message. Sending attachments: Sending attachments is quite like forwarding messages. You build up the parts to make the complete message. After the first part, your message text, you add other parts where the DataHandler for each is your attachment, instead of the shared handler in the case of a forwarded message. If you are reading the attachment from a file, your attachment data source is a FileDataSource . Reading from a URL, it is a URLDataSource . Once you have your DataSource, just pass it on to the DataHandler constructor, before finally attaching it to the BodyPart with setDataHandler(). Assuming you want to retain the original filename for the attachment, the last thing to do is to set the filename associated with the attachment with the setFileName() method of BodyPart. All this is shown here: // Define message Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject("Hello
Java
Mail Attachment"); // Create the message part BodyPart messageBodyPart = new MimeBodyPart(); // Fill the message messageBodyPart.setText("Pardon Ideas"); Fundamentals of the
Java
Mail API Page 17 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // Part two is attachment messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); // Put parts in message message.setContent(multipart); // Send the message Transport.send(message); When including attachments with your messages, if your program is a
servlet
, your users must upload the attachment besides telling you where to send the message. Uploading each file can be handled with a form encoding type of multipart/form-data.
Note: Message size is limited by your SMTP server, not the
Java
Mail API. If you run into problems, consider increasing the
Java
heap size by setting the ms and mx parameters. Exercise: Exercise 5. How to send attachments on page 28 Getting attachments: Getting attachments out of your messages is a little more involved then sending them because MIME has no simple notion of attachments. The content of your message is a Multipart object when it has attachments. You then need to process each Part, to get the main content and the attachment(s). Parts marked with a disposition of Part.ATTACHMENT from part.getDisposition() are clearly attachments. However, attachments can also come across with no disposition (and a non-text MIME type) or a disposition of Part.INLINE. When the disposition is either Part.ATTACHMENT or Part.INLINE, you can save off the content for that message part. Just get the original filename with getFileName() and the input stream with getInputStream(). Multipart mp = (Multipart)message.getContent(); for (int i=0, n=multipart.getCount(); i
exists, a number is added to the end of the filename until one is found that doesn't
exist
. // from saveFile() File file = new File(filename); Fundamentals of the
Java
Mail API Page 18 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks for (int i=0; file.
exist
s(); i++) { file = new File(filename+i); } The code above covers the simplest case where message parts are flagged appropriately. To cover all cases, handle when the disposition is null and get the MIME type of the part to handle accordingly. if (disposition == null) { // Check if plain MimeBodyPart mbp = (MimeBodyPart)part; if (mbp.isMimeType("text/plain")) { // Handle plain } else { // Special non-attachment cases here of image/gif, text/html, ... } ... } Processing HTML messages Sending HTML-based messages can be a little more work than sending plain text message, though it doesn't have to be that much more work. It all depends on your specific requirements. Sending HTML messages: If all you need to do is send the equivalent of an HTML file as the message and let the mail reader worry about fetching any embedded images or related pieces, use the setContent() method of Message, passing along the content as a String and setting the content type to text/html. String htmlText = "
Hello
" + "
"; message.setContent(htmlText, "text/html")); On the receiving end, if you fetch the message with the
Java
Mail API, there is nothing built into the API to display the message as HTML. The
Java
Mail API only sees it as a stream of bytes. To display the message as HTML, you must either use the Swing JEditorPane or some third-party HTML viewer component. if (message.getContentType().equals("text/html")) { String content = (String)message.getContent(); JFrame frame = new JFrame(); JEditorPane text = new JEditorPane("text/html", content); text.setEditable(false); JScrollPane pane = new JScrollPane(text); frame.getContentPane().add(pane); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.show(); } Including images with your messages: On the other hand, if you want your HTML content message to be complete, with embedded images included as part of the message, you must treat the image as an attachment and reference the image with a special cid URL, where the cid is a reference to the Content-ID header of the image attachment. The process of embedding an image is quite similar to attaching a file to a message, the only Fundamentals of the
Java
Mail API Page 19 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks difference is you have to tell the MimeMultipart that the parts are related by setting its subtype in the constructor (or with setSubType()) and set the Content-ID header for the image to a random string which is used as the src for the image in the img tag. The following demonstrates this completely. String file = ...; // Create the message Message message = new MimeMessage(session); // Fill its headers message.setSubject("Embedded Image"); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Create your new message part BodyPart messageBodyPart = new MimeBodyPart(); String htmlText = "
Hello
" + "
"; messageBodyPart.setContent(htmlText, "text/html"); // Create a related multi-part to combine the parts MimeMultipart multipart = new MimeMultipart("related"); multipart.addBodyPart(messageBodyPart); // Create part for the image messageBodyPart = new MimeBodyPart(); // Fetch the image and associate to part DataSource fds = new FileDataSource(file); messageBodyPart.setDataHandler(new DataHandler(fds)); messageBodyPart.setHeader("Content-ID","memememe"); // Add part to multi-part multipart.addBodyPart(messageBodyPart); // Associate multi-part with message message.setContent(multipart); Exercise: Exercise 6. How to send HTML messages with images on page 29 Fundamentals of the
Java
Mail API Page 20 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 7. Searching with SearchTerm Introduction The
Java
Mail API includes a filtering mechanism found in the
java
x.mail.search
package
to build up a SearchTerm . Once built, you then ask a Folder what messages match, retrieving an array of Message objects: SearchTerm st = ...; Message[] msgs = folder.search(st); There are 22 different classes available to help you build a search term. * AND terms (class AndTerm) * OR terms (class OrTerm) * NOT terms (class NotTerm) * SENT DATE terms (class SentDateTerm) * CONTENT terms (class BodyTerm) * HEADER terms (FromTerm / FromStringTerm, RecipientTerm / RecipientStringTerm, SubjectTerm, etc..) Essentially, you build up a logical expression for matching messages, then search. For instance the following term searches for messages with a (partial) subject string of ADV or a from field of friend@public.com. You might consider periodically running this query and automatically deleting any messages returned. SearchTerm st = new OrTerm( new SubjectTerm("ADV:"), new FromStringTerm("friend@public.com")); Message[] msgs = folder.search(st); Fundamentals of the
Java
Mail API Page 21 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 8. Exercises About the exercises These exercises are designed to provide help according to your needs. For example, you might simply complete the exercise given the information and the task list in the exercise body; you might want a few hints; or you may want a step-by-step guide to successfully complete a particular exercise. You can use as much or as little help as you need per exercise. Moreover, because complete solutions are also provided, you can skip a few exercises and still be able to complete future exercises requiring the skipped ones. Each exercise has a list of any prerequisite exercises, a list of skeleton code for you to start with, links to necessary API pages, and a text description of the exercise goal. In addition, there is help for each task and a solutions page with links to files that comprise a solution to the exercise. Exercise 1. How to set up a
Java
Mail environment In this exercise you will install Sun's
Java
Mail reference implementation. After installing, you will be introduced to the demonstration programs that come with the reference implementation. Task 1: Download the latest version of the
Java
Mail API implementation from Sun. Task 2: Download the latest version of the
Java
Beans Activation Framework from Sun. Task 3: Unzip the downloaded
package
s. You get a ZIP file for all platforms for both
package
s. Help for task 3: You can use the jar tool to unzip the
package
s. Task 4: Add the mail.jar file from the
Java
Mail 1.2 download and the activation.jar file from the
Java
Beans Activation Framework download to your CLASSPATH. Help for task 4: Copy the files to your extension library directory. For Microsoft Windows, using the default installation copy, the command might look like the following: cd \
java
mail-1.2 copy mail.jar \jdk1.3\jre\lib\ext cd \jaf-1.0.1 copy activation.jar \jdk1.3\jre\lib\ext If you don't like copying the files to the extension library directory, detailed instructions are available from Sun for setting your CLASSPATH on Windows NT. Task 5: Go into the demo directory that comes with the
Java
Mail API implementation and compile the msgsend program to send a test message. Help for task 5:
java
c msgsend.
java
Fundamentals of the
Java
Mail API Page 22 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Task 6: Execute the program passing in a from address with the -o option, your SMTP server with the -M option, and the to address (with no option). You'll then enter the subject, the text of your message, and the end-of-file character (CTRL-Z) to signal the end of the message input. Help for task 6: Be sure to replace the from address, SMTP server, and to address.
java
msgsend -o from@address -M SMTP.Server to@address If you are not sure of your SMTP server, contact your system administrator or check with your Internet Service Provider. Task 7: Check to make sure you received the message with your normal mail reader (Eudora, Outlook Express, pine, ...). Exercise 1. How to set up a
Java
Mail environment: Solution Upon successful completion, the
Java
Mail reference implementation will be in your CLASSPATH. Exercise 2. How to send your first message In the last exercise you sent a mail message using the demonstration program provided with the
Java
Mail implementation. In this exercise, you'll create the program yourself. For more help with exercises, see About the exercises on page 22 . Prerequisites: * Exercise 1. How to set up a
Java
Mail environment on page 22 Skeleton code: * MailExample.
java
Task 1: Starting with the skeleton code , get the system Properties. Help for task 1: Properties props = System.getProperties(); Task 2: Add the name of your SMTP server to the properties for the mail.smtp.host key. Fundamentals of the
Java
Mail API Page 23 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Help for task 2: props.put("mail.smtp.host", host); Task 3: Get a Session object based on the Properties. Help for task 3: Session session = Session.getDefaultInstance(props, null); Task 4: Create a MimeMessage from the session. Help for task 4: MimeMessage message = new MimeMessage(session); Task 5: Set the from field of the message. Help for task 5: message.setFrom(new InternetAddress(from)); Task 6: Set the to field of the message. Help for task 6: message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); Task 7: Set the subject of the message. Help for task 7: message.setSubject("Hello
Java
Mail"); Task 8: Set the content of the message. Help for task 8: message.setText("Welcome to
Java
Mail"); Task 9: Use a Transport to send the message. Help for task 9: Transport.send(message); Task 10: Compile and run the program, passing your SMTP server, from address, and to address on the command line. Fundamentals of the
Java
Mail API Page 24 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Help for task 10:
java
MailExample SMTP.Server from@address to@address Task 11: Check to make sure you received the message with your normal mail reader (Eudora, Outlook Express, pine, ...). Exercise 2. How to send your first message: Solution The following
Java
source file represents a solution to this exercise: * Solution/MailExample.
java
Exercise 3. How to check for mail In this exercise, create a program that displays the from address and subject for each message and prompts to display the message content. For more help with exercises, see About the exercises on page 22 . Prerequisites: * Exercise 1. How to set up a
Java
Mail environment on page 22 Skeleton Code * GetMessageExample.
java
Task 1: Starting with the skeleton code , get or create a Properties object. Help for task 1: Properties props = new Properties(); Task 2: Get a Session object based on the Properties. Help for task 2: Session session = Session.getDefaultInstance(props, null); Task 3: Get a Store for your e-mail protocol, either pop3 or imap. Help for task 3: Store store = session.getStore("pop3"); Task 4: Connect to your mail host's store with the appropriate username and password. Fundamentals of the
Java
Mail API Page 25 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Help for task 4: store.connect(host, username, password); Task 5: Get the folder you want to read. More than likely, this will be the INBOX. Help for task 5: Folder folder = store.getFolder("INBOX"); Task 6: Open the folder read-only. Help for task 6: folder.open(Folder.READ_ONLY); Task 7: Get a directory of the messages in the folder. Save the message list in an array variable named message. Help for task 7: Message message[] = folder.getMessages(); Task 8: For each message, display the from field and the subject. Help for task 8: System.out.println(i + ": " + message[i].getFrom()[0] + "\t" + message[i].getSubject()); Task 9: Display the message content when prompted. Help for task 9: System.out.println(message[i].getContent()); Task 10: Close the connection to the folder and store. Help for task 10: folder.close(false); store.close(); Task 11: Compile and run the program, passing your mail server, username, and password on the command line. Answer YES to the messages you want to read. Just hit ENTER if you don't. If you want to stop reading your mail before making your way through all the messages, enter QUIT. Help for task 11:
java
GetMessageExample POP.Server username password Fundamentals of the
Java
Mail API Page 26 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Exercise 3. How to check for mail: Solution The following
Java
source file represents a solution to this exercise. * Solution/GetMessageExample.
java
Exercise 4. How to reply to mail In this exercise, create a program that creates a canned reply message and attaches the original message if it's plain text. For more help with exercises, see About the exercises on page 22 . Prerequisites: * Exercise 3. How to check for mail on page 25 Skeleton Code: * ReplyExample.
java
Task 1: The skeleton code already includes the code to get the list of messages from the folder and prompt you to create a reply. Task 2: When answered affirmatively, create a new MimeMessage from the original message. Help for task 2: MimeMessage reply = (MimeMessage)message[i].reply(false); Task 3: Set the from field to your e-mail address. Task 4: Create the text for the reply. Include a canned message to start. When the original message is plain text, add each line of the original message, prefix each line with the "> " characters. Help for task 4: To check for plain text messages, check the messages MIME type with mimeMessage.isMimeType("text/plain"). Task 5: Set the message's content, once the message content is fully determined. Task 6: Send the message. Task 7: Compile and run the program, passing your mail server, SMTP server, username, password, and from address on the command line. Answer YES to the messages you want to send replies. Just hit ENTER if you don't. If you want to stop going through your mail before Fundamentals of the
Java
Mail API Page 27 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks making your way through all the messages, enter QUIT. Help for task 7:
java
ReplyExample POP.Server SMTP.Server username password from@address Task 8: Check to make sure you received the message with your normal mail reader (Eudora, Outlook Express, pine, ...). Exercise 4. How to reply to mail: Solution The following
Java
source file represents a solution to this exercise. * Solution/ReplyExample.
java
Exercise 5. How to send attachments In this exercise, create a program that sends a message with an attachment. For more help with exercises, see About the exercises on page 22 . Prerequisites: * Exercise 2. How to send your first message on page 23 Skeleton Code: * AttachExample.
java
Task 1: The skeleton code already includes the code to get the initial mail session. Task 2: From the session, get a Message and set its header fields: to, from, and subject. Task 3: Create a BodyPart for the main message content and fill its content with the text of the message. Help for task 3: BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("Here's the file"); Task 4: Create a Multipart to combine the main content with the attachment. Add the main content to the multipart. Help for task 4: Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); Fundamentals of the
Java
Mail API Page 28 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Task 5: Create a second BodyPart for the attachment. Task 6: Get the attachment as a DataSource. Help for task 6: DataSource source = new FileDataSource(filename); Task 7: Set the DataHandler for the message part to the data source. Carry the original filename along. Help for task 7: messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); Task 8: Add the second part of the message to the multipart. Task 9: Set the content of the message to the multipart. Help for task 9: message.setContent(multipart); Task 10: Send the message. Task 11: Compile and run the program, passing your SMTP server, from address, to address, and filename on the command line. This will send the file as an attachment. Help for task 11:
java
AttachExample SMTP.Server from@address to@address filename Task 12: Check to make sure you received the message with your normal mail reader (Eudora, Outlook Express, pine, ...). Exercise 5. How to send attachments: Solution The following
Java
source file represents a solution to this exercise. * Solution/AttachExample.
java
Exercise 6. How to send HTML messages with images In this exercise, create a program that sends an HTML message with an image attachment where the image is displayed within the HTML message. Fundamentals of the
Java
Mail API Page 29 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks For more help with exercises, see About the exercises on page 22 . Prerequisites: * Exercise 5. How to send attachments on page 28 Skeleton code: * logo.gif * HtmlImageExample.
java
Task 1: The skeleton code already includes the code to get the initial mail session, create the main message, and fill its headers (to, from, subject). Task 2: Create a BodyPart for the HTML message content. Task 3: Create a text string of the HTML content. Include a reference in the HTML to an image (
) that is local to the mail message. Help for task 3: Use a cid URL. The content-id will need to be specified for the image later. String htmlText = "
Hello
" + "
"; Task 4: Set the content of the message part. Be sure to specify the MIME type is text/html. Help for task 4: messageBodyPart.setContent(htmlText, "text/html"); Task 5: Create a Multipart to combine the main content with the attachment. Be sure to specify that the parts are related. Add the main content to the multipart. Help for task 5: MimeMultipart multipart = new MimeMultipart("related"); multipart.addBodyPart(messageBodyPart); Task 6: Create a second BodyPart for the attachment. Task 7: Get the attachment as a DataSource, and set the DataHandler for the message part to the data source. Task 8: Set the Content-ID header for the part to match the image reference specified in the HTML. Help for task 8: messageBodyPart.setHeader("Content-ID","memememe"); Task 9: Add the second part of the message to the multipart, and set the content of the Fundamentals of the
Java
Mail API Page 30 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks message to the multipart. Task 10: Send the message. Task 11: Compile and run the program, passing your SMTP server, from address, to address, and filename on the command line. This will send the images as an inline image within the HTML text. Help for task 11:
java
HtmlImageExample SMTP.Server from@address to@address filename Task 12: Check if your mail reader recognizes the message as HTML and displays the image within the message, instead of as a link to an external attachment file. Help for task 12: If your mail reader can't display HTML messages, consider sending the message to a friend. Exercise 6. How to send HTML messages with images: Solution The following
Java
source files represent a solution to this exercise. * Solution/logo.gif * Solution/HtmlImageExample.
java
Fundamentals of the
Java
Mail API Page 31 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Section 9. Wrapup In summary The
Java
Mail API is a
Java
package
used for reading, composing, and sending e-mail messages and their attachments. It lets you build standards-based e-mail clients that employ various Internet mail protocols, including SMTP, POP, IMAP, and MIME, as well as related protocols such as NNTP, S/MIME, and others. The API divides naturally into two parts. The first focuses on sending, receiving, and managing messages independent of the protocol used, whereas the second focuses on specific use of the protocols. The purpose of this tutorial was to show how to use the first part of the API, without attempting to deal with protocol providers. The core
Java
Mail API consists of seven classes --Session, Message, Address, Authenticator, Transport, Store, and Folder --all of which are found in
java
x.mail, the top-level
package
for the
Java
Mail API. We used these classes to work through a number of common e-mail-related tasks, including sending messages, retrieving messages, deleting messages, authenticating, replying to messages, forwarding messages, managing attachments, processing HTML-based messages, and searching or filtering mail lists. Finally, we provided a number of step-by-step exercises to help illustrate the concepts presented. Hopefully, this will help you add e-mail functionality to your platform-independent
Java
applications. Resources You can do much more with the
Java
Mail API than what's found here. The lessons and exercises found here can be supplemented by the following resources: * Download the
Java
Mail 1.2 API from the
Java
Mail API home page . * The
Java
Beans Activation Framework is required for versions 1.2 and 1.1.3 of the
Java
Mail API. * The
Java
Mail-interest mailing list is a Sun-hosted discussion forum for developers. * Sun's
Java
Mail FAQ addresses the use of
Java
Mail in applets and
servlet
s, as well as prototol-specific questions. * Tutorial author John Zukowski maintains jGuru's
Java
Mail FAQ . * Want to see how others are using
Java
Mail? Check out Sun's list of third-party products. * If you want more detail about
Java
Mail, read Rick Grehan's "How
Java
Mail keeps it simple" (Lotus Developer Network, June 2000). * Benoit Marchal shows how to use
Java
and XML to produce plain text and HTML newsletters in this two-part series, "Managing e-zines with
Java
Mail and XSLT" Part 1 (developerWorks, March 2001) and Part 2 (developerWorks, April 2001). * "Linking Applications with E-mail" (Lotus Developer Network, May 2000) discusses how groupware can facilitate communication, collaboration, and coordination among applications. Fundamentals of the
Java
Mail API Page 32 Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Feedback Please let us know whether this tutorial was helpful to you and how we could make it better. We'd also like to hear about other tutorial topics you'd like to see covered. Thanks! For questions about the content of this tutorial, contact the author John Zukowski ( jaz@zukowski.net ) Colophon This tutorial was written entirely in XML, using the developerWorks Toot-O-Matic tutorial generator. The Toot-O-Matic tool is a short
Java
program that uses XSLT stylesheets to convert the XML source into a number of HTML pages, a zip file, JPEG heading graphics, and PDF files. Our ability to generate multiple text and binary formats from a single source file illustrates the power and flexibility of XML. Fundamentals of the
Java
Mail API Page 33
基于Web的酒店客房管理系统的设计与实现+论文+开题
import
java
x.
servlet
.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; ...
package
java
x.
servlet
does not
exist
[size=medium]我的具备条件http://localhost :8080已经成功! 但在测试程序时有
package
java
x.
servlet
does not
exist
import
java
x.
servlet
.*;
package
java
x.
servlet
.http does not
exist
import
java
x.
servlet
.http.*; 解决...
tomcat7解决
package
java
x.
servlet
does not
exist
的问题
tomcat7版本,CMD下编译
java
c HelloWorld.
java
时,
弹出错误
package
java
x.
servlet
does not
exist
解决办法。
假设tomcat解压到目录C:/tomcat-7.0.12,那么C:/tomcat-7.0.12/lib下面一定有
servlet
-api.jar 。
环境变量classpath追加C:/tomcat-7.0.12/lib/
servlet
-api.jar
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章