Refresh em servlet

3 respostas
MarcosOLIVEIRA

ola pessoal

estou com problema. preciso dar refresh em um mapa do google toda vez que um dado for entrado no banco de dados. na verdade so preciso pegar as novas coodenadas para criar um novo ponto de acordo com o cliente selecionado.

para isso criei uma servlet que cria uma html dinamica usando o Printwriter.

  1. seria possivel somente reinstanciar o ponto? se sim como? o refersh somente em uma parte da html?

desde ja agrdeço :smiley:

3 Respostas

Naruffy

Sim, tem como, utilize ajax e javascript, quando a sua requisição ajax estiver completa, no caso o seu servlet, pegue o resultado do response e por javascript atualize o ponto na página.

[]s

MarcosOLIVEIRA

como faço isso?? realmente to sem a minima ideia…

olha so a minha servlet

public class GerarMapa extends HttpServlet {
	private static final long serialVersionUID = 1L;
	String altura;
	Conexao conexao;
	int i = 0;
	String largura;
	String lon; 
	String lat;
	String distanciamapa = "7";
	String codigoDet;
    public GerarMapa() {
        super();
        conexao = new Conexao();
        conexao.conecta();
       
    }
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		 
		 codigoDet = request.getParameter("codigo");
		 conexao.executeSQL("SELECT * from dbtech.rastreamento where codigo = "+codigoDet);
		   
		 	try{
				 conexao.resultset.last();
				 lat = conexao.resultset.getString("latitude");
				 lon = conexao.resultset.getString("longitude");
			}catch(SQLException ex){
			 
		 	}
		 
		 
		 PrintWriter out = response.getWriter();
		 
		 out.print("<!DOCTYPE html \"-//W3C//DTD XHTML 1.0 Strict//EN\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
		 out.print("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
		 out.print("<head>");
		 out.print("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>");
		 out.print("<title>SIMDECON</title>");
		 out.print("<script type=\"text/javascript\"");
		 out.print("src=\"http://www.google.com/jsapi?key=ABQIAAAAA9C2SACLwi7EF-\"></script>");
		 out.print("<script type=\"text/javascript\">");
		 out.print("google.load(\"maps\", \"2\");");
		 out.print("google.load(\"search\", \"1\");");
		 out.print("function initialize() {");
		 out.print("var mapa = new GMap2(document.getElementById(\"mapa\"));");
		 out.print("var ponto = new GLatLng("+lat+", "+lon+");");
		 out.print("var marker1 = new GMarker(ponto);");
		 out.print("mapa.addControl(new GMapTypeControl());");
		 out.print("mapa.addControl(new GSmallMapControl);");
		 out.print("mapa.setCenter(new google.maps.LatLng("+lat+", "+lon+"),"+distanciamapa+");");
		 out.print("mapa.addOverlay(marker1);");
		 out.print("var searchControl = new google.search.SearchControl();");
		 out.print("searchControl.addSearcher(new google.search.WebSearch());");
		 out.print("searchControl.addSearcher(new google.search.NewsSearch());");
		 out.print("searchControl.draw(document.getElementById(\"searchcontrol\"));");
		 out.print("}");
		 out.print("google.setOnLoadCallback(initialize);");
		 out.print("</script>");
		 out.print("</head>");
		 out.print("<body>");
		 out.print("<div align=\"center\"  id=\"mapa\" style=\"width: 600px; height: 500px\"></div>");
		 out.print(""+i);
		 out.print("</body>");
		 out.print("</html>");
		 
		response.setHeader("Refresh", "5");
			
		
		
	}

como posso mexer somente no ponteiro no refresh sem reinstanciar o mapa todo???

vlw

MarcosOLIVEIRA

aew pessaol aguem por favor me ajude!!

como faço pra re-instaciar somente o ponto???
seria possivel usar o printwriter para recriar somente o ponto no html??

Criado 22 de junho de 2009
Ultima resposta 24 de jun. de 2009
Respostas 3
Participantes 2