<!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>

<link rel="shortcut icon" href="/img/jakarta-favicon.ico">
</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="jakarta/servlet/jsp/el/FunctionMapper.html" title="interface in jakarta.servlet.jsp.el">jakarta.servlet.jsp.el.FunctionMapper</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>jakarta.el.FunctionMapper</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/resource/spi/security/GenericCredential.html" title="interface in jakarta.resource.spi.security">jakarta.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="jakarta/servlet/http/HttpSessionContext.html" title="interface in jakarta.servlet.http">jakarta.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="jakarta/servlet/SingleThreadModel.html" title="interface in jakarta.servlet">jakarta.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="jakarta/xml/bind/Validator.html" title="interface in jakarta.xml.bind">jakarta.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="jakarta/servlet/jsp/el/VariableResolver.html" title="interface in jakarta.servlet.jsp.el">jakarta.servlet.jsp.el.VariableResolver</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>jakarta.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="jakarta/servlet/jsp/el/Expression.html" title="class in jakarta.servlet.jsp.el">jakarta.servlet.jsp.el.Expression</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>jakarta.el.ValueExpression</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/jsp/el/ExpressionEvaluator.html" title="class in jakarta.servlet.jsp.el">jakarta.servlet.jsp.el.ExpressionEvaluator</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>jakarta.el.ExpressionFactory</code></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpUtils.html" title="class in jakarta.servlet.http">jakarta.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="jakarta/xml/soap/SOAPElementFactory.html" title="class in jakarta.xml.soap">jakarta.xml.soap.SOAPElementFactory</a>
<div class="block"><span class="deprecationComment">- Use <code>jakarta.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="jakarta/servlet/jsp/el/ELException.html" title="class in jakarta.servlet.jsp.el">jakarta.servlet.jsp.el.ELException</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>jakarta.el.ELException</code></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/jsp/el/ELParseException.html" title="class in jakarta.servlet.jsp.el">jakarta.servlet.jsp.el.ELParseException</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <code>jakarta.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="jakarta/jws/soap/InitParam.html" title="annotation in jakarta.jws.soap">jakarta.jws.soap.InitParam</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/jws/soap/SOAPMessageHandler.html" title="annotation in jakarta.jws.soap">jakarta.jws.soap.SOAPMessageHandler</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/jws/soap/SOAPMessageHandlers.html" title="annotation in jakarta.jws.soap">jakarta.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="jakarta/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG">jakarta.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="jakarta/persistence/Persistence.html#PERSISTENCE_PROVIDER">jakarta.persistence.Persistence.PERSISTENCE_PROVIDER</a>
<div class="block"><span class="deprecationComment">TODO: Either change TCK reference to PERSISTENCE_PROVIDER field to expect 
 "jakarta.persistence.spi.PersistenceProvider" or remove PERSISTENCE_PROVIDER field and also update TCK signature 
 tests.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/persistence/Persistence.html#providers">jakarta.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="jakarta/xml/soap/SOAPElementFactory.html#create-jakarta.xml.soap.Name-">jakarta.xml.soap.SOAPElementFactory.create(Name)</a>
<div class="block"><span class="deprecationComment">Use
 jakarta.xml.soap.SOAPFactory.createElement(jakarta.xml.soap.Name)
 instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/xml/soap/SOAPElementFactory.html#create-java.lang.String-">jakarta.xml.soap.SOAPElementFactory.create(String)</a>
<div class="block"><span class="deprecationComment">Use
 jakarta.xml.soap.SOAPFactory.createElement(String localName) instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/xml/soap/SOAPElementFactory.html#create-java.lang.String-java.lang.String-java.lang.String-">jakarta.xml.soap.SOAPElementFactory.create(String, String, String)</a>
<div class="block"><span class="deprecationComment">Use
 jakarta.xml.soap.SOAPFactory.createElement(String localName,
                      String prefix,
                      String uri)
 instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/xml/bind/JAXBContext.html#createValidator--">jakarta.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="jakarta/servlet/http/HttpServletResponseWrapper.html#encodeRedirectUrl-java.lang.String-">jakarta.servlet.http.HttpServletResponseWrapper.encodeRedirectUrl(String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, use <a href="jakarta/servlet/http/HttpServletResponseWrapper.html#encodeRedirectURL-java.lang.String-"><code>HttpServletResponseWrapper.encodeRedirectURL(String url)</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpServletResponse.html#encodeRedirectUrl-java.lang.String-">jakarta.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="altColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpServletResponseWrapper.html#encodeUrl-java.lang.String-">jakarta.servlet.http.HttpServletResponseWrapper.encodeUrl(String)</a>
<div class="block"><span class="deprecationComment">As of version 2.1, use <a href="jakarta/servlet/http/HttpServletResponseWrapper.html#encodeURL-java.lang.String-"><code>HttpServletResponseWrapper.encodeURL(String url)</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpServletResponse.html#encodeUrl-java.lang.String-">jakarta.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="altColor">
<td class="colOne"><a href="jakarta/xml/bind/Validator.html#getEventHandler--">jakarta.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="jakarta/servlet/jsp/JspContext.html#getExpressionEvaluator--">jakarta.servlet.jsp.JspContext.getExpressionEvaluator()</a>
<div class="block"><span class="deprecationComment">As of JSP 2.1, replaced by <a href="jakarta/servlet/jsp/JspApplicationContext.html#getExpressionFactory--"><code>JspApplicationContext.getExpressionFactory()</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpSessionContext.html#getIds--">jakarta.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="jakarta/resource/ResourceException.html#getLinkedException--">jakarta.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="jakarta/resource/cci/ResourceWarning.html#getLinkedWarning--">jakarta.resource.cci.ResourceWarning.getLinkedWarning()</a>
<div class="block"><span class="deprecationComment">Java&trade; 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="jakarta/xml/bind/Validator.html#getProperty-java.lang.String-">jakarta.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="jakarta/servlet/ServletRequest.html#getRealPath-java.lang.String-">jakarta.servlet.ServletRequest.getRealPath(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.1 of the Java Servlet API, use <a href="jakarta/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="jakarta/servlet/ServletRequestWrapper.html#getRealPath-java.lang.String-">jakarta.servlet.ServletRequestWrapper.getRealPath(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.1 of the Java Servlet API, use <a href="jakarta/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="jakarta/servlet/jsp/JspException.html#getRootCause--">jakarta.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="jakarta/servlet/UnavailableException.html#getServlet--">jakarta.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="jakarta/servlet/ServletContext.html#getServlet-java.lang.String-">jakarta.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 Jakarta Servlets.

 <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="jakarta/servlet/ServletContext.html#getServletNames--">jakarta.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 Jakarta Servlets.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/servlet/ServletContext.html#getServlets--">jakarta.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 Jakarta Servlets.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpSessionContext.html#getSession-java.lang.String-">jakarta.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="jakarta/servlet/http/HttpSession.html#getSessionContext--">jakarta.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 Jakarta Servlets.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpSession.html#getValue-java.lang.String-">jakarta.servlet.http.HttpSession.getValue(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is replaced by <a href="jakarta/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="jakarta/servlet/http/HttpSession.html#getValueNames--">jakarta.servlet.http.HttpSession.getValueNames()</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is replaced by <a href="jakarta/servlet/http/HttpSession.html#getAttributeNames--"><code>HttpSession.getAttributeNames()</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/jsp/JspContext.html#getVariableResolver--">jakarta.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="jakarta/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromUrl--">jakarta.servlet.http.HttpServletRequestWrapper.isRequestedSessionIdFromUrl()</a>
<div class="block"><span class="deprecationComment">As of Version 4.0 of the Java Servlet API, use <a href="jakarta/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromURL--"><code>HttpServletRequestWrapper.isRequestedSessionIdFromURL()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromUrl--">jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromUrl()</a>
<div class="block"><span class="deprecationComment">As of Version 2.1 of the Java Servlet API, use <a href="jakarta/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL--"><code>HttpServletRequest.isRequestedSessionIdFromURL()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/xml/bind/Unmarshaller.html#isValidating--">jakarta.xml.bind.Unmarshaller.isValidating()</a>
<div class="block"><span class="deprecationComment">since JAXB2.0, please see <a href="jakarta/xml/bind/Unmarshaller.html#getSchema--"><code>Unmarshaller.getSchema()</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/servlet/ServletContext.html#log-java.lang.Exception-java.lang.String-">jakarta.servlet.ServletContext.log(Exception, String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.1, use <a href="jakarta/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="altColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpSession.html#putValue-java.lang.String-java.lang.Object-">jakarta.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="jakarta/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="rowColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpSession.html#removeValue-java.lang.String-">jakarta.servlet.http.HttpSession.removeValue(String)</a>
<div class="block"><span class="deprecationComment">As of Version 2.2, this method is replaced by <a href="jakarta/servlet/http/HttpSession.html#removeAttribute-java.lang.String-"><code>HttpSession.removeAttribute(java.lang.String)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/xml/bind/Validator.html#setEventHandler-jakarta.xml.bind.ValidationEventHandler-">jakarta.xml.bind.Validator.setEventHandler(ValidationEventHandler)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/resource/ResourceException.html#setLinkedException-java.lang.Exception-">jakarta.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="altColor">
<td class="colOne"><a href="jakarta/resource/cci/ResourceWarning.html#setLinkedWarning-jakarta.resource.cci.ResourceWarning-">jakarta.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="rowColor">
<td class="colOne"><a href="jakarta/xml/bind/Validator.html#setProperty-java.lang.String-java.lang.Object-">jakarta.xml.bind.Validator.setProperty(String, Object)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/servlet/http/HttpServletResponseWrapper.html#setStatus-int-java.lang.String-">jakarta.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="jakarta/servlet/http/HttpServletResponseWrapper.html#setStatus-int-"><code>HttpServletResponseWrapper.setStatus(int)</code></a>, to send an error with a description use <a href="jakarta/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="jakarta/servlet/http/HttpServletResponse.html#setStatus-int-java.lang.String-">jakarta.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="jakarta/xml/bind/Unmarshaller.html#setValidating-boolean-">jakarta.xml.bind.Unmarshaller.setValidating(boolean)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0, please see <a href="jakarta/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-"><code>Unmarshaller.setSchema(javax.xml.validation.Schema)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/ws/rs/core/NewCookie.html#toString--">jakarta.ws.rs.core.NewCookie.toString()</a>
<div class="block"><span class="deprecationComment">The format of the toString() method is subject to change in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class).toString(value) instead if you rely on the format
 of this method.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/ws/rs/core/EntityTag.html#toString--">jakarta.ws.rs.core.EntityTag.toString()</a>
<div class="block"><span class="deprecationComment">The format of the toString() method is subject to change in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(EntityTag.class).toString(value) instead if you rely on the format
 of this method.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/ws/rs/core/Cookie.html#toString--">jakarta.ws.rs.core.Cookie.toString()</a>
<div class="block"><span class="deprecationComment">The format of the toString() method is subject to change in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(Cookie.class).toString(value) instead if you rely on the format of
 this method.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/ws/rs/core/CacheControl.html#toString--">jakarta.ws.rs.core.CacheControl.toString()</a>
<div class="block"><span class="deprecationComment">The format of the toString() method is subject to change in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(CacheControl.class).toString(value) instead if you rely on the
 format of this method.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/xml/bind/Validator.html#validate-java.lang.Object-">jakarta.xml.bind.Validator.validate(Object)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/xml/bind/Validator.html#validateRoot-java.lang.Object-">jakarta.xml.bind.Validator.validateRoot(Object)</a>
<div class="block"><span class="deprecationComment">since JAXB2.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/ws/rs/core/NewCookie.html#valueOf-java.lang.String-">jakarta.ws.rs.core.NewCookie.valueOf(String)</a>
<div class="block"><span class="deprecationComment">This method will be removed in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class).fromString(value) instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/ws/rs/core/EntityTag.html#valueOf-java.lang.String-">jakarta.ws.rs.core.EntityTag.valueOf(String)</a>
<div class="block"><span class="deprecationComment">This method will be removed in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(EntityTag.class).fromString(value) instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="jakarta/ws/rs/core/Cookie.html#valueOf-java.lang.String-">jakarta.ws.rs.core.Cookie.valueOf(String)</a>
<div class="block"><span class="deprecationComment">This method will be removed in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(Cookie.class).fromString(value) instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="jakarta/ws/rs/core/CacheControl.html#valueOf-java.lang.String-">jakarta.ws.rs.core.CacheControl.valueOf(String)</a>
<div class="block"><span class="deprecationComment">This method will be removed in a future version. Please use
 RuntimeDelegate.getInstance().createHeaderDelegate(CacheControl.class).fromString(value) instead.</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="jakarta/servlet/UnavailableException.html#UnavailableException-int-jakarta.servlet.Servlet-java.lang.String-">jakarta.servlet.UnavailableException(int, Servlet, String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.2, use <a href="jakarta/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="jakarta/servlet/UnavailableException.html#UnavailableException-jakarta.servlet.Servlet-java.lang.String-">jakarta.servlet.UnavailableException(Servlet, String)</a>
<div class="block"><span class="deprecationComment">As of Java Servlet API 2.2, use <a href="jakarta/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="jakarta/jws/HandlerChain.html#name--">jakarta.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>
