/* * TestIgnoreHiddenJarFilesServlet - Verify bug 6314481. The test ensures * that hidden JAR files are ignored * (via an option in sun-web.xml) by * container for loading */ package servlet_tests; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import java.net.*; import javax.net.ssl.*; public class TestIgnoreHiddenJarFilesServlet extends HttpServlet { private PrintWriter out; private String host; private int port; private ServletContext context; private boolean debug = false; private static final String EXPECTED_RESPONSE = "true"; public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); out = response.getWriter(); out.println(""); out.println(""); out.println("TestIgnoreHiddenJarFilesServlet

"); if (request.getParameter("debug") != null) { debug = true; } context = getServletContext(); HttpSession session = request.getSession(); if (session != null) { host = request.getServerName(); port = request.getServerPort(); String protocol = request.getScheme(); if ("http".equals(protocol)) { invokeServlet(); } else { invokeServletHttps(); } } out.println("
"); } private void invokeServlet() { try { URL url = new URL("http://" + host + ":" + port + "/" + context.getServletContextName() + "/ServletTest2"); // out.println("  url = " + url.toString() + "
"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.connect(); int responseCode = connection.getResponseCode(); if (responseCode != 200) { out.println("  Expected for 200 but received " + responseCode); } else { InputStream is = connection.getInputStream(); BufferedReader bis = new BufferedReader(new InputStreamReader(is)); String line = bis.readLine(); System.out.println("line is " + line); if (EXPECTED_RESPONSE.equals(line)) { out.println("  Test PASSED
"); } else { out.println("  Test FAILED
"); } } } catch (Exception e) { out.println("Exception : " + e + " -> see server.log
"); e.printStackTrace(); } } // https private void invokeServletHttps() { try { URL url = new URL("https://" + host + ":" + port + "/" + context.getServletContextName() + "/ServletTest2"); // out.println("  url = " + url.toString() + "
"); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); connection.setHostnameVerifier(new MyHostnameVerifier()); connection.connect(); int responseCode = connection.getResponseCode(); if (responseCode != 200) { out.println("  Expected for 200 but received " + responseCode); } else { InputStream is = connection.getInputStream(); BufferedReader bis = new BufferedReader(new InputStreamReader(is)); String line = bis.readLine(); if (EXPECTED_RESPONSE.equals(line)) { out.println("  Test PASSED
"); } else { out.println("  Test FAILED
"); } } } catch (Exception e) { out.println("Exception : " + e + " -> see server.log
"); e.printStackTrace(); } } private static class MyHostnameVerifier implements HostnameVerifier { public boolean verify(String hostname, SSLSession session) { //System.out.println("JD:verify Hostname..."); return true; } } }