package dk.daoas.daoadresseservice; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dk.daoas.daoadresseservice.SearchResult.Status; /** * Servlet implementation class SearchServlet */ @WebServlet({ "/SearchServlet", "/search" }) public class SearchServlet extends HttpServlet { private static final long serialVersionUID = 1L; String getUtf8(String str) throws UnsupportedEncodingException { return new String( str.getBytes("iso-8859-1"), "UTF-8"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { AdressSearch search = (AdressSearch) this.getServletContext().getAttribute("search"); request.setCharacterEncoding("UTF-8"); String brugerid = request.getParameter("brugerid"); String postnr = request.getParameter("postnr"); String adresseStr = getUtf8( request.getParameter("adresse") ); //System.out.println (">" + postnr + " | " + adresseStr); SearchResult result = search.search(postnr, adresseStr); StringBuilder sb = new StringBuilder(); sb.append(""); if (result.status == Status.STATUS_OK) { sb.append("ok"); sb.append("").append(result.address.rute).append(""); sb.append("").append(result.address.koreliste).append(""); sb.append("").append(result.address.kommunekode).append(""); sb.append("").append(result.address.vejkode).append(""); sb.append("").append(result.address.dbkBane).append(""); //Extra information sb.append("").append(result.address.daekningsType).append(""); sb.append("").append(result.address.distributor).append(""); sb.append("").append(result.address.extAfstand).append(""); } else { sb.append("error"); sb.append("").append( result.status ).append(""); } sb.append(""); response.setContentType("text/xml; charset=UTF-8"); response.getWriter().print( sb ); } }