Author: markt
Date: Tue Jun 26 20:26:39 2012
New Revision: 1354208
URL: http://svn.apache.org/viewvc?rev=1354208&view=rev
Log:
Revert r1354200. As much as I'd like to be able to unilaterally change the JSP
API, I can't.
Modified:
tomcat/trunk/java/javax/servlet/jsp/PageContext.java
tomcat/trunk/java/org/apache/jasper/runtime/JspContextWrapper.java
tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java
tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java
Modified: tomcat/trunk/java/javax/servlet/jsp/PageContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/PageContext.java?rev=1354208&r1=1354207&r2=1354208&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/PageContext.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/PageContext.java Tue Jun 26 20:26:39
2012
@@ -216,6 +216,7 @@ public abstract class PageContext
* @param autoFlush The value of the autoflush attribute from the page
* directive
*
+ * @throws IOException during creation of JspWriter
* @throws IllegalStateException if out not correctly initialized
* @throws IllegalArgumentException If one of the given parameters
* is invalid
@@ -224,7 +225,7 @@ public abstract class PageContext
public abstract void initialize(Servlet servlet, ServletRequest request,
ServletResponse response, String errorPageURL, boolean needsSession,
int bufferSize, boolean autoFlush)
- throws IllegalStateException, IllegalArgumentException;
+ throws IOException, IllegalStateException, IllegalArgumentException;
/**
* <p>
Modified: tomcat/trunk/java/org/apache/jasper/runtime/JspContextWrapper.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspContextWrapper.java?rev=1354208&r1=1354207&r2=1354208&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/runtime/JspContextWrapper.java
(original)
+++ tomcat/trunk/java/org/apache/jasper/runtime/JspContextWrapper.java Tue Jun
26 20:26:39 2012
@@ -97,7 +97,7 @@ public class JspContextWrapper extends P
public void initialize(Servlet servlet, ServletRequest request,
ServletResponse response, String errorPageURL,
boolean needsSession, int bufferSize, boolean autoFlush)
- throws IllegalStateException, IllegalArgumentException {
+ throws IOException, IllegalStateException,
IllegalArgumentException {
}
@Override
Modified: tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java?rev=1354208&r1=1354207&r2=1354208&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java (original)
+++ tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java Tue Jun 26
20:26:39 2012
@@ -29,6 +29,7 @@ import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;
import org.apache.jasper.Constants;
+import org.apache.jasper.util.ExceptionUtils;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -93,24 +94,32 @@ public class JspFactoryImpl extends JspF
private PageContext internalGetPageContext(Servlet servlet, ServletRequest
request,
ServletResponse response, String errorPageURL, boolean
needsSession,
int bufferSize, boolean autoflush) {
-
- PageContext pc;
- if (USE_POOL) {
- PageContextPool pool = localPool.get();
- if (pool == null) {
- pool = new PageContextPool();
- localPool.set(pool);
- }
- pc = pool.get();
- if (pc == null) {
+ try {
+ PageContext pc;
+ if (USE_POOL) {
+ PageContextPool pool = localPool.get();
+ if (pool == null) {
+ pool = new PageContextPool();
+ localPool.set(pool);
+ }
+ pc = pool.get();
+ if (pc == null) {
+ pc = new PageContextImpl();
+ }
+ } else {
pc = new PageContextImpl();
}
- } else {
- pc = new PageContextImpl();
+ pc.initialize(servlet, request, response, errorPageURL,
+ needsSession, bufferSize, autoflush);
+ return pc;
+ } catch (Throwable ex) {
+ ExceptionUtils.handleThrowable(ex);
+ if (ex instanceof RuntimeException) {
+ throw (RuntimeException) ex;
+ }
+ log.fatal("Exception initializing page context", ex);
+ return null;
}
- pc.initialize(servlet, request, response, errorPageURL,
- needsSession, bufferSize, autoflush);
- return pc;
}
private void internalReleasePageContext(PageContext pc) {
Modified: tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java?rev=1354208&r1=1354207&r2=1354208&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java (original)
+++ tomcat/trunk/java/org/apache/jasper/runtime/PageContextImpl.java Tue Jun 26
20:26:39 2012
@@ -119,6 +119,15 @@ public class PageContextImpl extends Pag
@Override
public void initialize(Servlet servlet, ServletRequest request,
ServletResponse response, String errorPageURL,
+ boolean needsSession, int bufferSize, boolean autoFlush)
+ throws IOException {
+
+ _initialize(servlet, request, response, errorPageURL, needsSession,
+ bufferSize, autoFlush);
+ }
+
+ private void _initialize(Servlet servlet, ServletRequest request,
+ ServletResponse response, String errorPageURL,
boolean needsSession, int bufferSize, boolean autoFlush) {
// initialize state
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]