/* * This file is part or JMathLib * * Check it out at http://www.jmathlib.de * * Author: * (c) 2009 stefan@held-mueller.de */ package jmathlib.ui.servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import jmathlib.core.interfaces.JMathLibOutput; import jmathlib.core.interpreter.*; /** a basic servlet showing the usage of JMathLib */ public class JMathLibServlet extends HttpServlet implements JMathLibOutput { private String dispText =""; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); String title = "JMathLib as a servlet"; out.println("<title>" + title + "</title>"); out.println("</head>"); out.println("<body bgcolor=\"white\">"); // note that all links are created to be relative. this // ensures that we can move the web application that this // servlet belongs to to a different place in the url // tree and not have any harmful side effects. // open instance of JMathLib Interpreter jml = new Interpreter(false); jml.setOutputPanel(this); ErrorLogger.setDebug(true); jml.executeExpression("a='helloyou'"); jml.executeExpression("aa=class(a)"); jml.executeExpression("dir"); String s = jml.getString("a"); out.println("<pre>"+s+"</pre>"); String ss = jml.getString("aa"); out.println("<pre>"+ss+"</pre>"); out.println("<pre>"+dispText+"</pre>"); dispText=""; out.println("<h1>" + title + "</h1>"); out.println("</body>"); out.println("</html>"); } /** * catch text from jmathlib for later display * @param text */ public void displayText(String text) { dispText += text; } /** * this method ist used to display status messages * @param status message */ public void setStatusText(String status) { } }