Stefan2902
Grünschnabel
Hallo,
basierend auf einen Tutorial (O'Reilly's RESTful JAX-RS Jersey implementation) habe ich einen RESTful Service geschrieben, der Kunden hinzufügen kann (POST /customers HTTP/1.1) sowie Kundendaten abrufen kann (GET /customers/1 HTTP/1.1).
Dieses Beispiel läuft als Singleton, d.h. ich habe z.Zt. keine Datenbankschicht implementiert. Die dementsprechende Klasse sieht z.Zt. wie folgt aus:
Die web.xml Datei sieht dementsprechend so aus:
Mein Ziel ist es nun die Daten in einer MySQL Datenbank zu pflegen, dass heißt, dass der POST Request einen neuen Eintrag in einer Tabelle erzeugt, sowie der GET Request Daten aus einer Tabelle ausliest.
Ich habe dementsprechende Methode geschrieben und in einem seperaten Java Projekt getestet. Was mir feht ist, wie ich die Datenbankanbindung durch das Singleton im Service ersetze. Mit anderen Worten, was muss ich tun, damit beim Starten des Webservices die MySQL Connection aufgebaut anstelle einer Erzeugung eines Singleton's?
Viele Grüße
Stefan
basierend auf einen Tutorial (O'Reilly's RESTful JAX-RS Jersey implementation) habe ich einen RESTful Service geschrieben, der Kunden hinzufügen kann (POST /customers HTTP/1.1) sowie Kundendaten abrufen kann (GET /customers/1 HTTP/1.1).
Dieses Beispiel läuft als Singleton, d.h. ich habe z.Zt. keine Datenbankschicht implementiert. Die dementsprechende Klasse sieht z.Zt. wie folgt aus:
Code:
package com.restfully.shop.services;
import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.core.Application;
public class ShoppingApplication extends Application{
private Set<Object> singletons = new HashSet<Object>();
private Set<Class<?>> empty = new HashSet<Class<?>>();
public ShoppingApplication(){
singletons.add(new CustomerResourceImplementation());
}
@Override
public Set<Class<?>> getClasses() {
return empty;
}
@Override
public Set<Object> getSingletons(){
return singletons;
}
}
Die web.xml Datei sieht dementsprechend so aus:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>MathResult</display-name>
<servlet>
<display-name>JAX-RS REST Servlet</display-name>
<servlet-name>Rest</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.restfully.shop.services.ShoppingApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Rest</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
Mein Ziel ist es nun die Daten in einer MySQL Datenbank zu pflegen, dass heißt, dass der POST Request einen neuen Eintrag in einer Tabelle erzeugt, sowie der GET Request Daten aus einer Tabelle ausliest.
Ich habe dementsprechende Methode geschrieben und in einem seperaten Java Projekt getestet. Was mir feht ist, wie ich die Datenbankanbindung durch das Singleton im Service ersetze. Mit anderen Worten, was muss ich tun, damit beim Starten des Webservices die MySQL Connection aufgebaut anstelle einer Erzeugung eines Singleton's?
Viele Grüße
Stefan