# Post Variable in Java



## RelaxxIt (7. Dez 2016)

Hallo Leute,

Wie kann ich eine Post Variable mit Java speichern ähnlich wie bei PHP.
Sodass ich eine HTTP Anfrage quasi nicht per PHP abfange sondern per Java und in meine Datenbank speichern kann?

So wäre es ja in PHP:

PHP-Code:
_$statement = mysqli_prepare($con, "INSERT INTO ??? VALUES (?)");
mysqli_stmt_bind_param($statement, "s", $name);

$name = $_POST["name"];

mysqli_stmt_execute($statement);
mysqli_stmt_close($statement);_ 

Und das möchte ich einfach in Java haben, brauche eigentlich nur ein kleines Beispiel um es zu verstehen. Oder wo finde ich die passende Dokumentation dazu?

vielen Dank für die Antworten 
	

	
	
		
		

		
			





LG


----------



## Thallius (7. Dez 2016)

Wie soll man denn eine Java Applikation mit einem http request aufrufen *wunder*


----------



## Joose (7. Dez 2016)

Kann es sein das du JavaScript meinst? *Java != JavaScript*


----------



## RelaxxIt (7. Dez 2016)

Ehm hab jetzt glaub nen ähnliches Beispiel gefunden:
Link: http://www.thecrazyprogrammer.com/2...er-using-restful-web-services-java-mysql.html

die Klasse Demoservice in dem Beispiel fängt glaube ich auch die Post Variablen ab eines HTTP Requests


----------



## stg (7. Dez 2016)

RelaxxIt hat gesagt.:


> Oder wo finde ich die passende Dokumentation dazu?



Mit einer _normalen_ Java-Anwendung geht sowas prinzipiell zwar auch, aber nicht _mal eben so. _Web-Programmierung in Java ist ein komplett eigenständiges Thema.
Es gibt hier nicht nur den einen richtigen Weg, sondern etliche. Welcher angemessen und deine Bedürfnisse abdeckt, und auf welcher Abstraktionsebene man ansetzt, kann man mit den spärlichen Informationen aus deiner Frage nicht beantworten. 
Eine relativ leichtgewichtige Lösung wäre ein einfaches Servlet, welches in einem Web container läuft. Über das HttpServletRequest Objekt hast du Zugriff auf die mitgesendeten Parameter des HTTP requests.
Siehe dazu u.A.:
https://en.wikipedia.org/wiki/Web_container
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

In deinem Beispiel wird als JAX RS als "higher Level API" eingesetzt. 
Siehe: https://de.wikipedia.org/wiki/Java_API_for_RESTful_Web_Services


----------



## RelaxxIt (7. Dez 2016)

Eine Frage: Dies ist ein Codeschnipsel von einer Applikation, dort wird mit dem Register request eine php datei normal ausgeführt. Ist es möglich das gleiche mit einer Javadatei zu machen?


```
package login.run_ba;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

/**
* Created by Patrick on 26.10.2016.
*/
public class RegisterRequest extends StringRequest {
    //private static final String REGISTER_REQUEST_URL = "http://runbar.000webhostapp.com/main.java";
//Hier statt einer php Datei quasi eine java datei ausführen lassen, z.b. test.java
    private static final String REGISTER_REQUEST_URL = "http://192.168.2.101/[B]test.java[/B]";

    private Map<String, String> params;

    public RegisterRequest(String name, String firstname, String username, int age, String password, Response.Listener<String> listener) {
        super(Method.POST, REGISTER_REQUEST_URL, listener, null);
        params = new HashMap<>();
        params.put("name", name);
        params.put("firstname", firstname);
        params.put("username", username);
        params.put("age", age + "");
        params.put("password", password);
    }

     @Override
    public Map<String, String> getParams() {
        return params;
    }
}
```


----------



## VfL_Freak (7. Dez 2016)

Moin,


RelaxxIt hat gesagt.:


> Eine Frage: Dies ist ein Codeschnipsel von einer Applikation, dort wird mit dem Register request eine php datei normal ausgeführt. Ist es möglich das gleiche mit einer Javadatei zu machen?


Verstehe die Frage nicht ganz 
Willst Du die Klasse separat ausführen? Dann spendiere ihr eine 'main'-Methode!

Gruß Klaus


----------



## RelaxxIt (7. Dez 2016)

nein der code drunter ist eine applikation auf einem smartphone, und per url wird quasi eine datei ausgeführt die irgendwas macht, mit php kann man ja einfach dateien ausführen lassen um z.b. daten in eine datenbank zu speichern, und die frage ist ob ich das gleiche mit einer java datei irgendwie machen kann, ob man dazu irgendwas auf dem server installieren muss oder irgendwas


----------



## stg (7. Dez 2016)

Eine php-Datei kann man auch nicht einfach so "ausführen". Hier hast du für gewöhnlich einen entsprechenden Web-Server mit php-Modul, auf welchem der Code dann ausgeführt wird. Das selbe gilt prinzipiell für Java, siehe dazu mein vorheriges Posting. Du kannst das natürlich auch alles in deine Anwendung einbauen - dir also quasi deinen eigenen Web-Server selbst schreiben - aber das willst du sicherlich nicht.


----------

