Java Web Services via REST bereitstellen
ulrich
2014-11-17 42c48ee10645856f3d893856c1cf6512e048f4fd
JavaDoc erweitert
5 files modified
3 files added
114 ■■■■ changed files
src/de/uhilger/transit/JsonFlatWandler.java 4 ●●●● patch | view | raw | blame | history
src/de/uhilger/transit/JsonWandler.java 4 ●●●● patch | view | raw | blame | history
src/de/uhilger/transit/XmlWandler.java 4 ●●●● patch | view | raw | blame | history
src/de/uhilger/transit/package-info.java 19 ●●●●● patch | view | raw | blame | history
src/de/uhilger/transit/web/AbstractServlet.java 26 ●●●● patch | view | raw | blame | history
src/de/uhilger/transit/web/TransitServletRS.java 16 ●●●● patch | view | raw | blame | history
src/de/uhilger/transit/web/package-info.java 15 ●●●●● patch | view | raw | blame | history
src/overview.html 26 ●●●●● patch | view | raw | blame | history
src/de/uhilger/transit/JsonFlatWandler.java
@@ -32,8 +32,8 @@
 * verwandeln und umgekehrt
 * 
 * <p>Diese Klasse benoetigt die Java-Klassenbibliotheken 
 * <a href="http://xstream.codehaus.org/">XStream</a>
 * und <a href="http://jettison.codehaus.org/">Jettison</a>
 * <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>
 * und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a>
 * im Classpath.</p>
 * 
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
src/de/uhilger/transit/JsonWandler.java
@@ -29,8 +29,8 @@
 * verwandeln und umgekehrt
 * 
 * <p>Diese Klasse benoetigt die Java-Klassenbibliotheken 
 * <a href="http://xstream.codehaus.org/">XStream</a>
 * und <a href="http://jettison.codehaus.org/">Jettison</a>
 * <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>
 * und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a>
 * im Classpath.</p>
 * 
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
src/de/uhilger/transit/XmlWandler.java
@@ -28,8 +28,8 @@
 * verwandeln und umgekehrt
 * 
 * <p>Diese Klasse benoetigt die Java-Klassenbibliotheken 
 * <a href="http://xstream.codehaus.org/">XStream</a>
 * und <a href="http://jettison.codehaus.org/">Jettison</a>
 * <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>
 * und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a>
 * im Classpath.</p>
 * 
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
src/de/uhilger/transit/package-info.java
New file
@@ -0,0 +1,19 @@
/**
 * <p>Java-Code über HTTP aufrufen.</p>
 *
 * <h4>Beschreibung</h4>
 *
 * <p>Transit ist eine Bibliothek mit Java-Klassen, die mit Beigabe zu einer
 * Webanwendung Teile dieser Anwendung via HTTP von aussen
 * aufrufbar machen. Es sind keine statischen Deklarationen erforderlich.
 * Beliebige Klassen und ihre Methoden werden von Transit zur Laufzeit
 * dynamisch geladen und ausgeführt.</p>
 *
 *
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Bereitgestellt unter den Bedingungen der
 * <a href="http://www.gnu.org/licenses/agpl-3.0" target="_blank">GNU Affero
 * General Public License</a>
 *
 */
package de.uhilger.transit;
src/de/uhilger/transit/web/AbstractServlet.java
@@ -1,7 +1,19 @@
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 Transit - Remote procedure calls made simple
 Copyright (c) 2012  Ulrich Hilger
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Affero General Public License for more details.
 You should have received a copy of the GNU Affero General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package de.uhilger.transit.web;
@@ -15,8 +27,14 @@
import javax.servlet.http.HttpServletResponse;
/**
 * Basisklasse mit gemeinsamem Code fuer die TransitServlets
 *
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Published under the terms and conditions of the
 * <a href="http://www.gnu.org/licenses/agpl-3.0" target="_blank">GNU Affero
 * General Public License</a>
 *
 * @author ulrich
 * @version 1, September 16, 2012
 */
public abstract class AbstractServlet extends HttpServlet {
src/de/uhilger/transit/web/TransitServletRS.java
@@ -30,17 +30,27 @@
import de.uhilger.transit.*;
/**
 * Das TransitServlet macht beliebige Klassen und Methoden
 * Das TransitServletRS macht beliebige Klassen und Methoden
 * ueber HTTP zugaenglich. 
 * 
 * <p><b>Achtung:</b>Das TransitServlet sollte nur in einem
 * <p>Methodenaufrufe über dieses Servlet erfolgen in der Form<br>
 * <code>
 * http://server:port/contextpfad/servletpfad/name.der.package.Klasse/methode/antwortformat/param1/param2/../paramN
 * </code></p>
 *
 * <p>Standardmäßig werden von Transit die Antwortformate JSON, JSONFLAT und XML
 * bereitgestellt. Über die Schnittstelle Wandler lassen sich weitere Formate
 * hinzufügen.</p>
 *
 * <p><b>Achtung:</b>Das TransitServletRS sollte nur in einem
 * per Authentifizierung und Autorisierung geschuetzten 
 * Bereich einer Webanwendung bereitgestellt werden da andernfalls 
 * durchweg alle Klassen und Methoden, die sich auf dem Server 
 * finden, zugaenglich werden.</p>
 * 
 * <p>Fuer die Bereitstellung von Funktionen ist eine Berechtigungspruefung  
 * noetig, die am besten in Form eines Filters implementiert wird.</p>
 * noetig, die am besten in Form eines Filters implementiert wird.
 * Transit stellt hierfür die Klassen Waechter und RechtePruefer bereit.</p>
 * 
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Published under the terms and conditions of
src/de/uhilger/transit/web/package-info.java
New file
@@ -0,0 +1,15 @@
/**
 * <p>Web-Fassade von Transit</p>
 *
 * <p>Die Web-Package von Transit enthält die Klassen, die die Bereitstellung
 * der Funktionen von Transit via HTTP ermöglichen. Sie enthält z.B.
 * Servlets sowie Schnittstellen</p>
 *
 *
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Bereitgestellt unter den Bedingungen der
 * <a href="http://www.gnu.org/licenses/agpl-3.0" target="_blank">GNU Affero
 * General Public License</a>
 *
 */
package de.uhilger.transit.web;
src/overview.html
New file
@@ -0,0 +1,26 @@
<html>
  <body>
    <p>Java-Code über HTTP aufrufen.</p>
    <h4>Beschreibung</h4>
    <p>Transit ist eine Bibliothek mit Java-Klassen, die mit
    Beigabe zu einer Webanwendung Teile dieser Anwendung via HTTP von aussen
    aufrufbar machen. Es sind keine statischen Deklarationen erforderlich.
    Beliebige Klassen und ihre Methoden werden von Transit zur Laufzeit
    dynamisch geladen und ausgeführt.</p>
    <p>
      Zur Serialisierung und Deserialisierung in den Formaten XML und JSON
      benoetigt Transit die Java-Klassenbibliotheken
      <a href="http://xstream.codehaus.org/" target="_blank">XStream</a>
      und <a href="http://jettison.codehaus.org/" target="_blank">Jettison</a>
      im Classpath.
    </p>
    @author Copyright (c) Ulrich Hilger, http://uhilger.de
    @author Bereitgestellt unter den Bedingungen der
    <a href="http://www.gnu.org/licenses/agpl-3.0" target="_blank">GNU Affero
    General Public License</a>
  </body>
</html>