Desculpem pela pergunta boba, pois to iniciando em servlets. Eu gostaria de saber como eu faço pra pegar os dados digitados num form html através de um servlet, com jsp eu sei fazer mas servlet não. Eu não gostaria de ter que ficar gerando html dentro do próprio servlet. E como eu enviaria uma página de resposta em jsp, tipo, dados cadastrados com sucesso?
Html e servlets
5 Respostas
Luiz, lembre-se que, no fundo no fundo, um JSP é um Servlet 
Então, pegar variáveis de um form postado é a mesma coisa:
request.getParameter(String)
Dê uma olhada nas classes HttpServlet, HttpServletRequest e HttpServletResponse. Tem algumas diferencas do JSP, mas a maior parte é a mesma coisa 
Ai Carlos, fiz as modificações que vc disse e deu certo!!!
Agora uma outra dúvida boba.
Eu uitlizei request.getParameter(String) como vc disse pra pegar os digitados no meu form html, até ai tudo bem, deu certo!!Ai eu fiz umas pequenas alterações. Eu criei um Bean que continha os tres campos do meu formulário, nom meu servlet eu modifiquei as linhas
nome = request.getParameter(“nome”);
sobrenome = request.getParameter(“sobrenome”);
telefone = request.getParameter(“telefone”);
para
mb.setNome(request.getParameter(“nome”));
mb.setSobrenome(request.getParameter(“sobrenome”));
mb.setTelefone(request.getParameter(“telefone”));
até aki correu tudo bem, consegui apresentrar os dados através do html gerado pelo servlet e tudo. Agora vem o problema!!
Eu fiz esse programinha aki pra testar se estava gravando o conteudo no Bean e não deu certo, aparecia assim quando eu executava Nome : null,
porque isso acontece?
public class TestaBean{
Bean mb = new Bean();
public TestaBean(){
System.out.println("Nome: "+mb.getNome());
}
public static void main(String args[]){
System.exit(0);
}
}
Fala amigo,
isso ai acontece porque vc ainda nao setou nada no seu objeto. Quando criamos um objeto todos os seus atributos sao iniciados automaticamente para o seus valores default:
sendo tipos primitivos:
byte, short, int, long, float, double: 0
boolean: false
char: '\u0000'
e tipos de referencia:
todos objetos: null
Como a String eh uma Classe, todos os atributos do tipo String sao iniciados para null, mude seu programa para algo como:
public class TestaBean{
public static void main(String args[]){
Bean mb = new Bean();
md.setNome("Jose");
System.out.println("nome=" + md.getNome());
}
}
isso deve ser a saida: nome=Jose
Abraco,
Oi Cláudio, acontece que eu setei a string nome no Bean pelo meu servlet dessa maneira
mb.setNome(request.getParameter(“nome”));
e eu queria recuperar o conteudo no programinha que vc viu acima, só que como eu disse, ele da null na hora de executar
Ola Luiz,
eu te adicionei no meu icq, o meu eh 20166109.
Acho que vc esta fazendo uma pequena confusao quanto a persistencia das informacoes.
Quando vc cria um Objeto os dados contidos nele so irao viver ateh que o metodo onde ele se encontra termine sua execucao ou ele saia de escopo, assim um servico contido na JVM chamado GC (Garbage Collection) limpa a memoria e a deixa disponivel.
O que vc pode fazer eh armazenar o conteudo desse objeto em um banco ou arquivo e ler depois.
Quando vc esta desenvolvendo em web com java vc pode escolher os seguintes escopos para persistencia:
1)request: todas as variaveis com esse escopo vivem apenas durante a requisicao e depois sao coletadas pelo GC. Logo se vc criar um Objeto nesse escopo assim que a requisicao acabar esse objeto nao ira existir mais.
2)session: todas as variaveis armazenadas no session vivem ateh que alguem as retirem de-la. Se vc nao as retirar na mao depois de um certo tempo ocorre um time-out e elas sao retiradas automaticamente e coletadas pelo GC.
3)servico de persistencia: (database, file system, ldap e etc) quando vc persiste as informacoes em algum desses meios vc podera as recuperar depois, mesmo que o micro seja desligado.
static tb nao funcionaria pq as apps estao em JVMs diferentes.
Logo a unica maneira de fazer com que informacoes que vieram da web sejam vistas por uma aplicacao stan-alone e se utilizar da persistencia do item 3, ou seja, a servlet armazena os dados em um database por exemplo, e a sua aplicao stand alone recupera depois.
Daria para fazer a comunicacao entre seu servlet e a app stand alone por meio de programacao distribuida tb, mas isso eh pra outro dia 
Entao, eh por isso que quando vc roda a servlet tudo vai bem, e depois que vc roda a sua app stand alone o dado nao aparece, eh que um nem sabe da existencia do outro. Eh como se no seu micro estivesse rodando o tomcat e vc setasse os dados como fez e eu rodasse a sua app stand alone aqui na minha casa.
Por que vc nao segue a sua linha de aprendizado fazendo algum sisteminha simples, nos meus cursos costumo escrever uma agendinha de contatos, eh bem simples e da para ilustrar bem os conceitos
Acho que eh isso,
Abraco,