<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Deprecated List</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Deprecated List";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#interface">Deprecated Interfaces</a></li>
<li><a href="#class">Deprecated Classes</a></li>
<li><a href="#exception">Deprecated Exceptions</a></li>
<li><a href="#annotation.type">Deprecated Annotation Types</a></li>
<li><a href="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
<li><a href="#annotation.type.member">Deprecated Annotation Type Elements</a></li>
</ul>
</div>
<div class="contentContainer"><a name="interface">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Interfaces table, listing deprecated interfaces, and an explanation">
<caption><span>Deprecated Interfaces</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Interface and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">javax.servlet.jsp.el.FunctionMapper</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>javax.el.FunctionMapper</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/resource/spi/security/GenericCredential.html" title="interface in javax.resource.spi.security">javax.resource.spi.security.GenericCredential</a>
<div class="block"><span class="deprecationComment">The preferred way to represent generic credential information 
  is via the <code>org.ietf.jgss.GSSCredential</code> interface in 
  J2SE Version 1.4, which provides similar functionality.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">javax.servlet.http.HttpSessionContext</a>
<div class="block"><span class="deprecationComment">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.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet">javax.servlet.SingleThreadModel</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.4, with no direct
        replacement.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html" title="interface in javax.xml.bind">javax.xml.bind.Validator</a>
<div class="block"><span class="deprecationComment">since JAXB 2.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">javax.servlet.jsp.el.VariableResolver</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>javax.el.ELResolver</code></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.Expression</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>javax.el.ValueExpression</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.ExpressionEvaluator</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>javax.el.ExpressionFactory</code></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">javax.servlet.http.HttpUtils</a>
<div class="block"><span class="deprecationComment">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.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/soap/SOAPElementFactory.html" title="class in javax.xml.soap">javax.xml.soap.SOAPElementFactory</a>
<div class="block"><span class="deprecationComment">- Use <code>javax.xml.soap.SOAPFactory</code> for creating SOAPElements.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="exception">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Exceptions table, listing deprecated exceptions, and an explanation">
<caption><span>Deprecated Exceptions</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Exceptions and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.ELException</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>javax.el.ELException</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.ELParseException</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>javax.el.ELException</code></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="annotation.type">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Annotation Types table, listing deprecated annotation types, and an explanation">
<caption><span>Deprecated Annotation Types</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Annotation Type and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/jws/soap/InitParam.html" title="annotation in javax.jws.soap">javax.jws.soap.InitParam</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/jws/soap/SOAPMessageHandler.html" title="annotation in javax.jws.soap">javax.jws.soap.SOAPMessageHandler</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/jws/soap/SOAPMessageHandlers.html" title="annotation in javax.jws.soap">javax.jws.soap.SOAPMessageHandlers</a>
<div class="block"><span class="deprecationComment">As of JSR-181 2.0 with no replacement.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG">javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_TAG</a>
<div class="block"><span class="deprecationComment">As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED or IterationTag.EVAL_BODY_AGAIN.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/persistence/Persistence.html#PERSISTENCE_PROVIDER">javax.persistence.Persistence.PERSISTENCE_PROVIDER</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/persistence/Persistence.html#providers">javax.persistence.Persistence.providers</a>&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/xml/soap/SOAPElementFactory.html#create-javax.xml.soap.Name-">javax.xml.soap.SOAPElementFactory.create(Name)</a>
<div class="block"><span class="deprecationComment">Use
 javax.xml.soap.SOAPFactory.createElement(javax.xml.soap.Name)
 instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/soap/SOAPElementFactory.html#create-java.lang.String-">javax.xml.soap.SOAPElementFactory.create(String)</a>
<div class="block"><span class="deprecationComment">Use
 javax.xml.soap.SOAPFactory.createElement(String localName) instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/xml/soap/SOAPElementFactory.html#create-java.lang.String-java.lang.String-java.lang.String-">javax.xml.soap.SOAPElementFactory.create(String, String, String)</a>
<div class="block"><span class="deprecationComment">Use
 javax.xml.soap.SOAPFactory.createElement(String localName,
                      String prefix,
                      String uri)
 instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/bind/JAXBContext.html#createValidator--">javax.xml.bind.JAXBContext.createValidator()</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletResponse.html#encodeRedirectUrl-java.lang.String-">javax.servlet.http.HttpServletResponse.encodeRedirectUrl(String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, use 
                        encodeRedirectURL(String url) instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletResponseWrapper.html#encodeRedirectUrl-java.lang.String-">javax.servlet.http.HttpServletResponseWrapper.encodeRedirectUrl(String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, use 
 <a href="javax/servlet/http/HttpServletResponseWrapper.html#encodeRedirectURL-java.lang.String-"><code>HttpServletResponseWrapper.encodeRedirectURL(String url)</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletResponse.html#encodeUrl-java.lang.String-">javax.servlet.http.HttpServletResponse.encodeUrl(String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, use encodeURL(String url) instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletResponseWrapper.html#encodeUrl-java.lang.String-">javax.servlet.http.HttpServletResponseWrapper.encodeUrl(String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, use <a href="javax/servlet/http/HttpServletResponseWrapper.html#encodeURL-java.lang.String-"><code>HttpServletResponseWrapper.encodeURL(String url)</code></a>
 instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/ejb/EJBContext.html#getCallerIdentity--">javax.ejb.EJBContext.getCallerIdentity()</a>
<div class="block"><span class="deprecationComment">Use Principal getCallerPrincipal() instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/ejb/EJBContext.html#getEnvironment--">javax.ejb.EJBContext.getEnvironment()</a>
<div class="block"><span class="deprecationComment">Use the JNDI naming context java:comp/env to access
    enterprise bean's environment.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html#getEventHandler--">javax.xml.bind.Validator.getEventHandler()</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/jsp/JspContext.html#getExpressionEvaluator--">javax.servlet.jsp.JspContext.getExpressionEvaluator()</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <a href="javax/servlet/jsp/JspApplicationContext.html#getExpressionFactory--"><code>JspApplicationContext.getExpressionFactory()</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpSessionContext.html#getIds--">javax.servlet.http.HttpSessionContext.getIds()</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.1 with
                        no replacement. This method must return 
                        an empty <code>Enumeration</code> and will be removed
                        in a future version of this API.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/resource/ResourceException.html#getLinkedException--">javax.resource.ResourceException.getLinkedException()</a>
<div class="block"><span class="deprecationComment">J2SE release 1.4 supports a chained exception facility 
 that allows any throwable to know about another throwable, if any,
 that caused it to get thrown. Refer to <code>getCause</code> and 
 <code>initCause</code> methods of the 
 <code>java.lang.Throwable</code> class..</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/resource/cci/ResourceWarning.html#getLinkedWarning--">javax.resource.cci.ResourceWarning.getLinkedWarning()</a>
<div class="block"><span class="deprecationComment">J2SE release 1.4 supports a chained exception facility 
 that allows any throwable to know about another throwable, if any,
 that caused it to get thrown. Refer to <code>getCause</code> and 
 <code>initCause</code> methods of the 
 <code>java.lang.Throwable</code> class.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html#getProperty-java.lang.String-">javax.xml.bind.Validator.getProperty(String)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/ServletRequest.html#getRealPath-java.lang.String-">javax.servlet.ServletRequest.getRealPath(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.1 of the Java Servlet API,
    use <a href="javax/servlet/ServletContext.html#getRealPath-java.lang.String-"><code>ServletContext.getRealPath(java.lang.String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/ServletRequestWrapper.html#getRealPath-java.lang.String-">javax.servlet.ServletRequestWrapper.getRealPath(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.1 of the Java Servlet API,
 use <a href="javax/servlet/ServletContext.html#getRealPath-java.lang.String-"><code>ServletContext.getRealPath(java.lang.String)</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/jsp/JspException.html#getRootCause--">javax.servlet.jsp.JspException.getRootCause()</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>Throwable.getCause()</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/UnavailableException.html#getServlet--">javax.servlet.UnavailableException.getServlet()</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.2, with no replacement.

 Returns the servlet that is reporting its unavailability.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/ServletContext.html#getServlet-java.lang.String-">javax.servlet.ServletContext.getServlet(String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.1, with no direct replacement.

 <p>This method was originally defined to retrieve a servlet
 from a <code>ServletContext</code>. In this version, this method
 always returns <code>null</code> and remains only to preserve
 binary compatibility. This method will be permanently removed
 in a future version of the Java Servlet API.

 <p>In lieu of this method, servlets can share information using the
 <code>ServletContext</code> class and can perform shared business logic
 by invoking methods on common non-servlet classes.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/ServletContext.html#getServletNames--">javax.servlet.ServletContext.getServletNames()</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.1, with no replacement.

 <p>This method was originally defined to return an
 <code>Enumeration</code>
 of all the servlet names known to this context. In this version,
 this method always returns an empty <code>Enumeration</code> and
 remains only to preserve binary compatibility. This method will
 be permanently removed in a future version of the Java Servlet API.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/ServletContext.html#getServlets--">javax.servlet.ServletContext.getServlets()</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.0, with no replacement.

 <p>This method was originally defined to return an
 <code>Enumeration</code> of all the servlets 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.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpSessionContext.html#getSession-java.lang.String-">javax.servlet.http.HttpSessionContext.getSession(String)</a>
<div class="block"><span class="deprecationComment">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.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpSession.html#getSessionContext--">javax.servlet.http.HttpSession.getSessionContext()</a>
<div class="block"><span class="deprecationComment">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.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpSession.html#getValue-java.lang.String-">javax.servlet.http.HttpSession.getValue(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is
                        replaced by <a href="javax/servlet/http/HttpSession.html#getAttribute-java.lang.String-"><code>HttpSession.getAttribute(java.lang.String)</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpSession.html#getValueNames--">javax.servlet.http.HttpSession.getValueNames()</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is
                        replaced by <a href="javax/servlet/http/HttpSession.html#getAttributeNames--"><code>HttpSession.getAttributeNames()</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/jsp/JspContext.html#getVariableResolver--">javax.servlet.jsp.JspContext.getVariableResolver()</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>ELContext#getELResolver</code>, which can be obtained by
             <code>jspContext.getELContext().getELResolver()</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/ejb/EJBContext.html#isCallerInRole-java.security.Identity-">javax.ejb.EJBContext.isCallerInRole(Identity)</a>
<div class="block"><span class="deprecationComment">Use boolean isCallerInRole(String roleName) instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromUrl--">javax.servlet.http.HttpServletRequestWrapper.isRequestedSessionIdFromUrl()</a>
<div class="block"><span class="deprecationComment">As of Version 4.0 of the Java Servlet API,
              use <a href="javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromURL--"><code>HttpServletRequestWrapper.isRequestedSessionIdFromURL()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromUrl--">javax.servlet.http.HttpServletRequest.isRequestedSessionIdFromUrl()</a>
<div class="block"><span class="deprecationComment">As of Version 2.1 of the Java Servlet
                                API, use <a href="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL--"><code>HttpServletRequest.isRequestedSessionIdFromURL()</code></a>
                                instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/bind/Unmarshaller.html#isValidating--">javax.xml.bind.Unmarshaller.isValidating()</a>
<div class="block"><span class="deprecationComment">since JAXB2.0, please see <a href="javax/xml/bind/Unmarshaller.html#getSchema--"><code>Unmarshaller.getSchema()</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/ServletContext.html#log-java.lang.Exception-java.lang.String-">javax.servlet.ServletContext.log(Exception, String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.1, use
                        <a href="javax/servlet/ServletContext.html#log-java.lang.String-java.lang.Throwable-"><code>ServletContext.log(String message, Throwable throwable)</code></a>
                        instead.

 <p>This method was originally defined to write an
 exception's stack trace and an explanatory error message
 to the servlet log file.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpSession.html#putValue-java.lang.String-java.lang.Object-">javax.servlet.http.HttpSession.putValue(String, Object)</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is
                        replaced by <a href="javax/servlet/http/HttpSession.html#setAttribute-java.lang.String-java.lang.Object-"><code>HttpSession.setAttribute(java.lang.String, java.lang.Object)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpSession.html#removeValue-java.lang.String-">javax.servlet.http.HttpSession.removeValue(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is
                        replaced by <a href="javax/servlet/http/HttpSession.html#removeAttribute-java.lang.String-"><code>HttpSession.removeAttribute(java.lang.String)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html#setEventHandler-javax.xml.bind.ValidationEventHandler-">javax.xml.bind.Validator.setEventHandler(ValidationEventHandler)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/resource/ResourceException.html#setLinkedException-java.lang.Exception-">javax.resource.ResourceException.setLinkedException(Exception)</a>
<div class="block"><span class="deprecationComment">J2SE release 1.4 supports a chained exception facility 
 that allows any throwable to know about another throwable, if any,
 that caused it to get thrown. Refer to <code>getCause</code> and 
 <code>initCause</code> methods of the 
 <code>java.lang.Throwable</code> class.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/resource/cci/ResourceWarning.html#setLinkedWarning-javax.resource.cci.ResourceWarning-">javax.resource.cci.ResourceWarning.setLinkedWarning(ResourceWarning)</a>
<div class="block"><span class="deprecationComment">J2SE release 1.4 supports a chained exception facility 
 that allows any throwable to know about another throwable, if any,
 that caused it to get thrown. Refer to <code>getCause</code> and 
 <code>initCause</code> methods of the 
 <code>java.lang.Throwable</code> class.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html#setProperty-java.lang.String-java.lang.Object-">javax.xml.bind.Validator.setProperty(String, Object)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletResponse.html#setStatus-int-java.lang.String-">javax.servlet.http.HttpServletResponse.setStatus(int, String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, due to ambiguous meaning of the 
 message parameter. To set a status code 
 use <code>setStatus(int)</code>, to send an error with a description
 use <code>sendError(int, String)</code>.

 Sets the status code and message for this response.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/http/HttpServletResponseWrapper.html#setStatus-int-java.lang.String-">javax.servlet.http.HttpServletResponseWrapper.setStatus(int, String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, due to ambiguous meaning of the 
 message parameter. To set a status code 
 use <a href="javax/servlet/http/HttpServletResponseWrapper.html#setStatus-int-"><code>HttpServletResponseWrapper.setStatus(int)</code></a>, to send an error with a description
 use <a href="javax/servlet/http/HttpServletResponseWrapper.html#sendError-int-java.lang.String-"><code>HttpServletResponseWrapper.sendError(int, String)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/bind/Unmarshaller.html#setValidating-boolean-">javax.xml.bind.Unmarshaller.setValidating(boolean)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0, please see <a href="javax/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-"><code>Unmarshaller.setSchema(javax.xml.validation.Schema)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html#validate-java.lang.Object-">javax.xml.bind.Validator.validate(Object)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/xml/bind/Validator.html#validateRoot-java.lang.Object-">javax.xml.bind.Validator.validateRoot(Object)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/servlet/UnavailableException.html#UnavailableException-int-javax.servlet.Servlet-java.lang.String-">javax.servlet.UnavailableException(int, Servlet, String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.2, use <a href="javax/servlet/UnavailableException.html#UnavailableException-java.lang.String-int-"><code>UnavailableException.UnavailableException(String, int)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="javax/servlet/UnavailableException.html#UnavailableException-javax.servlet.Servlet-java.lang.String-">javax.servlet.UnavailableException(Servlet, String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.2, use <a href="javax/servlet/UnavailableException.html#UnavailableException-java.lang.String-"><code>UnavailableException.UnavailableException(String)</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="annotation.type.member">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Annotation Type Elements table, listing deprecated annotation type elements, and an explanation">
<caption><span>Deprecated Annotation Type Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Annotation Type Element and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="javax/jws/HandlerChain.html#name--">javax.jws.HandlerChain.name</a>
<div class="block"><span class="deprecationComment">As of JSR-181 2.0 with no replacement.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
