[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: [reverbel-sma] O que consegui fazer do Servlet



Olá Cabral!

On 9/17/06, Cleiton Cabral <ccabrals@xxxxxxxxxx> wrote:
Bom, pelo menos eu consegui fazer o deploy do servlet e fazer aparecer uma página pedindo usuário e senha.
O método do servlet que devolveu a página inicial é o "service", que devolve um form com um campo de código de usuário, senha e um botão "Login".
Só uma opinião: acho que não é legal sobrescrever diretamente o método
"service". Na classe HttpServlet, esse método é responsável por
identificar o método HTTP (que pode ser GET, POST, PUT ou DELETE) e
chamar o método correspondente (doGet, do Post, etc). Sobrescrevendo o
método "service", todas as requisições HTTP (independente do método)
serão tratadas pelo mesmo código (que você escreveu). No caso da sua
página de login, acho que o ideal seria sobrescrever o método "doGet".

Agora tenho umas dúvidas (nunca mexi antes com servlets, então...):

1) Imagino que quando o usuário clicar em "Login", o método 'doPost' deverá ser chamado no Servlet, mas como fazer isso?
Seu formulário deve ser definido (em HTML) mais ou menos assim:

<form method="post" action="/algumCaminho/meuServlet">

Quando esse formulário for enviado, o método "doPost" do servlet que
está em "/algumCaminho/meuServlet" será chamado (pelo contêiner). A
configuração de qual servlet tratará as requisições HTTP enviadas a
"/algumCaminho/meuServlet" é definida no arquivo "web.xml".

2) Como pegar os parâmetros que vieram da página?
Os métodos doGet e doPost recebem um HttpServletRequest como
parâmetro. Essa classe possui um método "getParameter", que recebe
como argumento o nome do campo do formulário.

3) Um servlet pode servir diversos clientes, mas como vou criar um stateful session bean do aluno para cada cliente???
Acredito que nesse caso seja conveniente associar seu cliente com uma
sessão. Você pode então criar um stateful session bean do aluno e
guardá-lo (na realidade você vai guardar o proxy do bean) na sessão.

Sugiro que o professor fale mais sobre servlets em uma aula ou não sei se vou conseguir fazer isso funcionar...

Alguém tem alguma dica?

Abraços,

Cabral.
Se não fui claro em algum ponto, por favor escreva novamente Cabral.

Bom trabalho!

--
Ivan Neto