/* * MidiServlet.java * * Prototype servlet which creates one-note MIDI file. * The pitch, patch, and file name are set as parameters. * This servlet instantiates and invokes the methods of * the "karlmidi" proof-of-concept class, the functionality of * which has since been encapsulated in other classes in this package. * * This module is part of Karl Brown's MIDI programming project. */ package MidiApps; import javax.servlet.*; import javax.servlet.http.*; import javax.sound.midi.*; /** * * @author Karl Brown * @version 1.0 */ public class MidiServlet extends HttpServlet { /** Initializes the servlet. */ public void init(ServletConfig config) throws ServletException { super.init(config); } /** Destroys the servlet. */ public void destroy() { } /** Processes requests for both HTTP GET and POST methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { tracer tr = new tracer(); java.io.PrintWriter out = response.getWriter(); tr.setPrintWriter(out); response.setContentType("text/html"); tr.print(""); tr.print(""); tr.print("Karl Brown One-note MIDI Servlet result"); tr.print(""); tr.print(""); tr.print("

Karl Brown \"One-note MIDI file\" servlet result page

"); tr.print("Today is "+new java.util.Date()+".
"); String notestring = request.getParameter("note"); Integer noteint = new Integer(notestring); String patchstring = request.getParameter("patch"); Integer patchint = new Integer(patchstring); String namestring = request.getParameter("name"); tr.print("name = "+namestring + "
"); tr.print("note = "+noteint + "
"); tr.print("patch = "+patchint + "
"); out.println("

"); tr.trace("instatiating karlmidi.."); karlmidi km = new karlmidi(); km.setNote(noteint.intValue()); km.setPatch(patchint.intValue()); km.setName(namestring); km.setTracer(tr); tr.trace("executing karlmidi.compose()..."); km.compose(); out.println("returned from karlmidi.compose()

"); tr.print("Try this servlet again
"); tr.print("Another MIDI servlet that does MUCH more
"); tr.print("MIDI Servlet home page"); tr.print("

"); tr.print(""); tr.print(""); out.close(); System.gc(); } /** Handles the HTTP GET method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Handles the HTTP POST method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return "Creates a proof of concept one note MIDI file"; } }