<!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="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/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="rowColor">
<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="altColor">
<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="rowColor">
<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="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">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="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 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="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 Jakarta Servlets.</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
             Jakarta Servlets.</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 Jakarta Servlets.</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/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="rowColor">
<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="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<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="altColor">
<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="rowColor">
<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="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/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/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="rowColor">
<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="altColor">
<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>
