Java Web Services via REST bereitstellen
ulrich@undisclosed
2020-05-02 1177762340ebc0e7bee444ae2d7c119f697cbdbb
src/de/uhilger/transit/web/TransitServletRS.java
@@ -18,16 +18,23 @@
package de.uhilger.transit.web;
import javax.servlet.*;
import de.uhilger.transit.JavaServer;
import de.uhilger.transit.JsonFlatWandler;
import de.uhilger.transit.JsonNiceWandler;
import de.uhilger.transit.JsonWandler;
import de.uhilger.transit.NutzerKontext;
import de.uhilger.transit.XmlWandler;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.logging.*;
import de.uhilger.transit.*;
/**
 * Das TransitServletRS macht beliebige Klassen und Methoden 
@@ -83,6 +90,8 @@
   * 
   * @param req die Anfrage, die verarbeitet werden soll
   * @param resp das Objekt, mit dem das Ergebnis der Verarbeitung mitgeteilt wird
   * @throws javax.servlet.ServletException
   * @throws java.io.IOException
   */
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
@@ -107,6 +116,8 @@
   * 
   * @param req die Anfrage, die verarbeitet werden soll
   * @param resp das Objekt, mit dem das Ergebnis der Verarbeitung mitgeteilt wird
   * @throws javax.servlet.ServletException
   * @throws java.io.IOException
   */
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
@@ -119,6 +130,8 @@
   * 
   * @param req die Anfrage, die verarbeitet werden soll
   * @param resp das Objekt, mit dem das Ergebnis der Verarbeitung mitgeteilt wird
   * @throws javax.servlet.ServletException
   * @throws java.io.IOException
   */
  @SuppressWarnings("unchecked")
  public void anfrageAusfuehren(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
@@ -152,6 +165,7 @@
        server = new JavaServer();
        server.wandlerHinzufuegen(new JsonWandler());
        server.wandlerHinzufuegen(new JsonFlatWandler());
        server.wandlerHinzufuegen(new JsonNiceWandler());
        server.wandlerHinzufuegen(new XmlWandler());
        Class cls = server.klasseFinden(klassenName);
        if(cls != null) {
@@ -170,7 +184,8 @@
              ((VerbindungsKontext) o).setVerbindung(req.getSession());
            }
          }
          Object resultat = null;
          Object resultat;
          logger.log(Level.FINE, "methodenName: {0}, formatName: {1}", new Object[]{methodenName, formatName});
          if(formatName != null) {
            resultat = server.methodeAusfuehren(o, methodenName, formatName, parameter);
          } else {
@@ -194,7 +209,7 @@
          buf.append("<p>Ergebnis von server.klasseFinden ist null (Klasse nicht gefunden?).</p>");
        }
      } else {
        buf.append("<p>Klasse " + klassenName + " nicht erlaubt.</p>");
        buf.append("<p>Klasse ").append(klassenName).append(" nicht erlaubt.</p>");
      }
      Writer w = resp.getWriter();
      w.write(buf.toString());