Update to newer 3.1 api jar published by oracle (3.1-b08 - note DOES NOT contain xsds and dtds).
diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml
index 79618bb..6defdb5 100644
--- a/examples/async-rest/async-rest-jar/pom.xml
+++ b/examples/async-rest/async-rest-jar/pom.xml
@@ -23,7 +23,7 @@
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
-       <version>3.1-b01</version>
+       <version>3.1-b08</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml
index 866339d..0cb4940 100644
--- a/examples/async-rest/async-rest-webapp/pom.xml
+++ b/examples/async-rest/async-rest-webapp/pom.xml
@@ -27,7 +27,7 @@
       <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
-         <version>3.1-b01</version>
+         <version>3.1-b08</version>
          <scope>provided</scope>
        </dependency>
   </dependencies>
diff --git a/jetty-jsp/pom.xml b/jetty-jsp/pom.xml
index 5fc0eb2..b010b81 100644
--- a/jetty-jsp/pom.xml
+++ b/jetty-jsp/pom.xml
@@ -96,5 +96,10 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+       <groupId>javax.servlet</groupId>
+       <artifactId>javax.servlet-api</artifactId>
+       <version>3.1-b08</version>
+    </dependency>
   </dependencies>
 </project>
diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml
index bcf9990..cf27138 100644
--- a/jetty-osgi/pom.xml
+++ b/jetty-osgi/pom.xml
@@ -25,7 +25,9 @@
     <module>jetty-osgi-httpservice</module>
     <module>test-jetty-osgi-webapp</module>
     <module>test-jetty-osgi-context</module>
+<!--
     <module>test-jetty-osgi</module>
+-->
   </modules>
   <build>
     <resources>
diff --git a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DeferredAuthentication.java b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DeferredAuthentication.java
index 422a40c..1dedf0f 100644
--- a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DeferredAuthentication.java
+++ b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DeferredAuthentication.java
@@ -359,27 +359,33 @@
     /* ------------------------------------------------------------ */
     private static ServletOutputStream __nullOut = new ServletOutputStream()
     {
+        @Override
         public void write(int b) throws IOException
         {
         }
-
+        
+        @Override
         public void print(String s) throws IOException
         {
         }
-
+        
+        @Override
         public void println(String s) throws IOException
         {
         }
 
-        public boolean canWrite()
-        {
-            return false;
-        }
-
+     
+        @Override
         public void setWriteListener(WriteListener writeListener)
         {
             
         }
+
+        @Override
+        public boolean isReady()
+        {
+            return false;
+        }
     };
 
 
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java
index 951c234..6673538 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java
@@ -347,20 +347,14 @@
             BufferUtil.clear(_aggregate);
     }
 
-    @Override
-    public boolean canWrite()
-    {
-        // TODO implement behaviour
-        // return true if data can be written without blocking
-        return false;
-    }
+  
 
     @Override
     public void setWriteListener(WriteListener writeListener)
     {
         _writeListener = writeListener;
         
-        // TODO implement behaviour
+        // TODO 3.1 implement behaviour
         /*
         Registering a WriteListener will start non-blocking IO. It is illegal to switch to
         the traditional blocking IO at that point.
@@ -370,7 +364,15 @@
         called AND has returned false AND a writeListener has previously been
         set. 
          */
-    
+    }
 
+    /** 
+     * @see javax.servlet.ServletOutputStream#isReady()
+     */
+    @Override
+    public boolean isReady()
+    {
+        // TODO 3.1 Auto-generated method stub
+        return false;
     }
 }
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
index 4218daf..e8af1be 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
@@ -56,8 +56,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpUpgradeHandler;
 import javax.servlet.http.Part;
-import javax.servlet.http.ProtocolHandler;
 
 import org.eclipse.jetty.http.HttpCookie;
 import org.eclipse.jetty.http.HttpFields;
@@ -2203,10 +2203,14 @@
     }
 
 
-    /* ------------------------------------------------------------ */
+   
+    /** 
+     * @see javax.servlet.http.HttpServletRequest#upgrade(java.lang.Class)
+     */
     @Override
-    public void upgrade(ProtocolHandler arg0) throws IOException
+    public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException
     {
-        // TODO Auto-generated method stub       
+        // TODO Auto-generated method stub
+        return null;
     }
 }
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/ServletRequestHttpWrapper.java b/jetty-server/src/main/java/org/eclipse/jetty/server/ServletRequestHttpWrapper.java
index ea6396f..b0c6270 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/ServletRequestHttpWrapper.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/ServletRequestHttpWrapper.java
@@ -31,8 +31,9 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpUpgradeHandler;
 import javax.servlet.http.Part;
-import javax.servlet.http.ProtocolHandler;
+
 
 /* ------------------------------------------------------------ */
 /** 
@@ -212,12 +213,25 @@
 
     }
 
-    
+
+    /** 
+     * @see javax.servlet.http.HttpServletRequest#changeSessionId()
+     */
     @Override
-    public void upgrade(ProtocolHandler handler) throws IOException
+    public String changeSessionId()
     {
-        // TODO Auto-generated method stub
-        
+        // TODO 3.1 Auto-generated method stub
+        return null;
+    }
+
+    /** 
+     * @see javax.servlet.http.HttpServletRequest#upgrade(java.lang.Class)
+     */
+    @Override
+    public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException
+    {
+        // TODO 3.1 Auto-generated method stub
+        return null;
     }
 
 
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
index 3d5fad4..6d913fb 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
@@ -2525,6 +2525,16 @@
         {
             LOG.warn(__unimplmented);
         }
+
+        /** 
+         * @see javax.servlet.ServletContext#getVirtualServerName()
+         */
+        @Override
+        public String getVirtualServerName()
+        {
+            // TODO 3.1 Auto-generated method stub
+            return null;
+        }
     }
     
     
diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java
index 60456a5..45d504a 100644
--- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java
+++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java
@@ -353,18 +353,19 @@
     }
 
     @Override
-    public boolean canWrite()
-    {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
     public void setWriteListener(WriteListener writeListener)
     {
-        // TODO Auto-generated method stub
+        // TODO 3.1 Auto-generated method stub
         
     }
+    
+
+    @Override
+    public boolean isReady()
+    {
+        // TODO 3.1 Auto-generated method stub
+        return false;
+    }
 
     /**
      * Create the stream fitting to the underlying compression type.
diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java b/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java
index 68901e3..c81d183 100644
--- a/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java
+++ b/jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java
@@ -217,6 +217,16 @@
            }
         }
 
+        
+        /** 
+         * @see javax.servlet.http.Part#getSubmittedFileName()
+         */
+        @Override
+        public String getSubmittedFileName()
+        {
+            return getContentDispositionFilename();
+        }
+
         public byte[] getBytes()
         {
             if (_bout!=null)
diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml
index 826b5cc..abe6ee6 100644
--- a/jetty-websocket/websocket-servlet/pom.xml
+++ b/jetty-websocket/websocket-servlet/pom.xml
@@ -23,7 +23,7 @@
         <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
-         <version>3.1-b01</version>
+         <version>3.1-b08</version>
         </dependency>
 
 <!--
diff --git a/pom.xml b/pom.xml
index 0ffd760..91afeb5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -465,7 +465,7 @@
       <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
-         <version>3.1-b01</version>
+         <version>3.1-b08</version>
 <!--
          <groupId>org.eclipse.jetty.orbit</groupId>
          <artifactId>javax.servlet</artifactId>
diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml
index 8bc98f2..010dd00 100644
--- a/tests/test-webapps/test-mock-resources/pom.xml
+++ b/tests/test-webapps/test-mock-resources/pom.xml
@@ -30,7 +30,7 @@
     <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
-         <version>3.1-b01</version>
+         <version>3.1-b08</version>
     </dependency>
 
 <!--
diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml
index 42d5057..9aaf34d 100644
--- a/tests/test-webapps/test-proxy-webapp/pom.xml
+++ b/tests/test-webapps/test-proxy-webapp/pom.xml
@@ -49,7 +49,7 @@
     <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
-       <version>3.1-b01</version>
+       <version>3.1-b08</version>
        <scope>provided</scope>
     </dependency>
 
diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
index 13ea272..fe27436 100644
--- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
+++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
@@ -24,7 +24,7 @@
     <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
-       <version>3.1-b01</version>
+       <version>3.1-b08</version>
        <scope>provided</scope>
     </dependency>
 
diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
index 44ac6d8..3ae3cc3 100644
--- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
+++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
@@ -138,7 +138,7 @@
     <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
-       <version>3.1-b01</version>
+       <version>3.1-b08</version>
        <scope>provided</scope>
     </dependency>
 
diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
index e04bb17..3206a0b 100644
--- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
+++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
@@ -25,7 +25,7 @@
       <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
-         <version>3.1-b01</version>
+         <version>3.1-b08</version>
       </dependency>
 
 <!--