Homepage in Java

Status
Nicht offen für weitere Antworten.

d3rbastl3r

Bekanntes Mitglied
Hallo,
ich kann etwas Java da ich das als Hauptfach in der Scule habe doch leider lernt man da trotzdem nicht all zu viel deshalb wollte ich einfach mal mich an einen größeren Projekt ran machen (hat mir bei php erlernen sehr geholfen).

Ich habe da an einen OnlineKatalog für eine kleine Werkstatt gedacht. Es existiert zwar schon ein OnlineKatalog doch ist er im moment in PHP programmiert, basierend auf MySQL datenbank, den ich in meinem Praktikum programmiert habe, nun wollte ich den HTML und teil des PHP Codes gegen Java ersetzen.

Zuerst habe ich einpaar fragen 🙂

F1: Ich programmiere erstmal ein Java Programm, gibt es was speziälles zu beachten? Können probleme bei der einbindung in HTML auftreten?

Die ganzen DB Abfragen möchte ich nicht in Java machen da es unsicher ist, jeder kann dann die Zugangsdaten, Feldnamen, usw... ansehen.
F2: Kann ich ganz normal die SQL Abfragen in PHP programmieren und dann die PHP Dateien mit dem gestartetem Java Programm ausführen und die Ergebnisse der Abfragen wieder in das Java Programm übermitteln ohne dass die Home Page neu aufgeruffen werden muss?

F3: Geht das ganze auf einem herkömlichen Apache Server oder muss ich da für den server noch einen eigenen JavaServer programmiert der mit dem, in die HomePage eingebundenem Client kommuniziert?

Das wars fürs erste ^^ aber es kommen ganz sicher weitere Fragen 😛
 
häh? :bahnhof:
Was soll das werden? JSP? Ein Applet? ???:L
Die ganzen DB Abfragen möchte ich nicht in Java machen da es unsicher ist, jeder kann dann die Zugangsdaten, Feldnamen, usw... ansehen.
Und nochmal: häh? ???:L
 
Es soll kein JScript werden.
Obs ein Applet werden soll weis ich nicht, wenn man eine normale JavaAnwendung im Web nicht aufruffen kann dann wohl ein Applet. Wo ist eigentlich der unterschied zwischen normaler JAnwendung und einem JApplet? Habe bisher nur Anwendungen programmiert.

Zu der DB: Wenn ich die Datenbank Zugangsdaten in Java schreibe dann kann die jeder ansehen da die JDatei Lokal abgespeichert wird. Bei PHP ist es nicht der Fall da dies nur Serverseitig ausgeführt wird.
 
Ich blicks nicht. Wie willst du denn eine Homepage gegen eine Applikation bzw. Applet austauschen?
Was eine Applikation ist sollte dir bekannt sein (Word, Firefox,...). Ein Applet ist Java Programm das vom Browser gestartet wird.
 
OK, dann ist es wohl ein Applet was ich machen wollte ^^

Naja, austauschen will ich es nicht ganz, aber ein Applet wird vom Browser aufgeruffen. In diesen lassen sich Buttons einsetzen die alle einen Icon bekommen und eine Navigation durch die Seite ermöglichen. Bilder lassen sich auch Laden die dann für das Design verwendet werden. Das ganze soll so aussehen wie in Flash nur halt mit JApplet.
 
Die Idee hört sich für mich zwar nicht so prikelnd an, aber ist ja nicht mein Bier.
F1: Der User hat eventuell kein Java
F2: ein Applet kann eine Verbindung zum Server aufnehmen.
F3: Hängt davon ab was du vorhast. Für das Applet ist es egal was da auf dem Server läuft.
 
Das hat mit Applets rein gar nichts zu tun.

Was du brauchst sind Servlets (JSPs) die auf dem Server
die bisherigen PHP-Anweisungen ersetzen.
 
Leroy42 hat gesagt.:
Das hat mit Applets rein gar nichts zu tun.

Was du brauchst sind Servlets (JSPs) die auf dem Server
die bisherigen PHP-Anweisungen ersetzen.
Dachte ich ja eigentlich auch, aber er will ja was Flashartiges für die Navigation und das wäre dann schon ein Applet
 
So, habe nun was versucht was aber irgendwie nicht unbedingt klappt, weis ich auch nicht wieso.

Code:
// Hier der Java Code
package Homepage;

import java.applet.*;
import java.awt.*;

public class UserInterface extends Applet{
	
	public static void main(String[] args) {
		UserInterface homepage = new UserInterface();
	}
	
	// Aufruf beim Start als Applet
	public void init() {
		Frame f =   new Frame( "Das Fenster zur Welt" );  
	    f.setSize  ( 300, 200 );
	    f.setVisible  ( true );
	}
}

Code:
// Und hier der HTML Code
<html>
<head>
<title>Java-Applets einbinden</title>
</head>
<body>
  <applet code="UserInterface.class" width="800" height="600">
  </applet>
</body>
</html>

Natürlich liegt die class Datei in dem selben ordner wie die html Datei.
 
weis ich nicht -.- aber das doch nicht der Grund wieso das Programm nicht läuft oder?
Wenn ich das Programm mit Eclipse ausführe läuft alles, wenn mit der html Datei dann läuft nix.
 
Ömm, hmm, wie schon gesagt, in eclipse Kompiliert und führt er das Applet ganz normal aus.
Die HTML Datei habe ich in Eclipse aber auch nicht drinne.

edit: Hmm, beim Kompilieren kommt zwar kein Fehler jedoch eine Warnung:
Die serialisierbare Klasse UserInterface deklariert kein statisches finales Feld 'serialVersionUID' des Typs 'long' Homepage/Homepage UserInterface.java Zeile 6
 
Ohne dir zu nahe treten zu wollen, bleib erst noch ein bisschen im Unterricht und Versuch dich an kleineren Projekten, bevor du ihr komische Sachen machst und selber net weißt, was du tust 😉 .
 
Die Warnung bekommt man zu sehen, wenn das Interface java.io.Serializable im Spiel ist. Bis Java 1.4.2 war es nicht Pflicht (keine Warnung), eine spezielle Variable in den Code einzufügen. Dann kam es beim Deserialisieren zu nicht behebbaren Fehlern, die auf unterschiedliche Klassenversionen eines Objektes zurückzuführen waren. Seit Java 1.5 muss diese Variable eingefügt werden, um dieses Problem zu umgehen.
Ist aber nichts Schlimmes, wenn der Code in Ordnung ist und alle Objekte die gleiche Klassenversion haben (komplett neu kompiliert und serialisierte Objekte gelöscht), wird das Programm trotzdem funktionieren, weil die Serialization Runtime einen Standardwert für diese Variable erzeugt.

Das Problem kann umgangen werden, wenn du in deine Klasse ein statisches, finales Feld mit dem Namen "serialVersionUID" vom Typ long einsetzt.
http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html
Code:
static final long serialVersionUID = 1L;

Alternativ kannst du Eclipse so einstellen, dass sie diese Warnung ignoriert.
Preferences -> Java -> Compiler -> Errors/Warning -> Potential programming problems -> Serializable
 
Hobbit_Im_Blutrausch hat gesagt.:
Ohne dir zu nahe treten zu wollen, bleib erst noch ein bisschen im Unterricht und Versuch dich an kleineren Projekten, bevor du ihr komische Sachen machst und selber net weißt, was du tust 😉 .

Ich frage mich was dieser Kommentar (siehe Quote) bringen soll :?:
Bei meinem Problem hilft es nicht weiter :bahnhof:
Was neues lerne ich daraus auch nicht ???:L

Meine Idee werde ich ganz sicher nicht hinschmeißen da ich ja was lernen will und nach deinem Kommentar zu beurteilen scheint es so als ob du jeder neuer Information das Lernen verweigerst, oder denkst dass wenn nur einer was nicht kann es auch nie lernen wird. :bloed:
 
Wildcard hat gesagt.:
Wenn ein Applet nicht gestartet wird muss was in der Fehlerkonsole stehen.

Ach jetzt habe ich es ^^
Dachte du meinst die Fehlerkonsole in Eclipse, dabei muss ich nur auf das leere Fenster, wo normelerweise das Applet erschienen währe, rechtsklicken und die Java Konsole aufruffen ^^




Code:
java.lang.NoClassDefFoundError: UserInterface (wrong name: Homepage/UserInterface)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:163)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:119)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:591)
	at sun.applet.AppletPanel.createApplet(AppletPanel.java:721)
	at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1781)
	at sun.applet.AppletPanel.runLoader(AppletPanel.java:650)
	at sun.applet.AppletPanel.run(AppletPanel.java:324)
	at java.lang.Thread.run(Thread.java:595)
java.lang.NoClassDefFoundError: UserInterface (wrong name: Homepage/UserInterface)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:163)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:119)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:591)
	at sun.applet.AppletPanel.createApplet(AppletPanel.java:721)
	at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1781)
	at sun.applet.AppletPanel.runLoader(AppletPanel.java:650)
	at sun.applet.AppletPanel.run(AppletPanel.java:324)
	at java.lang.Thread.run(Thread.java:595)

Habe jetzt den Quelltextabschnitt
Code:
package Homepage;

entfernt, und schon läuft es.
Wer weiß wieso :?:
 
Ich sage nicht, dass du deine Idee verwerfen sollst oder aufhören sollst zu lernen, aber bei deinem momentanen Kenntnisstand wird das Projekt nie was. Ich hab dir ja den Tipp gegeben, dich erstmal an leichteren Aufgaben zu versuchen bevor du dich an sowas ran machst. Wenn du mehr Erfahrung hast, dann musst du entscheiden was du möchtest. JSPs kombiniert mit Servlets => Ersatz für PHP oder eine animierte, neue navigation, die aber nur User ausführen können, die auch Java installiert haben => Applets.

Vorher sehe ich für dich leider schwarz. Du kannst keine Website von php in Java umsetzen, wenn du nicht mal die Basics beherrscht. Man kann evtl. PHP auf diese Art lernen, PHP ist ja für nichts anderes gemacht, aber keine komplexe Programmiersprache wie Java! eine Webanwendung ist nur ein kleiner Bereich, den man mit Java realisieren kann.
 
Hobbit_Im_Blutrausch hat gesagt.:
Ich sage nicht, dass du deine Idee verwerfen sollst oder aufhören sollst zu lernen, aber bei deinem momentanen Kenntnisstand wird das Projekt nie was. Ich hab dir ja den Tipp gegeben, dich erstmal an leichteren Aufgaben zu versuchen bevor du dich an sowas ran machst. Wenn du mehr Erfahrung hast, dann musst du entscheiden was du möchtest. JSPs kombiniert mit Servlets => Ersatz für PHP oder eine animierte, neue navigation, die aber nur User ausführen können, die auch Java installiert haben => Applets.

Vorher sehe ich für dich leider schwarz. Du kannst keine Website von php in Java umsetzen, wenn du nicht mal die Basics beherrscht. Man kann evtl. PHP auf diese Art lernen, PHP ist ja für nichts anderes gemacht, aber keine komplexe Programmiersprache wie Java! eine Webanwendung ist nur ein kleiner Bereich, den man mit Java realisieren kann.

1. Mir ist klar dass nur User dies ausführen können die Applets installiert haben, dies trifft auch auf die meisten zu.
2. PHP soll nicht ersetzt werden, lediglich die HTML Benutzeroberfläche.
3. Dass die Webanwendung nur ein kleiner Bereich von java ist ist mir auch schon klar, da ich aber mit Applet´s noch NIE was zutun hatte, hatte ich davon auch keine ahnung doch studieren geht über probieren.
 
Gut, dann schaut die Sache schon ganz anders aus 😉 . Bis jetzt ist aus keinem deiner Posts (für mich verstänldich) hervorgegangen, dass es sich lediglich um eine Navigation auf verschiedene Teile deiner Homepage geht und nicht um das komplette ersetzen deiner Webanwendung.

Ich nehme alles zurück und behaupte das Gegenteil 😉 . Ich habe auch ziemlich am Anfang angefangen eine website komplett aus applets zusammen zu bauen. Heute seh ich, dass das einfach nur kacke aussieht, aber es war eine gute Erfahrung und hat mich weiter gebracht und die Homepage, die ich damit aufgebaut hab, wird schon seit langem net mehr gefplegt 😉 .
 
Leroy42 hat gesagt.:
d3rbastl3r hat gesagt.:
1. Mir ist klar dass nur User dies ausführen können die Applets installiert haben, dies trifft auch auf die meisten zu.
:shock:

Jetzt gebe ich Hobbit auch Recht. ( 😎 )

Meine natürlich Java (Applets können nur von Usern ausgeführt werden die Java installiert haben)

Hobbit_Im_Blutrausch hat gesagt.:
Ich habe auch ziemlich am Anfang angefangen eine website komplett aus applets zusammen zu bauen. Heute seh ich, dass das einfach nur kacke aussieht, aber es war eine gute Erfahrung und hat mich weiter gebracht und die Homepage, die ich damit aufgebaut hab, wird schon seit langem net mehr gefplegt

Nun ja, gelernt hast dabei sicher ne menge über java 😎
 
Hmm, kennt einer gute HomePage mit Java Tutorials -> AWT ?
Brauche die Klassen von AWT und deren Methoden mit beschreibung damit ich weiß welche Elemente mir in AWT zur verfügung stehen.
 
Hi,

wenn ich mal meinen Senf dazugeben darf:

ich glaube nicht, dass du Erfolg haben wirst, wenn du gleich mit Applets anfängst. GUI-Programmierung kommt IMMER nach den Grundlagen. Ein gutes Buch wäre "die Insel" (such hier mal danach).

Wenn du Java lernen willst, musst du eine sehr steile Lernkurve in Kauf nehmen. D.h. am Anfang wirst du nicht viel sinnvolles programmieren können. Und wenn du schon in Richtung Webentwicklung gehen willst, dann befasse dich nach den Grundlagen mit Servlets. Damit kannst du dann das machen, was du auch mit PHP machen kannst - nur besser. Servlets kannst du aber nicht auf jedem Hosting-Angebot der Feld-Wald-und-Wiesen-Provider laufen lassen; du brauchst dazu einen Servlet Conatiner, wie z.B. den Apache Tomact.
 
d3rbastl3r hat gesagt.:
Hmm, kennt einer gute HomePage mit Java Tutorials -> AWT ?
Brauche die Klassen von AWT und deren Methoden mit beschreibung damit ich weiß welche Elemente mir in AWT zur verfügung stehen.

dazu musst du in die API Docs gucken
 
Ich gebe zu das überlesen zu haben, da ich übersehen hatte, dass der Thread mehr als eine Seite hat. Aufgrund meines Altersstarrsinns musste ich aber posten.
 
Caffè Latte hat gesagt.:
Hi,

wenn ich mal meinen Senf dazugeben darf:

ich glaube nicht, dass du Erfolg haben wirst, wenn du gleich mit Applets anfängst. GUI-Programmierung kommt IMMER nach den Grundlagen. Ein gutes Buch wäre "die Insel" (such hier mal danach).

Wenn du Java lernen willst, musst du eine sehr steile Lernkurve in Kauf nehmen. D.h. am Anfang wirst du nicht viel sinnvolles programmieren können. Und wenn du schon in Richtung Webentwicklung gehen willst, dann befasse dich nach den Grundlagen mit Servlets. Damit kannst du dann das machen, was du auch mit PHP machen kannst - nur besser. Servlets kannst du aber nicht auf jedem Hosting-Angebot der Feld-Wald-und-Wiesen-Provider laufen lassen; du brauchst dazu einen Servlet Conatiner, wie z.B. den Apache Tomact.

Naja, wie ich schon erwähnt habe habe ich Java in der Schule als einer der Hauptfächer
Mache übrigens (Fachabitur als Informationstechnischer Assistent) im dritten Jahr.

Braucht mir also nicht immer wieder, immer wieder, immer wieder, immer wieder, ... sagen dass ich erst die Gruntlagen lernen soll da ich die einwenig beherrsche, nunja, soweit JBuilder zulässt. Privat programmiere ich unter Linux mit Eclipse (naja, bis das Projekt abflug machte und die .java datei sich ohne neuen Projekt zu erstellen nicht einfügen ließ) jetzt progge ich erstmal mit Kate. Habe auch schon als Projekt für die Schule VierGewinnt programmiert. Da aber JBuilder alles im bereich Grafik übernimmt kann ich dies nicht wollte aber mal lernen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben