00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.core.rmi;
00032
00033 import org.objectweb.proactive.core.util.UrlBuilder;
00034
00035 import java.io.IOException;
00036 import java.io.InputStream;
00037 import java.io.OutputStream;
00038
00039 import java.net.UnknownHostException;
00040
00041 import javax.servlet.http.HttpServlet;
00042 import javax.servlet.http.HttpServletRequest;
00043 import javax.servlet.http.HttpServletResponse;
00044
00045
00046 public class ClassServerServlet extends HttpServlet {
00047
00048 public static final String SERVLET_NAME = "/ProActiveHTTP";
00049 private String url;
00050 private ClassServer classServer;
00051 private HttpServletRequest request;
00052 private HttpServletResponse response;
00053 private static int port;
00054
00055 public ClassServerServlet(int newport) {
00056 System.out.println("New Class Server Servlet");
00057 this.port = newport;
00058 ClassServerHelper helper = new ClassServerHelper();
00059 System.setProperty("proactive.http.port", this.port + "");
00060 try {
00061 helper.initializeClassServer();
00062 } catch (IOException e) {
00063 e.printStackTrace();
00064 }
00065 }
00066
00067 public static int getPort() {
00068 return port;
00069 }
00070
00071 public void doGet(HttpServletRequest request, HttpServletResponse response) {
00072
00073
00074
00075 doPost(request, response);
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087 }
00088
00089 public void doPost(HttpServletRequest request, HttpServletResponse response) {
00090 try {
00091 this.request = request;
00092 this.response = response;
00093
00094 InputStream in = request.getInputStream();
00095 OutputStream out = response.getOutputStream();
00096 RequestInfo reqInfo = new RequestInfo();
00097 reqInfo.read(this.request);
00098 HTTPRequestHandler service = new HTTPRequestHandler(in, out,
00099 reqInfo, response);
00100 service.run();
00101 } catch (IOException e) {
00102 e.printStackTrace();
00103 }
00104 }
00105
00106 public static String getUrl() {
00107 try {
00108
00109
00110 String url = UrlBuilder.buildUrl(UrlBuilder.getHostNameorIP(
00111 java.net.InetAddress.getLocalHost()), "", "http:", port);
00112
00113
00114 if (url.charAt(url.length() - 1) == '/') {
00115 url = url.substring(0, url.length() - 1);
00116 }
00117 url += SERVLET_NAME;
00118 return url;
00119 } catch (UnknownHostException e) {
00120 e.printStackTrace();
00121 }
00122 return null;
00123 }
00124 }