GitHub bietet Webhooks an, die es einem ermöglichen, sich über Repository-Änderungen informieren zu lassen. Je nach Auswahl sendet GitHub dann einen JSON-Payload an die hinterlegte URL. Damit man sich auf der Serverseite sicher sein kann, dass die Daten auch wirklich von GitHub kommen und korrekt sind, sendet GitHub eine x-hub-signature
mit. Die von GitHub versendete Signatur kann dann validiert werden. Wie das geht, zeigt folgendes Beispiel in Java.
GitHub Webhook Signature mit Java validieren weiterlesen
Schlagwort: Servlet
IndexOutOfBoundsException with Catalina SSI Servlet
I played around with some Server Side Includes using org.apache.catalina.ssi.SSIServlet
and noticed that some statements (which were fine on Apache) are not working on GlassFish. Finally I found the solution.
In Apache (using mod_ssi) you can do this:
<!--#if expr="{$HTTP_USER_AGENT} == /(iPhone)/" --> <p>It's an iPhone.</p> <!--#endif --> |
But on GlassFish Server (with SSIServlet) you have to do this:
<!--#if expr="{$HTTP_USER_AGENT} = '/(iPad)/'" --> <p>It's an iPhone.</p> <!--#endif --> |
Notiz – JDBC Datasource in JEE-Applikation hinzufügen
Hier eine Kurzbeschreibung, um in der Entwicklungsumgebung NetBeans 6.9.1 eine JDBC-Datasource für eine Java Enterprise-Applikation hinzuzufügen. Inklusive Database Mapping, Persistent Entities und Session Beans, die über Annotationen in einem Servlet verwendet werden können:
- „mysql-connector-java-5.1.13-bin.jar“ in den lib-Ordner von GlassFish 3.0.1 kopieren
- GlassFish neustarten
- MySQL Connection-Pool in der GlassFish-Administrationsoberfläche anlegen
- JDBC Ressource (jdbc/name) in der GlassFish- Administrationsoberfläche anlegen
- Entity Classes from Database (mit List-Collection) in NetBeans-Projekt generieren
- New Persistence Unit in NetBeans-Projekt generieren
- New Session Bean (ohne Interface) in NetBeans-Projekt erzeugen
- New Servlet in NetBeans-Projekt erzeugen
- SessionBean mit @EJB-Annotation verwenden
Die JDBC Ressource muss diese Eigenschaften gesetzt haben:
portNumber
databaseName
serverName
password
user
URL
Url
Die URL wird folgendermaßen aufgebaut: jdbc:mysql://hostname:port/databaseName
.