Executar um servlet em uma nova window

Olá

Estou tentando executar um servlet em uma nova window e não estou conseguindo. o que é curioso é que se eu colocar o servlet no action ele funciona só não funciona quando tento executa-lo no evento onclick de um bottão , nesse html tenho dois buttons um faz submit do servlet e funciona o outro chama a nowa windows.

Alguem poderia me dizer o que está errado ?

Grato

Teste de Servlet na newwindows


[size=18][/size]

Olá.

Tente colocar o seguinte javascript no seu evento Onclick do botao:

OnClick=“javascript:document.NomeDoSeuForm.target=’_blank’;”

[]´s

não funcionou

O que eh uma “nowawindows”?

veja bem…o seu jsp, ou html, tem que ser mais ou menos assim

<form name="Exemplo" action="/exemplos/servlet/Ex" method="post">

e no evento OnClick do botao deve ter o seguinte valor:

OnClick="javascript:document.Exemplo.target='_blank';" 

ficou assim :

Teste de Servlet na newwindows


assim ele funciona mais onde ele vai abrir a new windows ?

Teste de Servlet na newwindows


Veja bem…

na propriedade name do form vc tem que colocar o nome com aspas, ex: name=“janela”

e no evento vc tem que colocar aspas tb, ex: onclick=“javascript:document.janela.target=’_blank’;”

Quando vc clicar no botao, será aberta uma nova janela e o form será submetido pra lá. Lembrando que este botao tem que ser do tipo submit.

Acho que vc não leu direito a minha dúvida.
pois nesse meu onclick=window.open
ele abre uma nova window executando o servlet, porem dá o seguinte erro:
HTTP Status 405 - HTTP method GET is not supported by this URL

agora se eu fizer um submit normal ou da maneira que vc me mandou ele funciona na mesa window. e não é isto que eu desejo eu desejo executa-lo na new window.

Leia sobre as diferencas de doGet() e doPost() na API de Servlets. :wink:

Seguinte…

Na aplicação que eu fiz aqui, eu coloco na pag JSP o method = “post”. No servlet, eu chamo o metodo doGet dentro do metodo doPost. Desse jeito da certo.

Pra que tanto javascript soh para setar o target do form? Basta colocar o atributo “target=_blank” e pronto :wink:

<form name="blah" action="bleh" target="blih">

Rafael

[quote=teteorp]Seguinte…

Na aplicação que eu fiz aqui, eu coloco na pag JSP o method = “post”. No servlet, eu chamo o metodo doGet dentro do metodo doPost. Desse jeito da certo.[/quote]

Eh bem mais simples voce sobrescrever o metodo service() apenas, ao inves do doGet() e doPost() :slight_smile:

Rafael

Boa…

Vivendo e aprendendo… :stuck_out_tongue:

Valeu pela dica.

[]´s

Duvida:

Se eu sobrescrever o metodo service() apenas, o que eu chamo no method do formulario jsp??? coloco method = “service” ??? ou method = “get”, ou ainda, method = “post” ?? :?: :?: :?:

Value Rafael ficou uma maravilha!!! :lol:

GET ou POST, qq um dos 2. O service() faz pra vc o trabalho de verificar se eh post ou get

Rafael