Re: Where to start with a webapp that is not really a webapp
In article
<74521b94-91b4-480f-adfe-20041c2e3ee7@g20g2000vba.googlegroups.com>,
Andrew <marlow.andrew@googlemail.com> wrote:
I have an app that is currently a Junit test but I want to convert it
to a program that will run 24x7, i.e. a server.
If your test is simple and you just want to see the result:
<code>
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/** @author John B. Matthews */
public class Test extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Exec";
out.println("<html>");
out.println("<head>");
out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<h2>" + title + ": " + new Date() + "</h2>");
doExec("java org.junit.runner.JUnitCore yourTest", out);
out.println("</body>");
out.println("</html>");
}
private void doExec(String cmd, PrintWriter out) {
String s;
try {
Process p = Runtime.getRuntime().exec(cmd);
// read from the process's stdout
BufferedReader stdout = new BufferedReader (
new InputStreamReader(p.getInputStream()));
while ((s = stdout.readLine()) != null) {
out.println(s + "<br>");
}
// read from the process's stderr
BufferedReader stderr = new BufferedReader (
new InputStreamReader(p.getErrorStream()));
while ((s = stderr.readLine()) != null) {
out.println(s + "<br>");
}
p.getInputStream().close();
p.getOutputStream().close();
p.getErrorStream().close();
out.println("Exit value: " + p.waitFor() + "<br>");
}
catch (Exception e) {
e.printStackTrace(out);
}
}
}
</code>
Not tested; assumes correct classpath; meta refresh optional.
[...]
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>