I can't really tell you what to do with the servlet request, but that may not be your problem:
private static Map<Double, String> DRESSES = new HashMap<Double, String>();
DRESSES.put(149.99, "Alfred Angelo");
DRESSES.put(149.00, "David’s Bridal");
DRESSES.put(159.99, "Jenny Woo");
DRESSES.put(140.99, "Lela Rose");
DRESSES.put(189.99, "Donna Morgan");
DRESSES.put(139.00, "After Six");
} // Initializing static elements, associates the label names with their values
DRESSES hashtable will be indexing using the key 129.99 to value Dessy for example. Given the error you see with it expecting a double and getting a string, that would suggest you are providing it with "Dessy", and wanting the number 129.99 returned. If you want to give it the name and get the number, than swap what you have in the put command; key, value is the order. If it is by number to get the name (which means you could run into conflict since you can only have one key of a given value), you need to cast the input to a Double before requesting the get from the hashtable. The Double class has a static .parseDouble on it, so you can give it a string and have it return a Double.
As for Item, I don't see an Item class, but nothing here indicates how you convert a String into an Item.