Servlet Servlet nimmt HTTP-GET mit Parameter entgegen

Hallo Leute,

ich habe ein Servlet programmiert: Wenn ich nun mit dem RestClient
HTML:
GET http://localhost:8080/MyServlet/path/requests
aufrufe wird die unten angegeben Methode aufgerufen und die XMl wird geantwortet.

Ich möchte aber gerne folgendes:
HTML:
GET http://localhost:8080/MyServlet/path/requests?var1=23&var2=45
requesten und dann je nach dem was hinter dem ? steht, dementsprechend reagieren..

Hätt gedacht des funktioniert folgendermassen:
Java:
    /**
     * Retrieves representation of an instance of resources.requests
     * @return an instance of java.lang.String
     */

    @GET
    @Produces("application/xml")
    @Consumes("text/plain")
    public String getXML(String request) {
        String resultSet = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
        resultSet = resultSet.concat("<date_created>"+ new Date(System.currentTimeMillis()).toString()+ "</date_created>");
        
        if(request.startsWith("var1")) resultSet = resultSet.concat("<tag2>blabla</tag2>");
        
        return resultSet;
    }
sodass String request die mittels GET überlieferte eingabe wäre.. Wie kann ich denn var1 und var etc. überprüfen?

Ich danke...!

Huck
 
S

SlaterB

hast du dir den Inhalt des Strings request schon angeschaut?
naheliegende erste Aufgabe

falls du kein Logging wie System.out.println() hast, ist das für sich bedenklich,
vorerst reicht in dem Fall aber vielleicht, den String in die Antwort reinzuschreiben und diese anzuschauen
 
Hab ich so gelöst ;)


Java:
    @GET
    @Produces("application/xml")
//    @Consumes("text/plain")
    public String getXML(@QueryParam("var1") String v1, @QueryParam("var2") String v2) {
        
        String resultSet = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
        resultSet = resultSet.concat("<date_created>"+ new Date(System.currentTimeMillis()).toString()+ "</date_created>");
        
        resultSet = resultSet.concat("<vars>"+v1+","+v2+"</vars>");
        
        return resultSet;
    }
 
Passende Stellenanzeigen aus deiner Region:

Oben