API Nutzung SERVLET

newbie2009

Bekanntes Mitglied
hey leute bin neu auf dem Gebiet von Servlets,

habe schon gegooglet aber irgendwie fehlen mir wohl die passenden Schlagwörter.

Also ich möchte eine Anbindung an eine API, ich weiß bei AJAX kann man ja mit dem xmlhttpRequest, bestimmte Ressourcen anfordern, aber wie funktioniert das im Servlet???
geht das auch über die request bzw responste objekte?

ich möchte dem servlet, eine url übergeben, der dann von dieser seite eine xml bekommt und diese dann parsen.


vielen Dank

im Voraus
 
S

SlaterB

Gast
das Servlet soll selber Informationen von woanders laden?
tja das geht wohl so wie jeder normale Java-Client, URLConnection oder HttpClient,

die URL kannst du an das Servlet genau so übergeben wie jede andere Info auch, innerhalb des Server-Programms per Java-Methoden-Parameter oder Attribut in Request/Session,
von außen über HTTP einer der Parameter der Anfrage wie alle anderen
 

newbie2009

Bekanntes Mitglied
ah ok, aber sobald ich ein neues httpClient objekt erzeuge,
kommt die MEldung "the constructor is not visible" , habe schon die modifier auf public etc gestellt,
aber funzt nicht,

woran könnte es liegen ?
 

newbie2009

Bekanntes Mitglied
ja das Vorgehen an sich ist mir schon klar :)


das Tutorial habe ich schon gelesen ^^
aber bei mir klappt nicht mal das erstellen des Objekts.

HttpClient client = new HttpClient();

sprich hier kommt schon die Meldung "The Construcor HttpClient is not Visible".

mfg :rtfm:
 
S

SlaterB

Gast
tja, ich kann dazu nicht direkt weiterhelfen, diesen exakte Fehlermeldungs kennt nichmal google,

wie sieht der Import aus, ist das auch die richtige API oder nicht eine völlig andere Klasse?
 

ARadauer

Top Contributor
...HttpClient client = new HttpClient();

sprich hier kommt schon die Meldung "The Construcor HttpClient is not Visible".

mfg :rtfm:

echt?
HttpClient - HttpClient Tutorial
beschreibt es genau so...

Also ich möchte eine Anbindung an eine API, ich weiß bei AJAX kann man ja mit dem xmlhttpRequest, bestimmte Ressourcen anfordern, aber wie funktioniert das im Servlet???
du brauchst keine xmlhttpRequest du bist bereits am server...

Ich würd auch gar keinen HttpClient nehmen... mit BufferedReader von einer Url lesen..

Java:
 URLConnection con = new URL(urlString).openConnection();
         con.connect();
         BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
         String line = null;
         while ((line = reader.readLine()) != null) {
            System.out.println(line);
//hier jetzt was mit dem content machen...
         }
bzw wenn die Resource auf deinem eigenen Server liegt... einfach von einem File lesen...
 
S

SlaterB

Gast
an sich ist XML nur Text, also Strings, kannst du interpretieren wie du willst,
manche höhere Parser sind in der API (SAX, DOM), andere extern
 

newbie2009

Bekanntes Mitglied
Java:
import java.util.*;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Reader;
import java.net.*;
import java.io.BufferedReader;
import org.xml.sax.*;
import org.xml.sax.helpers.XMLReaderFactory;




public class anfrage{


BufferedReader rd  = null;
StringBuilder sb = null;
String line = null;

  public static void main( String args[] ) throws Exception
  {
	  
 
	  
    URL url = new URL( "http://api.qype.com/v1/places/?show=berlin&consumer_key=xxxxxxxx" );
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    conn.setRequestMethod("GET");
    conn.setAllowUserInteraction(false); // no user interact [like pop up]
    conn.setDoInput(true); // will empfangen 
    conn.setRequestProperty( "Content-type", "text/xml" );
    
    
    java.io.InputStream in = conn.getInputStream();
    System.out.print(in.read());
    
    
    
    
    
    try {
        XMLReader parser = XMLReaderFactory.createXMLReader();
        Reader reader = new InputStreamReader(in,"UTF-8");
        
        InputSource is = new InputSource(reader);
        is.setEncoding("UTF-8");
         
        parser.parse(is);
      
      }
      catch (SAXException e) {
      
      }

    
    
    conn.disconnect();

  
    
    

    
    
   


  }
}

Soweit müsste es funktionieren, jedoch besteht hier das problem, dass [Fatal Error] :1:1: Content is not allowed in prolog."
Soll angeblich daran liegen, dass das xml keinen richtigen header hat, ist auch so :)
aber wie kann ich das problem nun lösen ..
 
S

SlaterB

Gast
mit BufferedReader Datei textuell analysieren oder fehlende Zeilen zur gehobenen Verarbeitung ergänzen
 

newbie2009

Bekanntes Mitglied
ich habe jetzt noch einen String angehangen aber irgendwie geht es trotzdem nicht:(
Java:
String header ="<?xml version=\"1.0\" encoding=\"utf-8\"?>";


 try {
        XMLReader parser = XMLReaderFactory.createXMLReader();
        Reader reader = new InputStreamReader(in,"UTF-8");
        
        InputSource is = new InputSource(reader);
        is.setEncoding("UTF-8");
         
        parser.parse(header+is);
 
S

SlaterB

Gast
so gehts auch nicht gerade, so baust du einen String zusammen a la
[c]<?xml version=\"1.0\" encoding=\"utf-8\"?>InputStream@54566[/c]
und der XMLReader such dann eine Datei mit diesem Namen..

am überschaulichsten ist wohl, die XML-Datei auf der Festplatte zwischenzuspeichern, mit FileWriter usw.,
dabei erst die eine Zeile schreiben, dann die Zeilen aus dem Stream, von dort mit BufferedReader zeilenweise gelesen,
beim Schreiben die Zeilenumbrüche nicht vergessen
wenn die Datei fertig ist, diese dann wieder einlesen und als Stream übergeben,

na immer noch schwierige Sache, vielleicht hilft Code a la
Java: File I/O - Text Files
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Java Servlet doPost request, Mehrere Parameter mit demselben Namen aus Tabellenzeilen Web Tier 2
R servlet-mapping führt zu 404-Fehlern Web Tier 0
B Servlet mit TomCat9 Web Tier 0
A redirect mit servlet-mapping in web.xml Web Tier 4
J Wie Mouse Event in Servlet einbinden? Web Tier 1
D JSF Servlet Mapping Web Tier 3
J Session Servlet - JavaScript Web Tier 6
D Servlet 1 Servlet für alles - Wie Cookies per Ajax? Web Tier 1
S Problem mit Checkboxen im Servlet erkennen Web Tier 3
Todesbote Servlet MVC Design Pattern Web Tier 1
A Anfänger-Frage Servlet/Applet/JSP Web Tier 0
Shams Allgemeine Verständnisfrage zum Thema Servlet (in Vaadin) Web Tier 2
H File Output Servlet Web Tier 6
I vTiger Astersik Connector: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet Web Tier 0
OnDemand Servlet oder JSP Web Tier 12
H Servlet/JSP und OSGI Web Tier 2
L Servlet Datenbank Web Tier 0
D Java EE Servlet login Problem Web Tier 1
W Servlet SPEICHERN UNTER-Dialog für mehrere Dateien Web Tier 4
A Faces Context nicht mehr erreichbar nach Servlet Aufruf Web Tier 1
S Java Bean und Java Servlet Web Tier 2
D Servlet Servlet Weiterleitung static html Web Tier 5
G GWT 404 - Servlet nicht gefunden Web Tier 6
H Applet wirft AccessControlException bei File von Servlet Web Tier 3
H Servlet lässt sich nicht deployen Web Tier 7
C Kommunkation Servlets/Browseraufruf Servlet Web Tier 4
F.S.WhiTeY Servlet Servlet wird nicht angesprochen Web Tier 3
J Servlet Zugriff Servlet Web Tier 11
A JSON von JavaScript an Servlet Web Tier 9
K Servlet + JSP: JSP-Seite ein Array/ArrayList überliefern vom Controller-Servlet Web Tier 8
0 Servlet.Properties Web Tier 3
P Servlet Wo gibt es das javax.servlet.Servlet? Web Tier 2
H Servlet Servlet nimmt HTTP-GET mit Parameter entgegen Web Tier 2
5 Bild Pfad Servlet Web Tier 2
D Datenbankzugriff im Servlet Web Tier 5
H Servlet Apache Geronimo: Servlet nicht erreichbar Web Tier 2
S Ich brauche Buchempfehlung über JSP und Servlet Web Tier 2
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
K Servlet URL Mapping Web Tier 3
S ClassPath für Servlet Web Tier 3
reibi Servlet Logging - Standard Servlet Web Tier 5
K Portlet, Servlet doGet und doPost Web Tier 4
reibi Servlet Alleinlaufendes Servlet bauen Web Tier 6
P Servlet wird nicht gefunden - HTTP Error 503 Web Tier 7
lukas24680 Servlet pro Request Web Tier 2
C Pageing mit JSp&Servlet Web Tier 5
D JSP JSP integriert ein Servlet... Wie? Web Tier 7
I Servlet vor Browser URL-Direktzugriff schützen Web Tier 3
N Servlet ausführen Web Tier 26
B statische Html Seite als response erhalten (Servlet) Web Tier 3
A javax/servlet/jsp/jstl/core/Config Web Tier 1
F Servlet mapping ;-) Web Tier 3
H Servlet Mapping mit JSF Web Tier 8
B (JSP)+(Struts2)+(Servlet) Konfiguration web.xml Web Tier 2
W MVC mit Bean, JSP und Servlet Web Tier 6
T Button im Servlet - Werte übergeben Web Tier 2
J werte per post an servlet übergeben und auswerten Web Tier 3
ruutaiokwu HttpServletRequest-instanz in servlet und JSP unterschiedlich? Web Tier 5
T Bild durch anderes Bild ersetzen mit Servlet Web Tier 3
E Mein erstes Servlet Web Tier 8
S Servlet automatisch aufrufen Web Tier 2
J Kommunikation zwischen Servlet und EJB Web Tier 6
C Image in Servlet Web Tier 2
S Servlet File Upload (API oder JSPSmart download) Web Tier 4
J Memory Leak in Servlet nach längere Laufzeit Web Tier 6
ruutaiokwu template engine gesucht ohne abhängigkeit zum servlet container Web Tier 2
G Servlet Ausgabe richtig benutzen Web Tier 4
W Servlet auf sich selbst verweisen lassen (Anfängerfrage) Web Tier 6
M Servlet Ausführungsfehler Web Tier 4
D Servlet alle 6h ausführen Web Tier 5
M Servlet & JSP Organisation Web Tier 2
J seltsames Auslastungsproblem bei Servlet Web Tier 7
ruutaiokwu JSF - läuft ausserhalb des servlet-containers? Web Tier 5
R Direkten Servlet-Aufruf verhindern (JSP) Web Tier 3
K Formularweiterleitung an Servlet Web Tier 5
N Servlet: Problem mit getParameterValues Web Tier 4
J Dateiupload- Servlet Web Tier 14
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
G Kommunikation Servlet + Applikation Web Tier 4
megachucky Welche Servlet-Version benötigt GWT 2.0? Web Tier 13
X Servlet Select box Web Tier 6
S Java Servlet Content Type Web Tier 3
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
M Servlet neuladen Web Tier 2
H Wie wurde ein Servlet aufgerufen Web Tier 2
J Servlet soll XML ausgeben und Javascript soll dieses einlesen Web Tier 3
H servlet fehlermeldung Web Tier 3
W JSP/Servlet Web Applikation programmierung Web Tier 9
J Faces response aus einem anderen Servlet heraus rendern Web Tier 4
E Servlet mit einem Link aufrufen? Web Tier 13
D Servlet FacesServlet is not available und Web Tier 3
S servlet bedienen mit get und post parameter Web Tier 10
S Laden von globalen Resourcen im Servlet Container..? Web Tier 3
T JBoss + Servlet + HTML Fileupload + Encoding Web Tier 1
2 Servlet: Pfad zu Webcontent Web Tier 6
J Servlet Sicherheit Web Tier 4
J struts2: vom value stack zum servlet Web Tier 14
D Servlet-Klassen und Templates trennen? Web Tier 18
MQue Servlet destroy Web Tier 11

Ähnliche Java Themen

Neue Themen


Oben