package Serfler.Servlet; // Serfler - an Http server written in Java based on servlets // Copyright (c) 1998 by Douglas Harris // Distributed under the GNU General Public License // // A copy is included with this software distribution. // The package is available from // http://spectral.mscs.mu.edu/javadev/src/serfler.zip // import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.Hashtable; public class LoadServlet extends HttpServlet { Serfler.SerflerContext loader; public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { loader=(Serfler.SerflerContext)(getServletConfig().getServletContext()); String command; String name; String servletClass; String initParameterString; ServletConfig cfg=null; String nameReport=""; String paramReport=""; String parseReport=""; String instReport=""; String initReport=""; int index; boolean errorReport=false; command=req.getPathInfo().substring(1); if (command.endsWith("=")){ name=command.substring(0,command.length()-1); //Unload the class return; } index=command.indexOf("="); name=command.substring(0,index); servletClass=command.substring(index+1); if (name.length()==0){ name=servletClass; } nameReport="Name: "+name+" Servlet: "+servletClass; ServletContext cxt=getServletConfig().getServletContext(); initParameterString=req.getQueryString(); paramReport="initParameterString: "+initParameterString; try{ cfg=(ServletConfig)new Serfler.SerflerConfig(initParameterString); parseReport="The parameter string is part of the configuration."; } catch(IllegalArgumentException x){ parseReport="The parameter string was illegal."; errorReport=true; } instReport = "Instantiated the servlet."; Servlet instance=loader.getServletInstance(servletClass); if (instance==null){ instReport = "Could not instantiate the servlet."; errorReport=true; } initReport="Initialized the servlet, which is ready to go."; if ((instance==null)||(!loader.addServlet(name,instance,cfg))){ initReport="Could not init the servlet, which has not been added."; errorReport=true; } PrintWriter out = res.getWriter(); res.setContentType("text/html"); out.println(" LoaderServlet Report"); if (errorReport){ out.println(""); }else{ out.println(""); } out.println("\"Serfler\""); LoaderServlet Report "); out.println("
");
    out.println(nameReport);
    out.println(paramReport);
    out.println(parseReport);
    out.println(instReport);
    out.println(initReport);
    out.println("
"); out.println(""); out.println(""); out.close(); } public String getServletInfo() { return "A loader servlet"; } }