# Parameter an Servlet übergeben



## mar05 (3. September 2007)

Ich möchte von einem ApplicationServer (genauer: aus einer JSF-Anwendung) ein Servlet aufrufen. Dieses benötigt 3 Parameter und hat die doGet-Methode implementiert. 
Wie kann ich da diese Parameter übergeben:

<form action="servletName" method="post">
<label for="Parameter1">Param1</label><input type="text" name="Parameter1"/><br/>
<input type="submit"/>


Danke für jede Hilfe,
mar05


----------



## limago (3. September 2007)

mar05 hat gesagt.:


> Ich möchte von einem ApplicationServer (genauer: aus einer JSF-Anwendung) ein Servlet aufrufen. Dieses benötigt 3 Parameter und hat die doGet-Methode implementiert.
> Wie kann ich da diese Parameter übergeben:
> 
> <form action="servletName" method="post">
> ...



Hi,

Ich verstehe Deinen Post nicht. Willst Du aus Deinem JSF-Javacode heraus ein anders Servlet auf einem Fremdrechner abfragen um an Daten eines andern Servers zu gelangen? Dann musst Du einen TCP-IP Socket öffnen und den anderen Server abfragen. 

Oder möchtest Du ein HTML-Formular erzeugen, dass Daten des anderen Servers via Get-Methode abfragt? Danach sieht der HTML-Teil in Deinem Post fast aus. Dann musst Du statt der Post-Methode


```
<form action="servletName" method="post">
```

die Get-Methode 


```
<form action="servletName" method="get">
```

verwenden. Deine Tags sehen aber gar nicht nach JSF aus. Das ist doch pures HTML. Vielleicht klärst Du mich auf, dann kann ich vielleicht helfen.

Gruss


----------



## mar05 (3. September 2007)

limago hat gesagt.:


> Hi,
> 
> Ich verstehe Deinen Post nicht. Willst Du aus Deinem JSF-Javacode heraus ein anders Servlet auf einem Fremdrechner abfragen um an Daten eines andern Servers zu gelangen? Dann musst Du einen TCP-IP Socket öffnen und den anderen Server abfragen.
> 
> ...



Aus einer JSF-Webanwendung soll das auf der gleichen Machine laufende Servlet (eine separate Webanwendung) angesprochen werden. Die GET-Methode kommt nicht in Frage, da einer der notwendigen Parameter eine gestreamte xml-Datei und ziemlich groß ist.



limago hat gesagt.:


> Deine Tags sehen aber gar nicht nach JSF aus. Das ist doch pures HTML. Vielleicht klärst Du mich auf, dann kann ich vielleicht helfen.
> Gruss



Der Code ist von der Testseite, die das Servlet startet, hat nichts mit der Anwendung zu tun. Ich will die gleiche Funktionalität, ohne solch eine Seite benutzen zu müssen..


----------



## limago (3. September 2007)

Hi,

wenn der funktionale Teil auf der selben Maschine läuft und der Code sauber modularisiert ist, solltest Du die Geschäftslogik doch direkt aufrufen können. 

Ansonsten verstehe ich das immer noch nicht Du schreibst:



> Ich möchte von einem ApplicationServer (genauer: aus einer JSF-Anwendung) ein Servlet aufrufen. Dieses benötigt 3 Parameter und hat die doGet-Methode implementiert.



Also ist doGet implemtiert, aber Du schreibst auch..



> Die GET-Methode kommt nicht in Frage, da einer der notwendigen Parameter eine gestreamte xml-Datei und ziemlich groß ist.



Also muss auf dem Servlet doPost auch implementiert sein, sonst würde das ja gar nicht gehen.


Wenn das Ganze jedoch im Servlet direkt implementiert ist (es graust mich  ), und das Servlet auch die postMethode überschrieben hat, dann musst Du wohl einen TCP-IP Socket öffnen und Deine Parameter in den OutStream des Sockets schreiben. 

Ich würde sauberes MVC bevorzugen, das löst Deine Probleme, wenn Du das andere Servlet anpassen magst (kannst).

Gruss


----------

