Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Como usar links no JSP para abrir uma nova página

Boa Noite pessoal =D

Vamos la! Estou fazendo um projeto próprio de servlets, apenas para consolidar os conhecimentos adquiridos no curso. Estou tentando fazer um link (no meu JSP) abrir uma nova página seja ela HTML ou JSP, mas não faço ideia de como fazer isso. E não quero usar um botão para abrir uma nova página, sei que posso optar por um botão por causa da action na qual eu posso passar a servlet mas eu quero fazer isso com um link, estou tentando usar a tag mas não da certo:

Realize Login ou <a href="/WEB-INF/views/cadastrar.html" >Cadastre-se</a>

Eu pensei em dar um jeito de usar alguma servlet que encaminhe para a página, mas enfim, como faço isso?? Aproveitando, meu index.jsp está na pasta Web-Content, é o lugar correto? Pois eu segui o modelo do projeto "gerenciador" do curso em si. Enfim fica essas duas dúvidas. Se alguém puder me ajudar serei extremamente grato!

=D

6 respostas

Bom dia Tiago, como diz a boa prática, devemos esconder nossas páginas dentro do WEB-INF, como um link é uma chamada de um navegador, este não pode enxergar nossa pasta WEB-INF. Então o ideal seria sempre ter uma lógica que chama nossas páginas, assim seu link precisa bater em uma servlet que irá executar uma ação e despachar para uma página, mesmo que a servlet só faça isso.

Dai entra a ideia de ter apenas uma servlet e está mandar para nossas classes de lógica, e daí vieram também as ideias de frameworks!

Espero ter ajudado!

Boa tarde Guilherme Mais ou menos como eu imaginei mesmo, deu uma "clareada" aqui, obrigado. Mas assim que surgiu minha outra dúvida, como eu faço (na prática) o link bater na Servlet ??

solução!

Que bom Tiago!

Você mapeia uma servlet por exemplo:

@WebServlet("/teste")
public class TesteServlet {}

E chama esse "teste" no teu link como se fosse uma jsp ou html, mas por não ter extensão ele vai procurar algum componente mapeado como esse nome.

Tenta ai e me fala se deu certo!

Ahhhh entendi, ficaria algo como:

 <a href="/teste" >Cadastre-se</a>

Isso? A dúvida é na sintaxe mesmo, só não consigo testar agora pois não estou em casa mesmo!

Isso mesmo Tiago, perfeito

Muito obrigado professor! =D