Java, Webprogrammierung, Linux und mehr

Java, Webprogrammierung, Linux und mehr

Virtual Home of Johannes Geppert

  • Home
  • Über mich
  • Meine Linktipps
  • Kontakt
  • Impressum

Java 4-Ever – Witziges Video .NET vs. Java

Posted in java, witze by jogep
Jul 02 2010
TrackBack Address.

A great promotional video for JavaZone 2010.

This video was embedded using the YouTuber plugin by Roy Tanck. Adobe Flash Player is required to view the video.

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
No Comments yet »
Tagged as: java, javazone, video

How to parse a JSON Object when using multiSearch for jqGrid with Java

Posted in Struts jQuery Plugin, java, json, struts2 by jogep
Jun 05 2010
TrackBack Address.

This is a tutorial that shows how to handle a JSON Object that is received in a Struts2 Action. This Example is based on the Struts2 Grid Showcase for the Struts2 jQuery Plugin with Grid Extension.

1. First we need to enable the Multi Search Feature for the Grid Component.

< sjg :grid 
	id="customerstable" 
	...
	navigatorSearch="true"
	navigatorSearchOptions="{multipleSearch:true}"
	...
>

Now we can use the multiple search feature like this.

struts2 jquery grid with multiple search

2.) After this we need a String property filter in our Struts2 Action.

private String filters;
 
public void setFilters(String filters) {
	this.filters = filters;
}

3.) Now we receive a JSON Object when we use the Search in the Navigator of the Grid. The JSON looks like this example.

{
	"groupOp":"AND",
	"rules":[
		{
			"field":"customernumber",
			"op":"lt",
			"data":"200"
		}
		,
		{
			"field":"country",
			"op":"eq",
			"data":"USA"
		}
		]
}

4.) To work with this, we need to serialize this as a JSONObject.

JSONObject jsonFilter = (JSONObject) JSONSerializer.toJSON( filters );

5.) Now we can get the value from the JSON Object. First we get the parameter groupOp.

String groupOp = jsonFilter.getString("groupOp");
log.debug("groupOp :" + groupOp);

6.) Now we need the rules as JSONArray and the size of this array.

JSONArray rules = jsonFilter.getJSONArray("rules");
int rulesCount = JSONArray.getDimensions(rules)[0];
log.debug("Count Rules :" + rulesCount);

7.) In a simple for-loop we can get the values of the rule.

for (int i = 0; i < rulesCount; i++) {
	JSONObject rule = rules.getJSONObject(i);
	log.debug("field :" + rule.getString("field"));
	log.debug("op :" + rule.getString("op"));
	log.debug("data :" + rule.getString("data"));
}

Now you should be able to use this values to build a custom SQL
query or build an hibernate criteria.

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
1 Kommentar »
Tagged as: java, jqgrid, JSON, JSONObject, multiSearch, parse, struts2

Chuck Norris Witze über Java

Posted in java, witze by jogep
Jan 25 2010
TrackBack Address.

Einfach Klasse:

Chuck Norris kann Klassen erstellen die sowohl abstract als auch final sind.

oder

Chuck Norris braucht keine Unit Tests sein Code funktioniert immer. IMMER.

Mehr davon gibt es bei ovisual.com

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
No Comments yet »
Tagged as: chuck norris, java, witze

Webservice Client mit jdk6 Tool wsimport

Posted in java, webservices by jogep
Mai 27 2009
TrackBack Address.

Passend zu meinen letzten Artikeln über Clients für REST Webservices mit Jersey und Webservices mit Axis2 und Spring bin ich heute über den Artikel bei jars.de über die Generierung von Webservices mit dem Tool wsimport gestoßen.

Webservices Clients mit wsimport generieren

jars.de zeigt wie man auf der Kommandozeile Clients aus einer WSDL Url generieren kann.

Weiter Artikel:
Java Client für REST WebService (JAX-RS)
PHP Client für REST WebService

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
No Comments yet »
Tagged as: client, java, jdk6, tool, webservice, wsdl, wsimport

Java Client für REST WebService (JAX-RS)

Posted in java, webservices by jogep
Mai 25 2009
TrackBack Address.

Nach dem Erstellen eines REST WebServices mit JAX-RS habe ich schon ein Beispiel für einen PHP Client eines WebServices gegeben. Natürlich lässt sich der REST WebService auch mit Java exzellent verarbeiten. Wie das geht werde ich in einem kleinen Beispiel demonstrieren. Der Client ruft den REST Web Service aus dem Tutorial für REST WebServices mit Jersey auf und benötigt auch die meisten JAR-Files aus diesem Beispiel. Zusätzlich wird noch das jersey-client-1.0.2.jar benötigt.

Jersey stellt uns für den einfachen Zugriff die Klassen Client und WebResource bereit.

		Client client = Client.create();
		WebResource wr = client.resource("http://localhost:8080/wstest/services/calculator/calc");

Mit Hilfe von WebResource können wir mit den HTTP Methoden post(), delete(), put() und natürlich get() unseren WebService aufrufen. Und mit der MultivaluedMap ist es uns möglich, dem WebService unsere Abfrageparameter mitzugeben.

package de.wstest.client;
 
import java.util.List;
 
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
 
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;
 
import de.wstest.MathResults;
import de.wstest.ServiceResult;
 
public class CalculatorClient {
 
	public static void main(String[] args) {
 
		Client client = Client.create();
 
		//URL des WebService
		WebResource wr = client.resource("http://localhost:8080/wstest/services/calculator/calc");
 
		//Parameter für WebService
		MultivaluedMap< String, String > params = new MultivaluedMapImpl();
		params.add("a", "234");
		params.add("b", "567");
 
		ServiceResult sr = wr.queryParams(params).accept(MediaType.APPLICATION_XML_TYPE).get(new GenericType< ServiceResult >() {});
 
		//Ergebnis ausgeben
		System.out.println(sr.getMessage());
		List< MathResults > mathResults = sr.getErgebnisse();
		for (MathResults mr : mathResults) {
			System.out.println(mr.getFormel()+" = "+mr.getErgebniss());
		}
	}
}

Die Ausgabe des WebServices ist wenig überraschend:

Results for Value a = 234, Value b = 567
a + b = 801
a - b = -333
a * b = 132678

FAZIT:
Wie man sieht, ist mit Hilfe der Jersey Klassen eine einfache Abfrage von REST WebServices möglich.

Ausführlichere Beispiele findet man auf den Enterprise Tech Tips Seiten von SUN, in welchem die Twitter Webservices benutzt werden. Dort gibt es dann auch Beispiele für das Benutzen der PUT, POST und DELETE Methoden.

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
1 Kommentar »
Tagged as: client, java, jax-rc, jersey, rest, rest client, restful, restservice, web service, webservice, webservice client

Neue Version des Java Mass JPEG Resizer Tools

Posted in projekte by jogep
Mai 14 2009
TrackBack Address.

Seit heute ist die neue Version 0.8 des Java Mass JPEG Resizer Tool veröffentlicht.

Die wichtigsten Änderungen sind folgende:

- Verbesserung der Performance
Version 0.7 hat auf meiner Dual Core Maschine bei 100 Bildern noch 2:26 Minuten gebraucht, mit der neuen Version wurden nur noch 1:21 Minuten benötigt.

- Eine neue Web Gallery
Die neue Web Gallerie “A Fancybox Slideshow” basiert auf dem JavaScript Framework jQuery und dem Plugin Fancybox.

- Und dann natürlich noch einige kleine Fehlerbehebungen

Download

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
No Comments yet »
Tagged as: gallerie, gallery, html, java, jpeg, resize, web gallerie

Java Framework Struts2 – AJAX mit Dojo oder jQuery?

Posted in jQuery, struts2 by jogep
Mai 11 2009
TrackBack Address.

Für Webanwendungen die ich mit Java erstelle, verwende ich seit einigen Jahren Struts und seit einiger Zeit Struts2. Struts2 hat außer dem Namen nicht sehr viel mit dem älteren und weit verbreiteten Struts gemeinsam, sondern es basiert auf dem Framework Webworks. Das Tolle an Struts2 ist seine Flexibilität. So gibt es für verschiedenste Einsatzzwecke Plugins z.B. ein Rome Plugin zum Erzeugen von RSS Feeds oder eine JFreeChart Plugin, um Charts in die Webanwendung zu integrieren.

Da moderne Webanwendungen häufig sehr AJAX lastig sind, bei weinfreund.de verwende ich z.B. sehr viel AJAX im Backend und im Administrationsbereich, bringt Struts2 gleich ein Dojo Plugin von Haus aus mit. Mit dem Plugin ist es möglich, ohne Kenntnisse von JavaScript AJAX Funktionalität in die Anwendung einzubauen.

Folgendes Beispiel zeigt, wie man das Ergebnis eines Links per AJAX in ein DIV lädt.

< %@ taglib prefix="s" uri="/struts-tags" %>
< %@ taglib prefix="sx" uri="/struts-dojo-tags" %>
 
<head>
    <sx :head />
</head>
 
<!-- Ein leeres Div in das unser Ergebnis geladen wird -->
<div id="ziel" />
 
<!-- Unser Link, durch das Attribut targets wird das Ergebnis automatisch in unser oben definiertes DIV geladen. -->
<sx :a targets="div" value="Google Startseite" href="http://www.google.de" />

Das Dojo Plugin bringt auch einige UI Elemente wie Tabs, Autocompleter, Kalender und mehr mit, die ähnlich einfach wie der Link zu benutzen gehen.

Warum jQuery?

Da ich mit dem Dojo Plugin an einige Grenzen gestoßen bin, z.B. bei Fileupload und JavaScript in AJAX-Results, und es auch viel Aufwand ist, die Optik an die eigene Webseite anzupassen, habe ich jQuery ausprobiert.

Leider gibt es noch kein Plugin was einem häufige Funktionen genauso erleichtern wie das Dojo Plugin. Bis jetzt gibt es nur Alpha Versionen und Entwicklerversionen eines solchen Plugins. Ich habe jQuery mit purem JavaScript benutzt. Das erfordert zwar einen erhöhten Programmieraufwand und Einarbeitung in JavaScript, aber jQuery hat einen leicht zu erlernenden Syntax, eine große Community und Plugins für fast jeden Einsatzzweck.

Mit jQuery sieht das gleiche Beispiel von oben so aus.

<head>
  <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function() {
    $("#googlelink").click(function()	{
      $("#ziel>").load("http://www.google.de");
    });
  });
</script>
</head>
 
<div id="ziel" />
 
<a id="googlelink" href="javascript:void(0)">Google Startseite</a>

Das Ganze ist zwar nicht so schick zu lesen wie mit dem Dojo Plugin, aber mit etwas Erfahrung hat man mit jQuery eine bessere Kontrolle über den Code und ist flexibler.

Auch jQuery bringt mit Hilfe von jQuery UI leicht zu benutzende Widgets wie Tabs, Dialogboxen und Kalender mit, welche auch noch mit dem Themeroller leicht an das eigene Layout anpassbar sind.

Fazit:
Mit jQuery hat man eine gute Alternative zum Struts2 Dojo Plugin, da man dieses flexibler an eigene Bedürfnisse anpassen und mit Plugins auch besser erweitern kann. Vielleicht gibt es ja für Struts2 auch bald ein brauchbares jQuery Plugin, so dass man es genauso einfach wie Dojo benutzen kann.
Ich kann den Einsatz von jQuery für AJAX basierte Webanwendungen nur empfehlen.

Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
1 Kommentar »
Tagged as: ajax, dojo, framework, java, jQuery, struts2
Next page »

Social Links

TwitterTwitter XingXing TechnoratiTechnorati GithubGithub Google ProfileGoogle Profile

Kategorien

  • Allgemein
  • datenbanken
  • hdr
  • java
    • sap
    • spring
    • struts2
    • hibernate
    • axis2
    • webservices
    • Struts jQuery Plugin
    • json
  • linux
  • projekte
  • sonstiges
  • witze
  • jQuery
  • php
  • piratenpartei

Schlagwörter

ajax bilder checksum client dojo e-mail email gallerie hdr hdr bild hdr bilder hibernate integration java jax-rc jersey jpeg jqgrid jQuery leipzig linux mail openSUSE options Photo php plugin properties qtpfsgui resize rest richtext smtp spring struts2 versenden video web gallerie webservice web service wein weinfreund weingut widgets witze

Archiv

  • Juli 2010 (2)
  • Juni 2010 (2)
  • Mai 2010 (1)
  • März 2010 (2)
  • Januar 2010 (4)
  • Dezember 2009 (1)
  • November 2009 (1)
  • Oktober 2009 (1)
  • September 2009 (1)
  • August 2009 (1)
  • Juli 2009 (2)
  • Juni 2009 (4)
  • Mai 2009 (5)
  • April 2009 (1)
  • März 2009 (2)
  • Februar 2009 (2)
  • Januar 2009 (1)
  • September 2008 (1)
  • Juli 2008 (22)

Meta

  • Anmelden
  • Artikel-Feed (RSS)
  • Kommentare als RSS
  • WordPress.org



Add to Technorati Favorites
Technorati Profile
Programming Blog Directory
Programming Blogs - Blog Catalog Blog Directory

blogoscoop
Blogverzeichnis - Blog Verzeichnis bloggerei.de
BlogPingR.de - Blog Ping-Dienst, Blogmonitor
Blog Verzeichnis Social Bookmarking, RSS-Verzeichnis
Blog Top Liste - by TopBlogs.de
http://www.wikio.de
Technology Blogs - Blog Rankings

RSS Neues aus der Weinwelt

  • Weingut Zickl jetzt NEU bei weinfreund.de
  • Affentaler Winzergenossenschaft Bühl eG jetzt NEU bei weinfreund.de
  • Weingut Christian & Thomas Weiss jetzt NEU bei weinfreund.de
  • Weingut Hager Matthias jetzt NEU bei weinfreund.de
  • 22 Oktober: Tag des österreichischen Sekts
  • Weingut Fels jetzt NEU bei weinfreund.de
  • 11.-12.09.2010 Wein- und Schlemmerfest Hachenburg
  • Weingut Schreiber-Kiebler jetzt NEU bei weinfreund.de
  • Neue Homepage
  • Karl Inführ KG Wein- und Sektkellerei jetzt NEU bei weinfreund.de
Powered by WordPress | “Blend” from Spectacu.la WP Themes Club