JavaScript Javascript + mysql OHNE php

Osiris1

Lt. Junior Grade
Dabei seit
Feb. 2008
Beiträge
323
Hi

Folgendes Problem: Ich habe eine Funktion in javascript geschrieben und die liefert einen String.
Diesen String will ich in eine Datenbank schreiben. Javascript ist Client-seitig, also geht es damit schon einmal nicht. php wäre eine Lösung, kommt für mich aber nicht in Frage da sich php nicht mit tomcat verträgt.

Gibt es noch andere Varianten von Javascript auf eine Datenbank zuzugreifen als über php?

Danke
 
T

tender89

Gast
Mit Jquery und Corsside scripting :

HTML:
<script type="text/javascript" charset="utf-8">



var a1 = a;


var b1 = b;

var c1 = c;


var d1 = d;

var e1 = e;

jQuery.support.cors = true;

jQuery.ajax({
type: "GET",
url: "www.test.de/test.php?1="+a1+"&2="+b1+"&3="+c1+"&4="+d1+"&5="+e1+"",
success: function(transport) {
jQuery('#div_ergebnis_aus_php').html(transport);
},
error: function (XMLHttpRequest, textStatus, errorThrown) { 
alert(textStatus + " " + errorThrown);}
});

</script>
Den Transport kannst du weglassen.
Und nein ich wüsste nicht wie es anders geht.
 
Zuletzt bearbeitet:

Osiris1

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
323
Oh thx für die schnelle Antwort. Ich bin mir grad nicht sicher was das script tut. Greifst du da nicht wieder auf ein php file zu und übergibst die Parameter?
Wo ist die eigentliche SQL Query?
 
T

tender89

Gast
HTML:
var a1 = a;
 
 
var b1 = b;
 
var c1 = c;
 
 
var d1 = d;
 
var e1 = e;
Das sind die Variablen die an die URL weitergegeben werden.

In der PHP Datei werden dann diese aus der URL gelesen und können weiter verarbeitet werden:

test.php:

PHP:
<?php

$con = mysql_connect('localhost', 'jhkgh', 'kghkgh');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$a=	mysql_real_escape_string ($_GET['1']);                                 
$b=   mysql_real_escape_string ($_GET['2']);
$c=   mysql_real_escape_string ($_GET['3']);
$d=   mysql_real_escape_string ($_GET['4']);
$e=   mysql_real_escape_string ($_GET['5']);

mysql_close($con);
die;
?>


so könntest du sie aus dem localStorage holen.

HTML:
var a1 = localStorage.getItem("a");


var b1 = localStorage.getItem("b");

var c1 = localStorage.getItem("c");


var d1 = localStorage.getItem("d");

var e1 = localStorage.getItem("e");
vorher muss du natürlich die gesetzt haben


HTML:
localStorage.setItem("a", ""DEIN INHALT"");
localStorage.setItem("b", ""DEIN INHALT"");
localStorage.setItem("c", ""DEIN INHALT"");
localStorage.setItem("d", ""DEIN INHALT"");
 
Zuletzt bearbeitet:

Osiris1

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
323
Hm ok. So etwas in der Art habe ich schon. Das Problem ist das ich auf dem Tomcat server kein php benutzen kann.
Oder wird diese Einschränkung mit der Ajax Konstruktion irgendwie umgangen?

EDIT: Ich könnte natürlich das php file auf einen anderen Server legen... Aber das würde ich gerne vermeiden.
 
T

tender89

Gast
Ohne php wirds leider nicht gehen.
Müsste eigendlich kein problem sein MYSQL/PHP auf einen Server zu bekommen.
 

Osiris1

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
323
Sollte es wirklich nicht gehen muss ich wohl kreativ werden was den Tomcat Server betrifft.
Thx jedenfalls.
 

DjNDB

Lt. Commander
Dabei seit
Apr. 2010
Beiträge
1.533
Wenn du nur Tomcat nutzen kannst, dann machst du das ganze eben mit Java als Servlet. Wo ist das Problem?
 

Osiris1

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
323
Das Problem ist, dass ich eigentlich keine Ahnung von Webdesign habe, aber einen Online Javascript Mapeditor programmieren muss.
Das Java Servlet verwende ich nur für die Datenbankverbindung? Sollange ich damit eine variable aus dem Javascript speichern kann, werd ich mich wohl einmal damit auseinander setzen.
 

DjNDB

Lt. Commander
Dabei seit
Apr. 2010
Beiträge
1.533
Naja, das ist eigentlich nichts was man mal so schnell nebenbei macht. Da sollte man sich schon etwas Hintergrundwissen aneignen.
Ich habe auf die Schnelle kein Tutorial gefunden mit dem ich wirklich zufrieden wäre, aber hier gibt es eins von Oracle an dem du zumindest grundsätzlich sehen kannst wie es gehen könnte.

Allerdings würde man es so nicht wirklich ernsthaft umsetzen. Um mal ein paar Beispiele zu nennen:
Die Verbindungsdaten zur Datenbank könnte man z.B. in einer Property Datei speichern anstatt im Quellcode des Servlets.
Außerdem sollte man das Query in einem Prepared Statement machen, da man sonst SQL Injection Angriffe ermöglicht.
 

peterchr

Cadet 2nd Year
Dabei seit
Juli 2013
Beiträge
18
Guck mal bei netbeans vorbei. Die JavaEE Variante hat auch ein paar nette Beispiele für Webservices und REST. Sogar Websockets (dann aber eher mit Glassfish statt tomcat) könnte man verwenden.

Diese REST-Schnittstellen kannst du dann mit jQuery vom client aus ansprechen.
 

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
Das Problem ist, dass ich eigentlich keine Ahnung von Webdesign habe, aber einen Online Javascript Mapeditor programmieren muss.
Dann soll sich die Person, die dir hier den Tomcat vorsetzt, sich darum kümmern, dass du für dein Frontend auch ein Backend hast. Nennt sich Arbeitsteilung.

Das Java Servlet verwende ich nur für die Datenbankverbindung? Sollange ich damit eine variable aus dem Javascript speichern kann, werd ich mich wohl einmal damit auseinander setzen.
Es geht doch nix über "mal schnell zusammengeschustert".
Der nächste Post geht dann über: "Hilfe, der Server meines Auftraggebers wurde gehackt...."
 

Osiris1

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
323
Danke. Is eine etwas längere Geschichte. Mit Arbeitsteilung wird das so einfach nix.
Ich werd mich wohl an das hier halten: https://isomorphic.atlassian.net/wiki/display/Main/DMI.call+(JavaScript)+to+Java+servlet
Mit einem modifiziertem Code im Servlet.

Wenn ichs mal schaffe den String an das Servlet zu übergeben, dann kümmere ich mich um Security. (In Java sollte ich das hinkriegen...)

Die Seite basiert insgesamt auf JavaBeans. Aber bis jetzt habe ich keine Möglichkeit gefunden Javascript und die Bean dazu zu bringen mit einander zu reden.
 

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
Das Prinzip ist doch in allen Sprachen dasselbe: Du sendest clientseitig einen Request (in dem Falle empfiehlt sich POST) an eine URL (evtl. noch mit GET-Parametern) und serverseitig löst dieser Request eine Kette von Ereignissen aus:
- Plausibilitätsprüfung
- Prüfen der Berechtigungen
- Ausführen der erwünschten Aktion
- Rückgabe des Antwort-Codes (also mindestens ne 200)
 

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
Nicht wirklich. Direkte Datenbankzugriffe sind nur vom Server aus möglich, denn alles andere wäre eine Sicherheitslücke sonder Gleichen. Ob auf dem Server jetzt Node.js, PHP, n Java Servlet oder sonstwas eine Schnittstelle bereitstellt ist dabei vollkommen egal.
Und mal ehrlich: Wenn bereits n Tomcat läuft, dann fang ich doch nicht erst an mit Node.js rumzufuchteln. Vollkommen ineffizient.
 

Osiris1

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Feb. 2008
Beiträge
323
Ok habs jetzt mit einem Servlet hingekriegt. Danke an alle ;)
 
Top