THRIFT-4949: Improve HTTP/1 server test case

Client: java

This closes #1886.
diff --git a/lib/java/gradle/environment.gradle b/lib/java/gradle/environment.gradle
index 45fa63a..965a908 100644
--- a/lib/java/gradle/environment.gradle
+++ b/lib/java/gradle/environment.gradle
@@ -44,7 +44,8 @@
 // Versions used in this project
 ext.httpclientVersion = property('httpclient.version')
 ext.httpcoreVersion = property('httpcore.version')
-ext.servletVersion = property('servlet.version')
+//ext.servletVersion = property('servlet.version')
+ext.tomcatEmbedVersion = property('tomcat.embed.version')
 ext.slf4jVersion = property('slf4j.version')
 ext.junitVersion = property('junit.version')
 ext.mockitoVersion = property('mockito.version')
@@ -66,7 +67,8 @@
     compile "org.slf4j:slf4j-api:${slf4jVersion}"
     compile "org.apache.httpcomponents:httpclient:${httpclientVersion}"
     compile "org.apache.httpcomponents:httpcore:${httpcoreVersion}"
-    compile "javax.servlet:servlet-api:${servletVersion}"
+    //compile "javax.servlet:servlet-api:${servletVersion}"
+    compile "org.apache.tomcat.embed:tomcat-embed-core:${tomcatEmbedVersion}"
     compile "javax.annotation:javax.annotation-api:${javaxAnnotationVersion}"
 
     testCompile "junit:junit:${junitVersion}"
diff --git a/lib/java/gradle/functionalTests.gradle b/lib/java/gradle/functionalTests.gradle
index c420d12..6a388a6 100644
--- a/lib/java/gradle/functionalTests.gradle
+++ b/lib/java/gradle/functionalTests.gradle
@@ -34,6 +34,7 @@
             include '**/test/TestClient.java'
             include '**/test/TestServer.java'
             include '**/test/TestNonblockingServer.java'
+            include '**/test/TestTServletServer.java'
         }
     }
 }
@@ -55,7 +56,7 @@
 shadowJar {
     description = 'Assemble a test JAR file for cross-check execution'
     // make sure the runners are created when this runs
-    dependsOn 'generateRunnerScriptForClient', 'generateRunnerScriptForServer', 'generateRunnerScriptForNonblockingServer'
+    dependsOn 'generateRunnerScriptForClient', 'generateRunnerScriptForServer', 'generateRunnerScriptForNonblockingServer', 'generateRunnerScriptForTServletServer'
 
     baseName = 'functionalTest'
     destinationDir = file("$buildDir/functionalTestJar")
@@ -153,3 +154,24 @@
         serverFile.setExecutable(true, false)
     }
 }
+
+task generateRunnerScriptForTServletServer(group: 'Build') {
+    description = 'Generate a runner script for cross-check tests with TestTServletServer'
+
+    def serverFile = file("$buildDir/runservletserver${scriptExt}")
+
+    def runServerText = """\
+${scriptHead}
+
+"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$keyStore" -Djavax.net.ssl.keyStorePassword=thrift org.apache.thrift.test.TestTServletServer $args
+"""
+
+    inputs.property 'runServerText', runServerText
+    outputs.file serverFile
+
+    doLast {
+        serverFile.parentFile.mkdirs()
+        serverFile.text = runServerText
+        serverFile.setExecutable(true, false)
+    }
+}
diff --git a/lib/java/gradle/sourceConfiguration.gradle b/lib/java/gradle/sourceConfiguration.gradle
index 8dd0331..3bd432a 100644
--- a/lib/java/gradle/sourceConfiguration.gradle
+++ b/lib/java/gradle/sourceConfiguration.gradle
@@ -34,6 +34,7 @@
             exclude '**/test/TestClient.java'
             exclude '**/test/TestServer.java'
             exclude '**/test/TestNonblockingServer.java'
+            exclude '**/test/TestTServletServer.java'
         }
         resources {
             srcDir 'test'