<select name="City">
<option value="" selected="selected"></option>
<% String[] cityData = (String [])request.getAttribute("city");
String select = (String)request.getAttribute("City");
System.out.println(select);
for(String city: cityData){
System.out.print(select == city);
if(select == city){%>selected<%}%>><%= city %></option>
<%} %>
</select>
почему, если (выберите == город) всегда ложь? я очень уверен, что в избранном и городе есть одна и та же строка.