Jsp, Servlet e Bd - Duvida!

Se possivel gostaria que alguém pudesse me ajudar … vamos supor que eu criei uma tabela no meu banco de dados chamada Autenticacao. Nela foram inseridos o Login e Senha … e já apresentam valores cadastrados.

Agora eu gostaria de chamar os Logins (valores) gravados em toda essa tabela, logo quando clicasse encima do Login da pessoa, forma-se novamente outra página com a senha da pessoa… eu faria um servlet e chamaria um Jsp? Se for isso é esse o problema, acho que não estou ainda bem situado quanto a isso nesta parte de Java.

Se alguém puder dar uma mão, por algumas linhas de códigos, explicar alguma coisa, eu realmente agradeco.

Não entendi oq tu quer, é uma página de login simples?

não não, esqueça a verdadeira aplicação para isso … apenas foi um exemplo do modelo que nao intendi … vou citar outro exemplo

tenho num banco de dados uma tabela chamada pessoas com nome e sobrenome… como poderia fazer para chamar todos os nomes da pessoa e serem lançados em um Jsp e em seguida o nome da pessoa é linkado a algo que quando clico aparece os sobrenomes em outra página … entendeu agora ? cito assim apenas para intendimento próprio, não há aplicações nos exemplos que citei.

Queria salientar que o principal interece meu aqui é saber como buscar dados do banco de dados e jogar na tela (jsp) e cada nome ser um link que irá para outro html (jsp) … acredito que alguem pode me ajudar aqui, qualquer coisa é bem vinda =D obrigado

java.sql.Connection conn = openConnection();
PreparedStatement ps = conn.prepareStatement("select nome from pessoa");
ResultSet rs = ps.executeQuery();
       
while(rs.next())
{ %>
  <a href="SEU_JSP.jsp"><%= (String) rs.getString(nome)%></a>
<%} 

ajudou amigo ???

:wink:

concerteza ajuda =] vlw mesmo pela atenção cara!

vou tentar aqui … =D

e agora se eu quisesse que através de um Servlet foce instanciado a conexão de banco de dados para passar os parametros a uma pagina Jsp como poderia fazer?

quais parametros tu ta querendo passar pro Jsp? a conexão feita no servlet??? :roll:

nao, no caso o servlet pegaria alguns dados, por exemplo, todos os logins, como poderia passar no jsp isso? fazendo a interação, servlet - jsp

no servlet:

request.setAttribute( "logins", listaDeLogins );

request.getServletDispatcher( /seuJsp.jsp ).forward( request, response );

no jsp:

ArrayList logins = request.getAttribute( "logins" );

Agora no caso se tivesse um JavaBeans no meio … vamos supor

tenho um Jsp com dois campos de cadastrar (Login e Senha) para completalos … logo um Servlet faria o cadastro no banco de dados … porém precisaria passar da os atributos da Jsp para o Beans para depois passar ao Servlet …

No Jsp faria assim ?

<jsp:useBean id = "Cadastro" class = "beans.Cadastro">
<jsp.setProperty login = "Cadastro" property = "login" value = login />
<jsp.setProperty senha = "Cadastro" property = "senha" value = senha />
</jsp.useBean> 

Onde Cadastro é o nome da minha classe que tem a parte Lógica. Porém estou com difuldade de intender isso … se o botão do Jsp chama um Servlet como o Beans vai setar os nomes? …

Não sei se fui claro

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia:

vc terá isso:

login.jsp

<form name="loginForm" action="cadastro">
Usuario: <input type="text" name="username"/>
Senha: <input type="password" name="password"/>
</form>

CadastroServlet

String username = request.getAttribute( "username" );
String password = request.getAttribute( "password" );

User user = new User( username, password );

if ( user existe no banco )
   request.getSession().setAttribute( "user", user );

else
   request.getRequestDispatcher( "login.jsp" ).forward( request, respose );

ai nos teus JSPs tu pode fazer uma verificação no inicio:

doStuff.jsp

<%
   if ( session.getAttribute( "user" ) == null ) // usuario nao esta logado
	   request.getRequestDispatcher( "login.jsp" ).forward( request, respose );
%>

é o exemplo mais simples de checagem de login q conheço, nao usei tags nem nada, refine como quiser, taglibs, EL, velocity … enjoy =p

Realmente fico muito grato pelas ajudas matheus … agora querendo tirar uma outra duvida =P

[code]String username = request.getAttribute( "username" );
String password = request.getAttribute( "password" );

User user = new User( username, password );

if ( user existe no banco )
request.getSession().setAttribute( "user", user );

else
request.getRequestDispatcher( "login.jsp" ).forward( request, respose ); [/code]

no lugar do else eu poderia por metodos get? no caso getLogin, getSenha para ser enviado para o banco de dados nesta parte? ou tem algum tipo de cliche? que logo após ser criado um objeto para passagem ao banco de dados?

[/code]

[quote=“omega_tiger”]Realmente fico muito grato pelas ajudas matheus … agora querendo tirar uma outra duvida =P

[code]String username = request.getAttribute( "username" );
String password = request.getAttribute( "password" );

User user = new User( username, password );

if ( user existe no banco )
request.getSession().setAttribute( "user", user );

else
request.getRequestDispatcher( "login.jsp" ).forward( request, respose ); [/code]

no lugar do else eu poderia por metodos get? no caso getLogin, getSenha para ser enviado para o banco de dados nesta parte? ou tem algum tipo de cliche? que logo após ser criado um objeto para passagem ao banco de dados?

[/code][/quote]

não entendi exatamente a sua dúvida, esse else é pra dizer q o cara nao tem uma conta no sistema, tu pode por ex redirecionar pra uma tela de cadastro…

minha duvida seria assim, para gravar os dados no banco … basicamente é isso

então sua dúvida é com JDBC, da uma olhada em artigos e tutoriais aqui no Portal Java, tu vai encontrar bastante conteúdo sobre… :joia: