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.beans.SearchResult; import dk.daoas.daoadresseservice.beans.SearchResult.Status; /** * Servlet implementation class SearchServlet */ @WebServlet(urlPatterns = { "/SearchServlet", "/search" }, loadOnStartup = 1) public class SearchServlet extends HttpServlet { @Override public void init() throws ServletException { super.init(); System.out.println("SearchServlet loaded"); } 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 { //long start1 = System.currentTimeMillis(); 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") ); String adresseStr = request.getParameter("adresse"); //long start2 = System.currentTimeMillis(); SearchResult result = search.search(postnr, adresseStr); //long start3 = System.currentTimeMillis(); 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 ); /* long start4 = System.currentTimeMillis(); System.out.println("Servlet2:" + (start2-start1) ); System.out.println("Servlet3:" + (start3-start1) ); System.out.println("Servlet4:" + (start4-start1) ); */ } }