Bloquear chamadas de paginas pela URL

Bom dia… tenho um projeto para fins de (estudos), e nele possuo pagina de login de usuario com metodos de verificacao no banco MYSQL, e outra pagina chamada adiciona-contato.jsp Que tem os campos para add contatos… Esta tudo funcionando perfeitamente até entao… Mas tipo, se acesso o projeto http://localhost:8080/Agenda/adiciona-contato.jsp sem mesmo LOGAR… ele passa diretao pra essa pagina… ouvi dizer e procurei saber que SERVLETS podem fazer esse servico pra mim… mas nao encontrei algo claro…
lembrando que se coloco o endereco http://localhost:8080/Agenda ele vai na pagina de login, usuario informa, vai la no banco e verifica, se tudo correto, abre mensagem de exito, senao, informa q login esta errado… O que quero mesmo é passar por login, depois para adiciona contatos, sem alguem ir no navegador e mudar de cara a URL… tipo controle de paginas…
alguem tem alguma sugestao? ou exemplo pratico?

esse é um problema WEB.

onde uma Servlet centralizadora resolve isso de uma maneira mais correta.

porém…

você deve testar se o usuário está em uma sessão, cookie e etc para ai sim a página ser exibida. o que pode ser feito no próprio JSP.

caro aecio vc… sou meio q novato em java web… vc teria algum exemplo? tipo acho q vendo algum daria pra ter mais nocao do que vc disse…ou algo no web xml que configuro pra resolver isso etc… Deu pra sacar um poco mas nao sei como iniciar pra fazer…

você conhece o conceito de sessão ??

velho, até onde to estudando nao cheguei ai nao viu… ce acha que sem conhecimento de SESSAO nao vai pra frente nao? nesse meu caso?

não tem.

esse tipo de coisa é tratado com sessões.

dê uma lida sobre o assunto. vai te ajudar nos porquês disso!

Na minha opinião o mais correto a ser feito e utilizar um Filtro para interceptar as requisições a páginas privadas que necessite de login, e o mesmo deve fazer a verificação se existe um usuário na sessão ou não.
Caso haja um usuário na sessão segue normalmente tua aplicação, caso não a página seria redirecionada para a tela de login.
Att,

blz vou dar uma olhada sobre… obrigado por hora… :slight_smile:

pois é jweib, acabei de ler algo aki… tipo ve se ta mais ou menus no caminho … crio uma classe que implenta um filtro, dai no webxml crio o mapeamento com os filter etc …?

É isso ai mesmo… Na Classe que vc implementar a Filter vc terá um método chamado de doFilter.
Faz uma implementação pra ele mais ou menos assim.!

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
	HttpServletRequest request2 = (HttpServletRequest) request;
	HttpServletResponse response2 = (HttpServletResponse) response;
	if(request2.getSession().getAttribute("usuario") != null){
		chain.doFilter(request, response);
	}else{
		response2.sendRedirect(request2.getContextPath());
	}
}

certo … ja clareou bastante as ideias… entao irei testar no meu projeto e posto assim que tiver exito… Obrigado até o momento cara…