Pessoal, estou com uma duvida quanto a conexao separada da
apresentacao(jsp).
Atualmente coloco a conexao ao banco e a consulta na pagina jsp. Tudo
misturado . Uma bagunca com o html.

Eu utilizo o pool de conexoes do resin. Entao quando um usuário abre a
página, entao uma conexao eh criada para ele.
 Eu nao estou conseguindo entender eh como que , criando uma classe de
conexao, eu mantenha a conexao para cada usuario, e aproveitando o pool do
resin.
 Assim, dois usuario fazem duas pesquisas diferentes na mesma pagina
consulta.jsp, e como que eu trato a conexao de cada um?

obrigado pela atencao.


----- Original Message -----
From: "Marcelo Figueiredo" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 16, 2001 2:51 PM
Subject: Re: [java-list] Separar_a_parte_de_BD(persistência)_da_aplicação


> Oi fernando,
>
> no caso de operações como inclusão eu consigo visualizar, mas em operações
> de consulta que retornam vários valores eu não vejo como resgatar as
> informações.
>
> Ex: select * from users
> depois de fazer um select eu vou trabalhando com os campos que me
interessam
>
> rs.getString("username");
> rs.getString("nome_completo");
>
> Caso eu for fazer isto por esta solução eu teria que fazer um método para
> cada "tipo de get"?(get username) get nome, etc
>
>
> Agradeço desde já sua atenção.
>
>
>
> ----- Original Message -----
> From: "Fernando Luiz" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, August 15, 2001 17:17
> Subject: Re: [java-list] Separar_a_parte_de_BD(persistência)_da_aplicação
>
>
> > Exato, construa classes de acesso a dados, que façam
> > somente isso, Ex. select na tabela x, o método acessa
> > faz o select e te retorna o resultado esperado, a
> > classe de regra de negócio é quem vai chamar esta
> > classe que acessa o DB passando para ela parametros e
> > recebendo o resultado da pesquisa ou da inclusão
> > qualquer que for a operação.
> >
> > Assim o commit ficaria na classe de negocio
> > controlando todo o fluxo de operações sql.
> >
> > Sem mais
> >
> > Fernando
> > --- Marcelo Figueiredo <[EMAIL PROTECTED]>
> > wrote:
> > > Oi pessoal,
> > >
> > > algum tempo atrás o Marcel envio um e-mail para
> > > lista com dicas para separar
> > > a parte de persistência, e no momento estou tentando
> > > implementar uma classe
> > > que faça isso. Gostaria de saber se alguém tem
> > > outros exemplos ou
> > > informações de como implementar isso.
> > >
> > >
> > > ----- Original Message -----
> > > From: "Marcel Efraim Sakamoto"
> > > <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Friday, June 08, 2001 18:23
> > > Subject: RES: [java-list] Dúvida sobre Statements
> > > com Servlets
> > >
> > >
> > > > Carlos,
> > > >
> > > > antes de mais nada, se eu fosse você colocaria
> > > toda a lógica de conexão e
> > > > demais operações com bancos de dados numa outra
> > > classe, ou seja, fora do
> > > > servlet. Isso vai lhe ajudar bastante,
> > > principalmente na hora de dar
> > > > manutenção.
> > > >
> > > > Se você fizer isso, a parte que abre a conexão com
> > > o banco de dados
> > > poderia
> > > > ficar no construtor dessa classe, por exemplo.
> > > Depois, você pode criar um
> > > > método que execute seu Statement utilizando a
> > > conexão que foi aberta
> > > (logo,
> > > > o objeto Connection deve ser um atributo - de
> > > preferência privado - dessa
> > > > classe).
> > > >
> > > > Por exemplo:
> > > > package <seu pacote>;
> > > >
> > > > import java.sql.Connection;
> > > > import java.sql.Statement;
> > > > import java.sql.ResultSet;
> > > >
> > > > public class DBAccess {
> > > >
> > > > private static final String DRIVER = <driver do
> > > seu banco de dados>;
> > > > private static final String URL = <url para
> > > acessar as tabelas>;
> > > > private Connection conn;
> > > >
> > > > public DBAccess() {
> > > > // Registra o driver
> > > >             Class.forName(DRIVER).newInstance();
> > > > // Abre a conexão com o banco de dados
> > > >             conn =
> > > DriverManager.getConnection(URL);
> > > > }
> > > >
> > > > public <seu retorno> getX() {
> > > > String query = <sua query>;
> > > >
> > > > ResultSet rs = null;
> > > >   Statement stmt = null;
> > > > try {
> > > > stmt = this.conn.createStatement();
> > > >     rs = stmt.executeQuery(query);
> > > >
> > > > return <o objeto que você quiser>;
> > > >     } catch(Exception e) {
> > > >             // Tratamento da exceção
> > > > } finally {
> > > > try {
> > > > if (rs != null) {
> > > > rs.close();
> > > > }
> > > >
> > > > if (stmt != null) {
> > > > stmt.close();
> > > > }
> > > > } catch (Exception ignored) {
> > > > // Não tem problema se não conseguiu fechar o
> > > statement
> > > > } finally {
> > > > rs = null;
> > > > stms  null;
> > > > }
> > > > }
> > > > }
> > > > }
> > > >
> > > > Aí então, no servlet, quando você quiser obter
> > > executar alguma query,
> > > basta
> > > > criar uma instância dessa classe e chamar o método
> > > correto. Mas não se
> > > > esqueça de criar um método que feche a conexão. É
> > > melhor que seja num
> > > método
> > > > separado (ao invés de colocar no próprio método
> > > que executa a query)
> > > porque
> > > > se você for fazer outra operação com o banco de
> > > dados, não é necessário
> > > > criar uma nova conexão, você pode aproveitar a que
> > > está aberta.
> > > >
> > > > Como você pôde perceber isso não tem nada a ver
> > > com servlets.
> > > >
> > > > Espero que lhe seja útil.
> > > >
> > > > Marcel.
> > > >
> > > > -----Mensagem original-----
> > > > De: Carlos Campos [mailto:[EMAIL PROTECTED]]
> > > > Enviada em: sexta-feira, 8 de junho de 2001 12:50
> > > > Para: '[EMAIL PROTECTED]'
> > > > Assunto: RES: [java-list] Dúvida sobre Statements
> > > com Servlets
> > > >
> > > >
> > > > Oi Eduardo,
> > > >
> > > > Primeiramente agradeço pela resposta, mas só pra
> > > FECHAR:
> > > >
> > > > - Abre-se sempre a conexão no método init() e
> > > abre-se sempre o statement
> > > no
> > > > método service(), CORRETO ???
> > > >
> > > > []'s
> > > >
> > > > Carlos Campos
> > > >
> > > > > ----- Mensagem original -----
> > > > > De: Eduardo de S. Bernardino
> > > [SMTP:[EMAIL PROTECTED]]
> > > > > Enviada em: Sexta-feira, 8 de Junho de 2001
> > > 11:05
> > > > > Para: [EMAIL PROTECTED]
> > > > > Assunto: Re: [java-list] Dúvida sobre Statements
> > > com Servlets
> > > > >
> > > > > Respondendo às dúvidas, segundo o pouco que
> > > conheço. Não sei se é a
> > > melhor
> > > > > solução, mas ai vai:
> > > > >
> > > > > 1 - )  A conexão se for do tipo static será
> > > acessada por todas as
> > > > > instâncias
> > > > > do servlet. Ou seja você e outro carinha que
> > > acessarem o mesmo servlet
> > > de
> > > > > máquinas diferentes utilizarão a mesma conexão.
> > > Para conectar com o
> > > banco
> > > > > de
> > > > > dados, o ideal é no construtor ou no método
> > > init() mesmo.
> > > > >
> > > > > 2 - ) Abra os statements sempre antes da
> > > execução do comando SQL e
> > > feche-o
> > > > > após a conclusão ou obtenção de dados do
> > > resultset.
> > > > >
> > > > > 3 - ) Acesso simultâneo é complicado, deve-se
> > > utilizar pool de conexões
> > > > > para
> > > > > evitar erros no acesso simultâneo. Tente
> > > encontrar exemplos nos sites de
> > > > > servlets disponíveis na net:
> > > > >
> > > > > www.servlets.com
> > > > > www.coolservlets.com
> > > > >
> > > > > Agora não sei se é possível acesso concorrente
> > > com o Access. Ele não é
> > > um
> > > > > banco muito indicado para aplicações com
> > > servlets. Tente buscar alguma
> > > > > documentação a respeito disto. Quem sabe...
> > > > >
> > > > > Abraços
> > > > > Eduardo
> > > > > eCorp
> > > > > [EMAIL PROTECTED]
> > > > >
> > > > >
> > > > > ----- Original Message -----
> > > > > From: "Carlos Campos" <[EMAIL PROTECTED]>
> > > > > To: "'Lista SouJava'" <[EMAIL PROTECTED]>
> > >
> > === message truncated ===
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Make international calls for as low as $.04/minute with Yahoo! Messenger
> > http://phonecard.yahoo.com/
> >
> > ------------------------------ LISTA
SOUJAVA ----------------------------
> > http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> > dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para
[EMAIL PROTECTED]
>
> -------------------------------------------------------------------------
> >
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a