# Was ist bei einem Servlet beim Client notwendig?



## Ahi (12. Okt 2006)

hallo zusammen,

Das Prinzip eines Servlets hab ich verstanden, es liegt auf dem Server, wird dort 
auch ausgeführt und erzeugt "hml code" steht auf jedenfall so hier in dieversen Threads.

Die eigentlich Frage steht ja schon im Betreff.
Ich vermute mal das der Client dann mit einem ganz normalen Standart browser arbeiten kann?

Wenn ich nun eine Webseite html hab auf der ein kleiner Teil mit diesem Servlet erzeut werden soll.
Wie binde ich das dann dort ein?

Sorry Leute wenn ich da nun total auf dem holzweg bin.


Danke schon mal.
Grüße
Alex


----------



## SlaterB (12. Okt 2006)

erste Frage: ja, für den Client ist es nicht ersichtlich, ob der Server eine einfache HTML-Seite, PHP, Servlets oder was auch immer verwendet,
es kommt immer HTML-Code an, evtl. mit Extras wie Java-Applets, JavaScript, Flash oder sowas,
aber das ist auch relativ unabhängig von der Art des Servers

-----------

das mit dem 'kleinen Teil' ist eine Frage für die Server-Seite?,
der Client hat mit dem zusammenbauen nix zu tun falls er wie ein normaler Browser fungiert,
natürlich kann man auch Clients bauen die mehrere HTML-Seiten zusammenfügen,

so ähnlich sieht das ja auf dem Server auch aus,
jeder Server baut im Grunde nur viele viele HTML-Bausteine zusammen,
wenn einer dieser Bausteine statt '<br / >' eine ganze HTML-Seite ist, ändert sich das Prinzip ja nicht,

HTML-Teile fügt man zusammen, indem man sie zum Beispiel nacheinander in eine Datei schreibt/ nacheinander anzeigt/ nacheinander an den Browser schickt,
ganz trivial,

oder was ist deine Frage?


----------



## Ahi (12. Okt 2006)

Hallo,
Dank dir der erste teil hat sich somit schon mal geklärt 

nun zum kleinen Teil nochmal genauer.


Der user ruft eine Seite bei mir auf die nennt sich index.html

In dieser index.html möchte ich einen kleinen teil dynamisch mit einem java servlet ausgeben lassen.

wie schreib ich diesen teil nun in diese html datei?

Grüße
Alex


----------



## SamHotte (12. Okt 2006)

Gar nicht. Das Servlet erzeugt die gesamte index.html (d.h., du brauchst einen Tomcat oder JBoss). Alternativ kannst du natürlich php einsetzen, falls dein Webserver das kann.


----------



## SlaterB (12. Okt 2006)

oh, da kenne ich persönlich wenig automatisches, vielleicht wer anders,
mit JavaScript und noch höherem ist vieles möglich, 

mein Allgemeinvorschlag:
die Anwendung macht den Request und baut das Ergebnis ein,

da ist die Frage (für andere):
redest du von einem normalen Browser, der eine lokale Anwendung aufruft,
oder einen komplett eigenen Browser,

soll die Seite komplett neugeladen und dabei andere Daten eingebunden werden,
oder gehts darum eine Seite konstant anzuzeigen und einen kleinen Teil darin zu verändern?


----------



## Ahi (12. Okt 2006)

Ich hab grad mal etwas gesucht und was vergleichbares ist möglicherweise(weis nicht genau)

Diese Google werbung die da oben eingeblendet wird.

Da wird ja auch durch ein script dynamischer Inhalt auf eine Html Seite geworfen.
Sowas such ich, und das läuft eben auch auf normalen HTML Dateien und nicht nur mit php.
Mit PHp hätt ich das schon lange gelöst, aber das muß auch auf html Basis laufen.


@SamHotte

kurze kanckige erklärung zu "Tomcat oder JBoss"?!


----------



## HLX (12. Okt 2006)

Ahi hat gesagt.:
			
		

> Der user ruft eine Seite bei mir auf die nennt sich index.html
> 
> In dieser index.html möchte ich einen kleinen teil dynamisch mit einem java servlet ausgeben lassen.
> 
> wie schreib ich diesen teil nun in diese html datei?



Du verwendest JSP. Hier kannst du deinen Java-Code in eine HTML-Seite einbetten oder JSP-Tags verwenden. Die Dateiendung für deine Datei lautet .jsp

Damit das Ding läuft brauchst du einen Server, der mit Java umgehen, respektive Java Servlets verarbeiten kann, z.B. Tomcat oder JBoss. Ein einfacher Webserver wie der Apache HTTP-Server kann das nicht.


----------



## Ahi (12. Okt 2006)

@HLX



> Die Dateiendung für deine Datei lautet .jsp



Wenn ich die Dateiendungauf .jsp ändern muß kann ich ja gleich php nehmen und grade das will ich ja nicht
ich möchte gern das die Dateiendung der Grunlegenden html Datei auf index.html bleibt.

Andere Überlegung:
könnte ich mit "Javascript" ein Javaservlet ansprechen und so die Dynamsichen Inhalte bekommen?


----------



## SlaterB (12. Okt 2006)

der Name einer Datei ist unabhängig von seiner Entstehung, 
siehe dir diese Forum an, was steht da oben im Browser?

weder html noch jsp sondern 
http://www.java-forum.org/de/viewtopic.php?t=37752

Mist, da steht dann ja .php ,
aber dennoch, unter http://www.google.de/ 
findest du auch irgendwas, was dann weder auf .html, .jsp, .php endet,
der Inhalt ist eh immer HTML (z.B. alles läßt sich als HTML-Seite speichern),
wie das ganze entstand ist unbekannt,

ihr diskutiert über JSP, dabei sind noch nicht mal die einfachsten Grundlagen geklärt,
siehe die Fragen in meinem letzten Post,
um was für eine Seite geht es überhaupt, willst du eine ganz normale komplette WebAnwendung bauen?

na wenn dir 'Tomcat' nichts sagt, dann wirst du sicher wenig wissen,
aber vielleicht kannst du das gewünschte Verhalten noch mehr beschreiben

soll das im Internet erreichbar sein
oder gehts nur lokal um eine Seite,

Browser oder was anderes, 

...


----------



## Ahi (12. Okt 2006)

Ok,

eine Standart html seite geschrieben in einem text editor.
Per FTP auf einen Apache Websever hochgeladen.
und mit einem Browser IE(5.was weis ich) aufgerufen.

Soll nun dynamsichen Text der in einer DB steht  anzeigen.

Diese Serverlets, so dachte ich, kann ich in ene HTML Datei einbinden in etwa so wie ich ein Flash Bestandteil einbinde.
(Da muß ich die Dateiendung der HTML Datei ja auch nicht ändern)
Funktioniert ja leider nicht :-(

Also such ich nun eine andere Möglichkeit. 
Hier, diese Werbeadds von Google da geht doch das auch ds ist doch im Prinzip das gleiche oder?

Das problem ist wenn die Seiten nicht schon bestehen würden könnte ich sie neu machen und zwar mit php da kann ich dann inhalte bestimmen. Will ich aber nicht die bereits vorhandenen Datein sollen genau so bleiben wie sie sind.
Es soll nur noch diese Dynamische Kleinigkeit hinzu gefügt werden.


----------



## Leroy42 (12. Okt 2006)

Ahi hat gesagt.:
			
		

> Diese Serverlets, so dachte ich, kann ich in ene HTML Datei einbinden



Genau dafür sind JSP (Java Server Pages) gedacht.

Während ein Servlet ein Java-Programm ist in dem HTML-Code erzeugt wird ist es bei einer JSP
genau umgekehrt.

Aus


```
<html>
  <body>
    <h1> Jetzt wird gerechnet!</h1>
    6 * 7 = <%=  6*7>
  </body>
</html>
```
wird:



			
				Browser hat gesagt.:
			
		

> *Jetzt wird gerechnet!*
> 
> 6*7 = 42



JSPs sind also stinknormale HTML-Dateien in denen Java-Code eingefügt wird.

(Das daraus auf dem Server automatisch ein Servlet _gebastelt wird_, braucht dabei nicht zu interessieren)


----------



## Ahi (12. Okt 2006)

Dieser Code den du oben geschrieben hast kann ich also
in eine index.html setzen und das funktioniert?

Was muß dazu auf dem Server verfügbar sein?
ich hab grad nämlich mal versucht aber das haut logischerweise nicht hin.


----------



## Leroy42 (12. Okt 2006)

Dazu muß auf dem Server ein Servlet-Container (Resin, Tomcat, ...)
installiert sein.

Standar*d*mäßig muß die Datei dann einfach die Endung ".jsp" haben und
einfach irgendwo upgeloaded werden.

Es ist prinzipiell möglich, den Servlet-Container so zu konfigurieren, daß
er auch ".html"-Endungen als JSP-Seiten erkennt, davon würde ich aber
tunlichst abraten.

Im Übrigen können auch ganz normale HTML-Seiten die Endung ".jsp" haben,
da der Container smart genug ist zu erkennen, ob es auf der Seite überhaupt
Java-Quellcode gibt und nur im positiven Fall ein Servlet generiert.


----------



## Ahi (12. Okt 2006)

Dann bringt mich das nicht weiter die endungen .html muß an den Dateien dran bleiben.

Das ma die Endung ändern kann und der html code troztdem funktioniert weis ich. PHP code könnte ich ja auch mit in die Datei nehmen, nur muß ich dann auch die endung auf php setzen damit mein Server das interpretiert. Der HTML code wird trotz andere Endung mit ausgeführt.

Ich stelle fest ich bin soweit wie vorher.

Ich will die Dateiendung der bestehenden Dateien nicht ändern
und denoch dynamische inhalte haben. Mir schient die einzige sprache mit der das geht ist javascript.

da kann meine datei schon weiterhin index.html heißen und die Daten können mit Javascript geändert werden. bleibt nur noch mein problem das ich damit keine Datenbank ansprechen kann.

Ok ich glaub ihr habt mir mal ein Stück weiter geholfen
mal sehen wie sich das weiter entwickelt und wo ich des Räzels Lösung finde.


----------



## SamHotte (12. Okt 2006)

Wieso muss die Endung denn gleich bleiben?  ???:L


----------



## Ahi (12. Okt 2006)

Weil die Datein schon bestehn, und das sind viele viele viele inclusive entsprechender Links dazu...


----------



## SamHotte (12. Okt 2006)

Dann nimmste dir 'nen guten Editor her (bspw. TextPad) und machst "Suchen/Ersetzen" über alle Dateien


----------



## Leroy42 (12. Okt 2006)

Ahi hat gesagt.:
			
		

> Ich will die Dateiendung der bestehenden Dateien nicht ändern
> und denoch dynamische inhalte haben.



Und genau das geht nicht!

Die Forderung, die Dateiendungen zu erhalten *und* diese
Seiten dynamisch zu machen ist schlicht und einfach *Schwachsinn*!




			
				Ahi hat gesagt.:
			
		

> ich des Räzels Lösung finde.



Wieso bloß bekomme ich auf einmal Heißhunger auf






 :shock:


----------



## Ahi (12. Okt 2006)

Na sicher gehts, das ist ja mein Problem.
Jeder der es nicht glaub kann sich die Goggle Werbung hier oben ansehen.

funktioniert hier, funktioniert in einer ganz normalen HTML Datei
und ist dynamsich. Was heißt hier also unmöglich?


----------



## Leroy42 (12. Okt 2006)

Ahi hat gesagt.:
			
		

> Jeder der es nicht glaub kann sich die Goggle Werbung hier oben ansehen.



Und womit glaubst du, wird der Einbau der verschiedenen Google Anzeigen
gemacht? Mit PHP!!!


----------



## Ahi (12. Okt 2006)

hüsstel.... ne nicht wirklich ;-)
schau dir mal den Quelltext an. Noch nie selbst Google Werbung eingebaut?

Das ist Javascript das auf ein Javaservlet zugreift 
Soweit ich das in einem anderen Forum grad recherschiert hab sollte das gehn....


----------



## Leroy42 (12. Okt 2006)

Ahi hat gesagt.:
			
		

> Das ist Javascript *das auf ein Javaservlet zugreift*



Eben! Also ist doch etwas dynamisches beteiligt!


----------



## Ahi (12. Okt 2006)

Ich glaub ich habs soweit.
Danke das ihr euch mir angenommen habt.
Ich denke wenn es an die programmierung des servlets geht werd ich euch wieder mit Fargen löchern *gg*


----------

