Mascarar endereço

10 respostas
J

Pessoal uma ajuda

Tenho uma pagina jsp nem existe uma link que abre um arquivo

<'a href=“306622_<%=tx_login%>.exe”>teste

queria mascarar o endereço, pois ele ele vai aparecer no browser e outro pessoa pode mudar e ativar outro usuario

10 Respostas

G

Sinceramente, tentei mas não consegui entender nada.

J

esse link na verdade abri um arquivo xml

a href="/shared/files/Tiss/download/sp/306622_<%=tx_login%>.xml">Download da chave de ativação

ou seja na hora que eu clicar no link ele abrirá esse arquivo no proprio browser:

http://www.meusite.com.br/shared/files/Tiss/download/sp/306622_5831.xml

se o cara quiser mudar o tx_login no browser ele pode ativar a conta de outro usuario

entendeu?

P

ja pensou em fazer em java script?

ficaria mais o menos assim:

<a href="#" onclick="window.open('link.xml', 'janela', ' location=no')"/>

se eu nao mi engano o location=no desabilita a barra de enderecos, se nao for o location procura no google sobre a funcao javascript window.open que vc vai descobrir qual a propriedade certa.

isso ajuda?

J

Cria um servlet que retorna o xml.

Exemplo:

package app;

public class ChaveAtivacaoServlet extends HttpServlet {
   public void doGet(HttpServletRequest req, HttpServletResponse res){   
      String login = //obtem esse tal de tx_login

      File arq = new File(getServletContext().getRealPath("/shared/files/Tiss/download/sp/306622_"+login+".xml"));

      res.setContentType("text/xml");
      res.setHeader("Content-Disposition", "attachment; filename=chave_ativacao.xml");

      OutputStream out = res.getOutputStream();

      InputStream in = new FileInputStream(arq);
     
      int b;

      while((b = in.read())>-1){
         out.write(b);         
      }

      in.close();
      out.close();
   }
}

web.xml

<servlet>
   <servlet-name>ChaveAtivacao</servlet-name>
   <servlet-class>app.ChaveAtivacaoServlet</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>ChaveAtivacao</servlet-name>
   <url-pattern>/chave_ativacao.xml</url-pattern>
</servlet-mapping>
<a href="/chave_ativacao.xml">Download da chave de ativação</a>
P

jairelton,

que massa nem sabia que dava de mapear servlets desse jeito, a duvida não é minha mas essa solução é muito boa.

valew

G

Boa dica, o url-pattern pode ser mapeado para qualquer path.

P

Esse /chave_ativacao.xml significa que ele vai gerar esse arquivo dinamicamente é isso?

J

Significa que ao chamar a url /chave_ativacao.xml, você estará chamando o servlet, que poderia fazer qualquer coisa, mas que nesse caso está lendo um arquivo e escrevendo na resposta.

P

pow… blz 100% entendido.

P
Criado 10 de abril de 2008
Ultima resposta 11 de abr. de 2008
Respostas 10
Participantes 4